LCOV - code coverage report
Current view: top level - /mnt/build/buildbot/bld/build-lcov/gcc - insn-recog-6.cc (source / functions) Coverage Total Hit
Test: gcc.info Lines: 91.6 % 3837 3513
Test Date: 2026-02-28 14:20:25 Functions: 95.5 % 201 192
Legend: Lines:     hit not hit

            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        78400 : pattern5 (rtx x1, machine_mode i1)
      57              : {
      58        78400 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
      59        78400 :   int res ATTRIBUTE_UNUSED;
      60        78400 :   if (!register_operand (operands[0], i1)
      61        76501 :       || GET_MODE (x1) != i1
      62        76501 :       || !register_operand (operands[1], i1)
      63       149194 :       || !register_operand (operands[2], i1))
      64        14883 :     return -1;
      65              :   return 0;
      66              : }
      67              : 
      68              : int
      69       231679 : pattern12 (rtx x1, machine_mode i1)
      70              : {
      71       231679 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
      72       231679 :   int res ATTRIBUTE_UNUSED;
      73       231679 :   if (!register_operand (operands[0], i1)
      74       231510 :       || GET_MODE (x1) != i1
      75       231510 :       || !register_operand (operands[1], i1)
      76       411103 :       || !nonimmediate_operand (operands[2], i1))
      77       180816 :     return -1;
      78              :   return 0;
      79              : }
      80              : 
      81              : int
      82        16580 : pattern17 (rtx x1, int *pnum_clobbers)
      83              : {
      84        16580 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
      85        16580 :   rtx x2;
      86        16580 :   int res ATTRIBUTE_UNUSED;
      87        16580 :   if (pnum_clobbers == NULL)
      88              :     return -1;
      89        16580 :   x2 = XEXP (x1, 1);
      90        16580 :   if (GET_MODE (x2) != E_QImode)
      91              :     return -1;
      92        16556 :   return pattern16 (x1); /* [-1, 1] */
      93              : }
      94              : 
      95              : int
      96          105 : pattern23 (rtx x1, machine_mode i1)
      97              : {
      98          105 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
      99          105 :   rtx x2;
     100          105 :   int res ATTRIBUTE_UNUSED;
     101          105 :   if (!register_operand (operands[0], i1)
     102          105 :       || GET_MODE (x1) != i1)
     103              :     return -1;
     104          105 :   x2 = XEXP (x1, 0);
     105          105 :   switch (GET_MODE (x2))
     106              :     {
     107            0 :     case E_HFmode:
     108            0 :       if (!register_operand (operands[1], E_V8HFmode))
     109              :         return -1;
     110              :       return 0;
     111              : 
     112           74 :     case E_SFmode:
     113           74 :       if (!nonimmediate_operand (operands[1], E_V4SFmode))
     114              :         return -1;
     115              :       return 1;
     116              : 
     117           31 :     case E_DFmode:
     118           31 :       if (!nonimmediate_operand (operands[1], E_V2DFmode))
     119              :         return -1;
     120              :       return 2;
     121              : 
     122              :     default:
     123              :       return -1;
     124              :     }
     125              : }
     126              : 
     127              : int
     128       210387 : pattern27 (rtx x1)
     129              : {
     130       210387 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     131       210387 :   rtx x2, x3, x4, x5;
     132       210387 :   int res ATTRIBUTE_UNUSED;
     133       210387 :   x2 = XEXP (x1, 0);
     134       210387 :   operands[0] = x2;
     135       210387 :   x3 = XEXP (x1, 1);
     136       210387 :   x4 = XEXP (x3, 0);
     137       210387 :   operands[1] = x4;
     138       210387 :   x5 = XEXP (x3, 1);
     139       210387 :   operands[2] = x5;
     140       210387 :   switch (GET_MODE (operands[0]))
     141              :     {
     142           74 :     case E_V32HFmode:
     143           74 :       return pattern26 (x3, 
     144           74 : E_V32HFmode); /* [-1, 0] */
     145              : 
     146          132 :     case E_V16HFmode:
     147          132 :       if (pattern26 (x3, 
     148              : E_V16HFmode) != 0)
     149              :         return -1;
     150              :       return 1;
     151              : 
     152          914 :     case E_V8HFmode:
     153          914 :       if (pattern26 (x3, 
     154              : E_V8HFmode) != 0)
     155              :         return -1;
     156              :       return 2;
     157              : 
     158            0 :     case E_V16SFmode:
     159            0 :       if (pattern26 (x3, 
     160              : E_V16SFmode) != 0)
     161              :         return -1;
     162              :       return 3;
     163              : 
     164         1497 :     case E_V8SFmode:
     165         1497 :       if (pattern26 (x3, 
     166              : E_V8SFmode) != 0)
     167              :         return -1;
     168              :       return 4;
     169              : 
     170          719 :     case E_V4SFmode:
     171          719 :       if (pattern26 (x3, 
     172              : E_V4SFmode) != 0)
     173              :         return -1;
     174              :       return 5;
     175              : 
     176           22 :     case E_V8DFmode:
     177           22 :       if (pattern26 (x3, 
     178              : E_V8DFmode) != 0)
     179              :         return -1;
     180              :       return 6;
     181              : 
     182           38 :     case E_V4DFmode:
     183           38 :       if (pattern26 (x3, 
     184              : E_V4DFmode) != 0)
     185              :         return -1;
     186              :       return 7;
     187              : 
     188          720 :     case E_V2DFmode:
     189          720 :       if (pattern26 (x3, 
     190              : E_V2DFmode) != 0)
     191              :         return -1;
     192              :       return 8;
     193              : 
     194          403 :     case E_V32QImode:
     195          403 :       if (pattern3 (x3, 
     196              : E_V32QImode) != 0)
     197              :         return -1;
     198              :       return 9;
     199              : 
     200          754 :     case E_V16HImode:
     201          754 :       if (pattern3 (x3, 
     202              : E_V16HImode) != 0)
     203              :         return -1;
     204              :       return 10;
     205              : 
     206          924 :     case E_V8SImode:
     207          924 :       if (pattern3 (x3, 
     208              : E_V8SImode) != 0)
     209              :         return -1;
     210              :       return 11;
     211              : 
     212          202 :     case E_V16SImode:
     213          202 :       if (pattern3 (x3, 
     214              : E_V16SImode) != 0)
     215              :         return -1;
     216              :       return 12;
     217              : 
     218         3208 :     case E_V4SImode:
     219         3208 :       if (!register_operand (operands[0], E_V4SImode)
     220         3208 :           || GET_MODE (x3) != E_V4SImode)
     221              :         return -1;
     222              :       return 13;
     223              : 
     224         1442 :     case E_V8DImode:
     225         1442 :       if (pattern3 (x3, 
     226              : E_V8DImode) != 0)
     227              :         return -1;
     228              :       return 14;
     229              : 
     230          585 :     case E_V4DImode:
     231          585 :       if (pattern3 (x3, 
     232              : E_V4DImode) != 0)
     233              :         return -1;
     234              :       return 15;
     235              : 
     236          180 :     case E_V2DImode:
     237          180 :       if (pattern3 (x3, 
     238              : E_V2DImode) != 0)
     239              :         return -1;
     240              :       return 16;
     241              : 
     242          207 :     case E_V64QImode:
     243          207 :       if (pattern3 (x3, 
     244              : E_V64QImode) != 0)
     245              :         return -1;
     246              :       return 17;
     247              : 
     248         6126 :     case E_V16QImode:
     249         6126 :       if (!register_operand (operands[0], E_V16QImode)
     250         6126 :           || GET_MODE (x3) != E_V16QImode)
     251              :         return -1;
     252              :       return 18;
     253              : 
     254          142 :     case E_V32HImode:
     255          142 :       if (pattern3 (x3, 
     256              : E_V32HImode) != 0)
     257              :         return -1;
     258              :       return 19;
     259              : 
     260         7968 :     case E_V8HImode:
     261         7968 :       if (!register_operand (operands[0], E_V8HImode)
     262         7968 :           || GET_MODE (x3) != E_V8HImode)
     263              :         return -1;
     264              :       return 20;
     265              : 
     266          222 :     case E_V32BFmode:
     267          222 :       if (pattern12 (x3, 
     268              : E_V32BFmode) != 0)
     269              :         return -1;
     270              :       return 21;
     271              : 
     272          258 :     case E_V16BFmode:
     273          258 :       if (pattern12 (x3, 
     274              : E_V16BFmode) != 0)
     275              :         return -1;
     276              :       return 22;
     277              : 
     278          218 :     case E_V8BFmode:
     279          218 :       if (pattern12 (x3, 
     280              : E_V8BFmode) != 0)
     281              :         return -1;
     282              :       return 23;
     283              : 
     284              :     default:
     285              :       return -1;
     286              :     }
     287              : }
     288              : 
     289              : int
     290       134204 : pattern51 (rtx x1, int *pnum_clobbers)
     291              : {
     292       134204 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     293       134204 :   rtx x2, x3, x4, x5;
     294       134204 :   int res ATTRIBUTE_UNUSED;
     295       134204 :   if (pnum_clobbers == NULL)
     296              :     return -1;
     297       134198 :   x2 = XEXP (x1, 1);
     298       134198 :   x3 = XEXP (x2, 1);
     299       134198 :   if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
     300              :     return -1;
     301       116116 :   x4 = XEXP (x1, 0);
     302       116116 :   if (GET_CODE (x4) != REG
     303       116116 :       || REGNO (x4) != 17)
     304              :     return -1;
     305       116116 :   x5 = XEXP (x2, 0);
     306       116116 :   return pattern50 (x5); /* [-1, 3] */
     307              : }
     308              : 
     309              : int
     310          298 : pattern56 (rtx x1)
     311              : {
     312          298 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     313          298 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
     314          298 :   int res ATTRIBUTE_UNUSED;
     315          298 :   x2 = XEXP (x1, 0);
     316          298 :   x3 = XEXP (x2, 0);
     317          298 :   x4 = XEXP (x3, 0);
     318          298 :   operands[1] = x4;
     319          298 :   if (!register_operand (operands[1], E_V4HImode))
     320              :     return -1;
     321          298 :   x5 = XEXP (x3, 1);
     322          298 :   operands[2] = x5;
     323          298 :   if (!register_mmxmem_operand (operands[2], E_V4HImode))
     324              :     return -1;
     325          290 :   x6 = XEXP (x1, 1);
     326          290 :   x7 = XEXP (x6, 0);
     327          290 :   x8 = XEXP (x7, 0);
     328          290 :   if (!rtx_equal_p (x8, operands[1]))
     329              :     return -1;
     330          290 :   x9 = XEXP (x7, 1);
     331          290 :   if (!rtx_equal_p (x9, operands[2]))
     332              :     return -1;
     333              :   return 0;
     334              : }
     335              : 
     336              : int
     337         3256 : pattern61 (rtx x1)
     338              : {
     339         3256 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     340         3256 :   rtx x2, x3, x4;
     341         3256 :   int res ATTRIBUTE_UNUSED;
     342         3256 :   x2 = XEXP (x1, 0);
     343         3256 :   operands[0] = x2;
     344         3256 :   x3 = XEXP (x1, 1);
     345         3256 :   x4 = XVECEXP (x3, 0, 0);
     346         3256 :   operands[1] = x4;
     347         3256 :   switch (GET_MODE (operands[0]))
     348              :     {
     349          221 :     case E_SFmode:
     350          221 :       if (!register_operand (operands[0], E_SFmode)
     351          221 :           || GET_MODE (x3) != E_SFmode
     352          442 :           || !nonimmediate_operand (operands[1], E_SFmode))
     353           31 :         return -1;
     354              :       return 0;
     355              : 
     356          620 :     case E_HFmode:
     357          620 :       if (!register_operand (operands[0], E_HFmode)
     358          620 :           || GET_MODE (x3) != E_HFmode
     359         1240 :           || !nonimmediate_operand (operands[1], E_HFmode))
     360            0 :         return -1;
     361              :       return 1;
     362              : 
     363              :     default:
     364              :       return -1;
     365              :     }
     366              : }
     367              : 
     368              : int
     369        14002 : pattern70 (rtx x1)
     370              : {
     371        14002 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     372        14002 :   int res ATTRIBUTE_UNUSED;
     373        14002 :   switch (GET_MODE (operands[0]))
     374              :     {
     375         3501 :     case E_HImode:
     376         3501 :       if (!register_operand (operands[0], E_HImode)
     377         3501 :           || GET_MODE (x1) != E_HImode)
     378              :         return -1;
     379         3447 :       switch (GET_MODE (operands[1]))
     380              :         {
     381          856 :         case E_V16QImode:
     382          856 :           if (!register_operand (operands[1], E_V16QImode)
     383          856 :               || !nonimmediate_operand (operands[2], E_V16QImode))
     384           87 :             return -1;
     385              :           return 0;
     386              : 
     387         1398 :         case E_V16HImode:
     388         1398 :           if (!register_operand (operands[1], E_V16HImode)
     389         1398 :               || !nonimmediate_operand (operands[2], E_V16HImode))
     390          151 :             return -1;
     391              :           return 1;
     392              : 
     393         1193 :         case E_V16SImode:
     394         1193 :           if (!register_operand (operands[1], E_V16SImode)
     395         1193 :               || !nonimmediate_operand (operands[2], E_V16SImode))
     396          165 :             return -1;
     397              :           return 2;
     398              : 
     399              :         default:
     400              :           return -1;
     401              :         }
     402              : 
     403         6909 :     case E_QImode:
     404         6909 :       if (!register_operand (operands[0], E_QImode)
     405         6909 :           || GET_MODE (x1) != E_QImode)
     406              :         return -1;
     407         6712 :       switch (GET_MODE (operands[1]))
     408              :         {
     409         1559 :         case E_V8HImode:
     410         1559 :           if (!register_operand (operands[1], E_V8HImode)
     411         1559 :               || !nonimmediate_operand (operands[2], E_V8HImode))
     412           83 :             return -1;
     413              :           return 3;
     414              : 
     415         1303 :         case E_V8SImode:
     416         1303 :           if (!register_operand (operands[1], E_V8SImode)
     417         1303 :               || !nonimmediate_operand (operands[2], E_V8SImode))
     418          112 :             return -1;
     419              :           return 4;
     420              : 
     421          931 :         case E_V4SImode:
     422          931 :           if (!register_operand (operands[1], E_V4SImode)
     423          931 :               || !nonimmediate_operand (operands[2], E_V4SImode))
     424           87 :             return -1;
     425              :           return 5;
     426              : 
     427         1160 :         case E_V8DImode:
     428         1160 :           if (!register_operand (operands[1], E_V8DImode)
     429         1160 :               || !nonimmediate_operand (operands[2], E_V8DImode))
     430          120 :             return -1;
     431              :           return 6;
     432              : 
     433         1039 :         case E_V4DImode:
     434         1039 :           if (!register_operand (operands[1], E_V4DImode)
     435         1039 :               || !nonimmediate_operand (operands[2], E_V4DImode))
     436           98 :             return -1;
     437              :           return 7;
     438              : 
     439          720 :         case E_V2DImode:
     440          720 :           if (!register_operand (operands[1], E_V2DImode)
     441          720 :               || !nonimmediate_operand (operands[2], E_V2DImode))
     442           68 :             return -1;
     443              :           return 8;
     444              : 
     445              :         default:
     446              :           return -1;
     447              :         }
     448              : 
     449              :     default:
     450              :       return -1;
     451              :     }
     452              : }
     453              : 
     454              : int
     455          168 : pattern100 (rtx x1)
     456              : {
     457          168 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     458          168 :   rtx x2, x3, x4, x5;
     459          168 :   int res ATTRIBUTE_UNUSED;
     460          168 :   x2 = XEXP (x1, 1);
     461          168 :   if (GET_MODE (x2) != E_CCZmode)
     462              :     return -1;
     463          168 :   x3 = XEXP (x1, 0);
     464          168 :   if (GET_CODE (x3) != REG
     465          168 :       || REGNO (x3) != 17
     466          336 :       || GET_MODE (x3) != E_CCZmode)
     467              :     return -1;
     468          168 :   x4 = XVECEXP (x2, 0, 0);
     469          168 :   operands[0] = x4;
     470          168 :   x5 = XVECEXP (x2, 0, 1);
     471          168 :   operands[1] = x5;
     472          168 :   if (!memory_operand (operands[1], E_XImode))
     473              :     return -1;
     474          168 :   switch (GET_MODE (operands[0]))
     475              :     {
     476            0 :     case E_SImode:
     477            0 :       if (!register_operand (operands[0], E_SImode))
     478              :         return -1;
     479              :       return 0;
     480              : 
     481          168 :     case E_DImode:
     482          168 :       if (!register_operand (operands[0], E_DImode))
     483              :         return -1;
     484              :       return 1;
     485              : 
     486              :     default:
     487              :       return -1;
     488              :     }
     489              : }
     490              : 
     491              : int
     492         1525 : pattern111 (rtx x1, machine_mode i1)
     493              : {
     494         1525 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     495         1525 :   rtx x2;
     496         1525 :   int res ATTRIBUTE_UNUSED;
     497         1525 :   if (!nonimmediate_operand (operands[0], i1)
     498         1525 :       || GET_MODE (x1) != i1)
     499              :     return -1;
     500         1525 :   x2 = XEXP (x1, 0);
     501         1525 :   if (GET_MODE (x2) != i1
     502         1525 :       || !x86_64_general_operand (operands[1], i1))
     503          203 :     return -1;
     504              :   return 0;
     505              : }
     506              : 
     507              : int
     508        48250 : pattern116 (rtx x1)
     509              : {
     510        48250 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     511        48250 :   rtx x2, x3, x4;
     512        48250 :   int res ATTRIBUTE_UNUSED;
     513        48250 :   x2 = XEXP (x1, 0);
     514        48250 :   x3 = XEXP (x2, 0);
     515        48250 :   operands[1] = x3;
     516        48250 :   x4 = XEXP (x2, 1);
     517        48250 :   operands[2] = x4;
     518        48250 :   switch (GET_MODE (operands[0]))
     519              :     {
     520        39648 :     case E_DImode:
     521        39648 :       if (!register_operand (operands[0], E_DImode)
     522        39648 :           || GET_MODE (x1) != E_DImode)
     523              :         return -1;
     524        39549 :       switch (GET_MODE (x2))
     525              :         {
     526        36474 :         case E_SImode:
     527        36474 :           if (!nonimmediate_operand (operands[1], E_SImode))
     528              :             return -1;
     529              :           return 0;
     530              : 
     531         2111 :         case E_QImode:
     532         2111 :           if (!nonimmediate_operand (operands[1], E_QImode)
     533         2111 :               || !nonmemory_operand (operands[2], E_QImode))
     534           40 :             return -1;
     535              :           return 1;
     536              : 
     537          964 :         case E_HImode:
     538          964 :           if (!nonimmediate_operand (operands[1], E_HImode)
     539          964 :               || !nonmemory_operand (operands[2], E_QImode))
     540            4 :             return -1;
     541              :           return 2;
     542              : 
     543              :         default:
     544              :           return -1;
     545              :         }
     546              : 
     547         7921 :     case E_SImode:
     548         7921 :       if (!register_operand (operands[0], E_SImode)
     549         7921 :           || GET_MODE (x1) != E_SImode
     550        15842 :           || !nonmemory_operand (operands[2], E_QImode))
     551          132 :         return -1;
     552         7789 :       switch (GET_MODE (x2))
     553              :         {
     554         6025 :         case E_QImode:
     555         6025 :           if (!nonimmediate_operand (operands[1], E_QImode))
     556              :             return -1;
     557              :           return 3;
     558              : 
     559         1764 :         case E_HImode:
     560         1764 :           if (!nonimmediate_operand (operands[1], E_HImode))
     561              :             return -1;
     562              :           return 4;
     563              : 
     564              :         default:
     565              :           return -1;
     566              :         }
     567              : 
     568              :     default:
     569              :       return -1;
     570              :     }
     571              : }
     572              : 
     573              : int
     574         9327 : pattern133 (rtx x1, machine_mode i1, machine_mode i2)
     575              : {
     576         9327 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     577         9327 :   rtx x2;
     578         9327 :   int res ATTRIBUTE_UNUSED;
     579         9327 :   if (!register_operand (operands[0], i1)
     580         9327 :       || GET_MODE (x1) != i1)
     581              :     return -1;
     582         8924 :   x2 = XEXP (x1, 0);
     583         8924 :   if (GET_MODE (x2) != i1
     584         8924 :       || !vector_operand (operands[1], i1)
     585         8826 :       || !vector_operand (operands[2], i1)
     586         8348 :       || !nonimm_or_0_operand (operands[3], i1)
     587        16986 :       || !register_operand (operands[4], i2))
     588         1300 :     return -1;
     589              :   return 0;
     590              : }
     591              : 
     592              : int
     593         3646 : pattern145 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
     594              : {
     595         3646 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     596         3646 :   rtx x2;
     597         3646 :   int res ATTRIBUTE_UNUSED;
     598         3646 :   if (!nonimmediate_operand (operands[0], i1)
     599         3646 :       || GET_MODE (x1) != i1)
     600              :     return -1;
     601         3646 :   x2 = XEXP (x1, 0);
     602         3646 :   if (GET_MODE (x2) != i1
     603         3646 :       || !register_operand (operands[1], i3)
     604         3645 :       || !nonimm_or_0_operand (operands[2], i1)
     605         7279 :       || !register_operand (operands[3], i2))
     606          229 :     return -1;
     607              :   return 0;
     608              : }
     609              : 
     610              : int
     611         7124 : pattern152 (rtx x1, machine_mode i1, machine_mode i2)
     612              : {
     613         7124 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     614         7124 :   rtx x2;
     615         7124 :   int res ATTRIBUTE_UNUSED;
     616         7124 :   if (!register_operand (operands[0], i1)
     617         7124 :       || GET_MODE (x1) != i1)
     618              :     return -1;
     619         6798 :   x2 = XEXP (x1, 0);
     620         6798 :   if (GET_MODE (x2) != i1
     621         6798 :       || !nonimmediate_operand (operands[1], i1)
     622         6747 :       || !nonimm_or_0_operand (operands[2], i1)
     623        13403 :       || !register_operand (operands[3], i2))
     624          642 :     return -1;
     625              :   return 0;
     626              : }
     627              : 
     628              : int
     629         5587 : pattern154 (rtx x1)
     630              : {
     631         5587 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     632         5587 :   rtx x2, x3, x4, x5;
     633         5587 :   int res ATTRIBUTE_UNUSED;
     634         5587 :   x2 = XEXP (x1, 0);
     635         5587 :   x3 = XEXP (x2, 0);
     636         5587 :   operands[1] = x3;
     637         5587 :   x4 = XEXP (x1, 1);
     638         5587 :   operands[2] = x4;
     639         5587 :   x5 = XEXP (x1, 2);
     640         5587 :   operands[3] = x5;
     641         5587 :   switch (GET_MODE (operands[0]))
     642              :     {
     643          457 :     case E_V16SImode:
     644          457 :       return pattern152 (x1, 
     645              : E_V16SImode, 
     646          457 : E_HImode); /* [-1, 0] */
     647              : 
     648          446 :     case E_V8SImode:
     649          446 :       if (pattern152 (x1, 
     650              : E_V8SImode, 
     651              : E_QImode) != 0)
     652              :         return -1;
     653              :       return 1;
     654              : 
     655          398 :     case E_V4SImode:
     656          398 :       if (pattern152 (x1, 
     657              : E_V4SImode, 
     658              : E_QImode) != 0)
     659              :         return -1;
     660              :       return 2;
     661              : 
     662          534 :     case E_V8DImode:
     663          534 :       if (pattern152 (x1, 
     664              : E_V8DImode, 
     665              : E_QImode) != 0)
     666              :         return -1;
     667              :       return 3;
     668              : 
     669          500 :     case E_V4DImode:
     670          500 :       if (pattern152 (x1, 
     671              : E_V4DImode, 
     672              : E_QImode) != 0)
     673              :         return -1;
     674              :       return 4;
     675              : 
     676          406 :     case E_V2DImode:
     677          406 :       if (pattern152 (x1, 
     678              : E_V2DImode, 
     679              : E_QImode) != 0)
     680              :         return -1;
     681              :       return 5;
     682              : 
     683          484 :     case E_V64QImode:
     684          484 :       if (pattern152 (x1, 
     685              : E_V64QImode, 
     686              : E_DImode) != 0)
     687              :         return -1;
     688              :       return 6;
     689              : 
     690          486 :     case E_V16QImode:
     691          486 :       if (pattern152 (x1, 
     692              : E_V16QImode, 
     693              : E_HImode) != 0)
     694              :         return -1;
     695              :       return 7;
     696              : 
     697          558 :     case E_V32QImode:
     698          558 :       if (pattern152 (x1, 
     699              : E_V32QImode, 
     700              : E_SImode) != 0)
     701              :         return -1;
     702              :       return 8;
     703              : 
     704          449 :     case E_V32HImode:
     705          449 :       if (pattern152 (x1, 
     706              : E_V32HImode, 
     707              : E_SImode) != 0)
     708              :         return -1;
     709              :       return 9;
     710              : 
     711          500 :     case E_V16HImode:
     712          500 :       if (pattern153 (x1, 
     713              : E_V16HImode) != 0)
     714              :         return -1;
     715              :       return 10;
     716              : 
     717          369 :     case E_V8HImode:
     718          369 :       if (pattern152 (x1, 
     719              : E_V8HImode, 
     720              : E_QImode) != 0)
     721              :         return -1;
     722              :       return 11;
     723              : 
     724              :     default:
     725              :       return -1;
     726              :     }
     727              : }
     728              : 
     729              : int
     730          564 : pattern168 (rtx x1)
     731              : {
     732          564 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     733          564 :   rtx x2, x3, x4, x5;
     734          564 :   int res ATTRIBUTE_UNUSED;
     735          564 :   x2 = XEXP (x1, 0);
     736          564 :   operands[0] = x2;
     737          564 :   x3 = XEXP (x1, 1);
     738          564 :   x4 = XVECEXP (x3, 0, 0);
     739          564 :   operands[1] = x4;
     740          564 :   x5 = XVECEXP (x3, 0, 1);
     741          564 :   operands[2] = x5;
     742          564 :   switch (GET_MODE (operands[0]))
     743              :     {
     744          308 :     case E_V32QImode:
     745          308 :       return pattern158 (x3, 
     746          308 : E_V32QImode); /* [-1, 0] */
     747              : 
     748            0 :     case E_V16QImode:
     749            0 :       if (pattern158 (x3, 
     750              : E_V16QImode) != 0)
     751              :         return -1;
     752              :       return 1;
     753              : 
     754          256 :     case E_V64QImode:
     755          256 :       if (pattern158 (x3, 
     756              : E_V64QImode) != 0)
     757              :         return -1;
     758              :       return 2;
     759              : 
     760              :     default:
     761              :       return -1;
     762              :     }
     763              : }
     764              : 
     765              : int
     766          199 : pattern177 (rtx x1)
     767              : {
     768          199 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     769          199 :   rtx x2, x3;
     770          199 :   int res ATTRIBUTE_UNUSED;
     771          199 :   x2 = XEXP (x1, 1);
     772          199 :   if (GET_MODE (x2) != E_V4SImode)
     773              :     return -1;
     774          199 :   x3 = XEXP (x1, 0);
     775          199 :   operands[0] = x3;
     776          199 :   return pattern176 (x2); /* [-1, 0] */
     777              : }
     778              : 
     779              : int
     780         1442 : pattern181 (rtx x1)
     781              : {
     782         1442 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     783         1442 :   rtx x2, x3, x4, x5, x6;
     784         1442 :   int res ATTRIBUTE_UNUSED;
     785         1442 :   x2 = XEXP (x1, 0);
     786         1442 :   operands[0] = x2;
     787         1442 :   x3 = XEXP (x1, 1);
     788         1442 :   x4 = XVECEXP (x3, 0, 0);
     789         1442 :   operands[1] = x4;
     790         1442 :   x5 = XVECEXP (x3, 0, 1);
     791         1442 :   operands[2] = x5;
     792         1442 :   x6 = XVECEXP (x3, 0, 2);
     793         1442 :   operands[3] = x6;
     794         1442 :   if (!const_0_to_255_operand (operands[3], E_SImode))
     795              :     return -1;
     796         1442 :   switch (GET_MODE (operands[0]))
     797              :     {
     798          150 :     case E_V32HImode:
     799          150 :       return pattern64 (x3, 
     800          150 : E_V32HImode); /* [-1, 0] */
     801              : 
     802          168 :     case E_V16SImode:
     803          168 :       if (pattern64 (x3, 
     804              : E_V16SImode) != 0)
     805              :         return -1;
     806              :       return 1;
     807              : 
     808          183 :     case E_V8DImode:
     809          183 :       if (pattern64 (x3, 
     810              : E_V8DImode) != 0)
     811              :         return -1;
     812              :       return 2;
     813              : 
     814          144 :     case E_V16HImode:
     815          144 :       if (pattern64 (x3, 
     816              : E_V16HImode) != 0)
     817              :         return -1;
     818              :       return 3;
     819              : 
     820          162 :     case E_V8SImode:
     821          162 :       if (pattern64 (x3, 
     822              : E_V8SImode) != 0)
     823              :         return -1;
     824              :       return 4;
     825              : 
     826          172 :     case E_V4DImode:
     827          172 :       if (pattern64 (x3, 
     828              : E_V4DImode) != 0)
     829              :         return -1;
     830              :       return 5;
     831              : 
     832          141 :     case E_V8HImode:
     833          141 :       if (pattern64 (x3, 
     834              : E_V8HImode) != 0)
     835              :         return -1;
     836              :       return 6;
     837              : 
     838          156 :     case E_V4SImode:
     839          156 :       if (pattern64 (x3, 
     840              : E_V4SImode) != 0)
     841              :         return -1;
     842              :       return 7;
     843              : 
     844          166 :     case E_V2DImode:
     845          166 :       if (pattern64 (x3, 
     846              : E_V2DImode) != 0)
     847              :         return -1;
     848              :       return 8;
     849              : 
     850              :     default:
     851              :       return -1;
     852              :     }
     853              : }
     854              : 
     855              : int
     856          386 : pattern195 (rtx x1)
     857              : {
     858          386 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     859          386 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
     860          386 :   rtx x10, x11, x12, x13, x14, x15, x16, x17;
     861          386 :   rtx x18, x19, x20, x21, x22, x23, x24, x25;
     862          386 :   rtx x26, x27, x28, x29, x30, x31, x32, x33;
     863          386 :   rtx x34, x35, x36, x37;
     864          386 :   int res ATTRIBUTE_UNUSED;
     865          386 :   x2 = XEXP (x1, 0);
     866          386 :   x3 = XEXP (x2, 1);
     867          386 :   x4 = XVECEXP (x3, 0, 0);
     868          386 :   if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
     869              :     return -1;
     870          386 :   x5 = XVECEXP (x3, 0, 1);
     871          386 :   if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
     872              :     return -1;
     873          386 :   x6 = XVECEXP (x3, 0, 2);
     874          386 :   if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
     875              :     return -1;
     876          386 :   x7 = XVECEXP (x3, 0, 3);
     877          386 :   if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
     878              :     return -1;
     879          386 :   x8 = XVECEXP (x3, 0, 4);
     880          386 :   if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 16])
     881              :     return -1;
     882          386 :   x9 = XVECEXP (x3, 0, 5);
     883          386 :   if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 18])
     884              :     return -1;
     885          386 :   x10 = XVECEXP (x3, 0, 6);
     886          386 :   if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 20])
     887              :     return -1;
     888          386 :   x11 = XVECEXP (x3, 0, 7);
     889          386 :   if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 22])
     890              :     return -1;
     891          386 :   x12 = XVECEXP (x3, 0, 8);
     892          386 :   if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
     893              :     return -1;
     894          386 :   x13 = XVECEXP (x3, 0, 9);
     895          386 :   if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 10])
     896              :     return -1;
     897          386 :   x14 = XVECEXP (x3, 0, 10);
     898          386 :   if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 12])
     899              :     return -1;
     900          386 :   x15 = XVECEXP (x3, 0, 11);
     901          386 :   if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 14])
     902              :     return -1;
     903          386 :   x16 = XVECEXP (x3, 0, 12);
     904          386 :   if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 24])
     905              :     return -1;
     906          386 :   x17 = XVECEXP (x3, 0, 13);
     907          386 :   if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 26])
     908              :     return -1;
     909          386 :   x18 = XVECEXP (x3, 0, 14);
     910          386 :   if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 28])
     911              :     return -1;
     912          386 :   x19 = XVECEXP (x3, 0, 15);
     913          386 :   if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 30])
     914              :     return -1;
     915          386 :   x20 = XEXP (x1, 1);
     916          386 :   x21 = XEXP (x20, 1);
     917          386 :   if (XVECLEN (x21, 0) != 16)
     918              :     return -1;
     919          386 :   x22 = XVECEXP (x21, 0, 0);
     920          386 :   if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
     921              :     return -1;
     922          386 :   x23 = XVECEXP (x21, 0, 1);
     923          386 :   if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
     924              :     return -1;
     925          386 :   x24 = XVECEXP (x21, 0, 2);
     926          386 :   if (x24 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
     927              :     return -1;
     928          386 :   x25 = XVECEXP (x21, 0, 3);
     929          386 :   if (x25 != const_int_rtx[MAX_SAVED_CONST_INT + 7])
     930              :     return -1;
     931          386 :   x26 = XVECEXP (x21, 0, 4);
     932          386 :   if (x26 != const_int_rtx[MAX_SAVED_CONST_INT + 17])
     933              :     return -1;
     934          386 :   x27 = XVECEXP (x21, 0, 5);
     935          386 :   if (x27 != const_int_rtx[MAX_SAVED_CONST_INT + 19])
     936              :     return -1;
     937          386 :   x28 = XVECEXP (x21, 0, 6);
     938          386 :   if (x28 != const_int_rtx[MAX_SAVED_CONST_INT + 21])
     939              :     return -1;
     940          386 :   x29 = XVECEXP (x21, 0, 7);
     941          386 :   if (x29 != const_int_rtx[MAX_SAVED_CONST_INT + 23])
     942              :     return -1;
     943          386 :   x30 = XVECEXP (x21, 0, 8);
     944          386 :   if (x30 != const_int_rtx[MAX_SAVED_CONST_INT + 9])
     945              :     return -1;
     946          386 :   x31 = XVECEXP (x21, 0, 9);
     947          386 :   if (x31 != const_int_rtx[MAX_SAVED_CONST_INT + 11])
     948              :     return -1;
     949          386 :   x32 = XVECEXP (x21, 0, 10);
     950          386 :   if (x32 != const_int_rtx[MAX_SAVED_CONST_INT + 13])
     951              :     return -1;
     952          386 :   x33 = XVECEXP (x21, 0, 11);
     953          386 :   if (x33 != const_int_rtx[MAX_SAVED_CONST_INT + 15])
     954              :     return -1;
     955          386 :   x34 = XVECEXP (x21, 0, 12);
     956          386 :   if (x34 != const_int_rtx[MAX_SAVED_CONST_INT + 25])
     957              :     return -1;
     958          386 :   x35 = XVECEXP (x21, 0, 13);
     959          386 :   if (x35 != const_int_rtx[MAX_SAVED_CONST_INT + 27])
     960              :     return -1;
     961          386 :   x36 = XVECEXP (x21, 0, 14);
     962          386 :   if (x36 != const_int_rtx[MAX_SAVED_CONST_INT + 29])
     963              :     return -1;
     964          386 :   x37 = XVECEXP (x21, 0, 15);
     965          386 :   if (x37 != const_int_rtx[MAX_SAVED_CONST_INT + 31]
     966          386 :       || pattern194 (x1, 
     967              : E_V32HImode, 
     968              : E_V16HImode) != 0)
     969           24 :     return -1;
     970              :   return 0;
     971              : }
     972              : 
     973              : int
     974        42411 : pattern219 (rtx x1)
     975              : {
     976        42411 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     977        42411 :   int res ATTRIBUTE_UNUSED;
     978        42411 :   switch (GET_MODE (operands[0]))
     979              :     {
     980           19 :     case E_HImode:
     981           19 :       if (!register_operand (operands[0], E_HImode)
     982           19 :           || pattern217 (x1, 
     983              : E_HImode) != 0)
     984            0 :         return -1;
     985              :       return 0;
     986              : 
     987         4900 :     case E_SImode:
     988         4900 :       if (!register_operand (operands[0], E_SImode)
     989         4900 :           || pattern218 (x1, 
     990              : E_SImode) != 0)
     991           74 :         return -1;
     992              :       return 1;
     993              : 
     994        37472 :     case E_DImode:
     995        37472 :       if (!register_operand (operands[0], E_DImode)
     996        37472 :           || pattern218 (x1, 
     997              : E_DImode) != 0)
     998        12967 :         return -1;
     999              :       return 2;
    1000              : 
    1001              :     default:
    1002              :       return -1;
    1003              :     }
    1004              : }
    1005              : 
    1006              : int
    1007       799000 : pattern225 (rtx x1)
    1008              : {
    1009       799000 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1010       799000 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    1011       799000 :   rtx x10, x11;
    1012       799000 :   int res ATTRIBUTE_UNUSED;
    1013       799000 :   x2 = XVECEXP (x1, 0, 1);
    1014       799000 :   if (GET_CODE (x2) != SET)
    1015              :     return -1;
    1016       798927 :   x3 = XEXP (x2, 1);
    1017       798927 :   if (GET_CODE (x3) != UMOD)
    1018              :     return -1;
    1019       720847 :   x4 = XVECEXP (x1, 0, 0);
    1020       720847 :   x5 = XEXP (x4, 0);
    1021       720847 :   operands[0] = x5;
    1022       720847 :   x6 = XEXP (x4, 1);
    1023       720847 :   x7 = XEXP (x6, 0);
    1024       720847 :   operands[2] = x7;
    1025       720847 :   x8 = XEXP (x6, 1);
    1026       720847 :   operands[3] = x8;
    1027       720847 :   x9 = XEXP (x2, 0);
    1028       720847 :   operands[1] = x9;
    1029       720847 :   x10 = XEXP (x3, 0);
    1030       720847 :   if (!rtx_equal_p (x10, operands[2]))
    1031              :     return -1;
    1032       644357 :   x11 = XEXP (x3, 1);
    1033       644357 :   if (!rtx_equal_p (x11, operands[3]))
    1034              :     return -1;
    1035       632901 :   switch (GET_CODE (operands[3]))
    1036              :     {
    1037              :     case REG:
    1038              :     case SUBREG:
    1039              :     case MEM:
    1040              :       return 0;
    1041              : 
    1042        68778 :     case CONST_INT:
    1043        68778 :       return 1;
    1044              : 
    1045              :     default:
    1046              :       return -1;
    1047              :     }
    1048              : }
    1049              : 
    1050              : int
    1051       140467 : pattern235 (rtx x1)
    1052              : {
    1053       140467 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1054       140467 :   rtx x2, x3, x4, x5, x6;
    1055       140467 :   int res ATTRIBUTE_UNUSED;
    1056       140467 :   x2 = XVECEXP (x1, 0, 0);
    1057       140467 :   x3 = XEXP (x2, 0);
    1058       140467 :   if (GET_CODE (x3) != MEM)
    1059              :     return -1;
    1060        37370 :   x4 = XVECEXP (x1, 0, 1);
    1061        37370 :   if (GET_CODE (x4) != SET)
    1062              :     return -1;
    1063        37370 :   x5 = XEXP (x4, 1);
    1064        37370 :   if (GET_CODE (x5) != PLUS)
    1065              :     return -1;
    1066        17682 :   x6 = XEXP (x5, 1);
    1067        17682 :   if (GET_CODE (x6) != CONST_INT)
    1068         5590 :     return -1;
    1069              :   return 0;
    1070              : }
    1071              : 
    1072              : int
    1073       497013 : pattern244 (rtx x1)
    1074              : {
    1075       497013 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1076       497013 :   rtx x2, x3;
    1077       497013 :   int res ATTRIBUTE_UNUSED;
    1078       497013 :   x2 = XEXP (x1, 0);
    1079       497013 :   operands[1] = x2;
    1080       497013 :   x3 = XEXP (x1, 1);
    1081       497013 :   operands[2] = x3;
    1082       497013 :   switch (GET_CODE (operands[2]))
    1083              :     {
    1084          106 :     case CONST_VECTOR:
    1085          106 :       switch (GET_MODE (operands[0]))
    1086              :         {
    1087            2 :         case E_V32HImode:
    1088            2 :           return pattern243 (x1, 
    1089            2 : E_V32HImode); /* [-1, 0] */
    1090              : 
    1091           69 :         case E_V16SImode:
    1092           69 :           if (pattern243 (x1, 
    1093              : E_V16SImode) != 0)
    1094              :             return -1;
    1095              :           return 1;
    1096              : 
    1097            0 :         case E_V8DImode:
    1098            0 :           if (pattern243 (x1, 
    1099              : E_V8DImode) != 0)
    1100              :             return -1;
    1101              :           return 2;
    1102              : 
    1103              :         default:
    1104              :           return -1;
    1105              :         }
    1106              : 
    1107       477293 :     case CONST_INT:
    1108       477293 :       if (!const_0_to_255_not_mul_8_operand (operands[2], E_SImode)
    1109       218745 :           || !register_operand (operands[0], E_V1TImode)
    1110           36 :           || GET_MODE (x1) != E_V1TImode
    1111       477329 :           || !register_operand (operands[1], E_V1TImode))
    1112       477257 :         return -1;
    1113              :       return 3;
    1114              : 
    1115              :     default:
    1116              :       return -1;
    1117              :     }
    1118              : }
    1119              : 
    1120              : int
    1121       299744 : pattern262 ()
    1122              : {
    1123       299744 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1124       299744 :   int res ATTRIBUTE_UNUSED;
    1125       299744 :   switch (GET_MODE (operands[1]))
    1126              :     {
    1127          177 :     case E_HFmode:
    1128          177 :       if (!nonimmediate_operand (operands[1], E_HFmode))
    1129              :         return -1;
    1130              :       return 0;
    1131              : 
    1132        76280 :     case E_SFmode:
    1133        76280 :       if (!nonimmediate_operand (operands[1], E_SFmode))
    1134              :         return -1;
    1135              :       return 1;
    1136              : 
    1137       214344 :     case E_DFmode:
    1138       214344 :       if (!nonimmediate_operand (operands[1], E_DFmode))
    1139              :         return -1;
    1140              :       return 2;
    1141              : 
    1142              :     default:
    1143              :       return -1;
    1144              :     }
    1145              : }
    1146              : 
    1147              : int
    1148        38829 : pattern269 (rtx x1, int *pnum_clobbers)
    1149              : {
    1150        38829 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1151        38829 :   rtx x2, x3;
    1152        38829 :   int res ATTRIBUTE_UNUSED;
    1153        38829 :   if (!nonmemory_operand (operands[2], E_QImode))
    1154              :     return -1;
    1155        36875 :   x2 = XEXP (x1, 0);
    1156        36875 :   switch (GET_CODE (x2))
    1157              :     {
    1158        36871 :     case REG:
    1159        36871 :     case SUBREG:
    1160        36871 :     case MEM:
    1161        36871 :       operands[0] = x2;
    1162        36871 :       x3 = XEXP (x1, 1);
    1163        36871 :       return pattern0 (x3); /* [-1, 1] */
    1164              : 
    1165            4 :     case STRICT_LOW_PART:
    1166            4 :       res = pattern265 (x1, pnum_clobbers);
    1167            4 :       if (res >= 0)
    1168            4 :         return res + 2; /* [2, 3] */
    1169              :       return -1;
    1170              : 
    1171              :     default:
    1172              :       return -1;
    1173              :     }
    1174              : }
    1175              : 
    1176              : int
    1177         7083 : pattern282 (rtx x1, int *pnum_clobbers)
    1178              : {
    1179         7083 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1180         7083 :   rtx x2;
    1181         7083 :   int res ATTRIBUTE_UNUSED;
    1182         7083 :   switch (GET_MODE (operands[0]))
    1183              :     {
    1184          618 :     case E_SImode:
    1185          618 :       return pattern281 (x1); /* [-1, 1] */
    1186              : 
    1187         6268 :     case E_DImode:
    1188         6268 :       if (!register_operand (operands[0], E_DImode)
    1189         6268 :           || GET_MODE (x1) != E_DImode)
    1190              :         return -1;
    1191         6257 :       x2 = XEXP (x1, 0);
    1192         6257 :       switch (GET_MODE (x2))
    1193              :         {
    1194           40 :         case E_QImode:
    1195           40 :           if (!nonimmediate_operand (operands[1], E_QImode))
    1196              :             return -1;
    1197              :           return 2;
    1198              : 
    1199           26 :         case E_HImode:
    1200           26 :           if (!nonimmediate_operand (operands[1], E_HImode))
    1201              :             return -1;
    1202              :           return 3;
    1203              : 
    1204         6191 :         case E_SImode:
    1205         6191 :           if (pnum_clobbers == NULL
    1206         6191 :               || !nonimmediate_operand (operands[1], E_SImode))
    1207         1505 :             return -1;
    1208              :           return 4;
    1209              : 
    1210              :         default:
    1211              :           return -1;
    1212              :         }
    1213              : 
    1214              :     default:
    1215              :       return -1;
    1216              :     }
    1217              : }
    1218              : 
    1219              : int
    1220       111875 : pattern295 (rtx x1)
    1221              : {
    1222       111875 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1223       111875 :   rtx x2, x3, x4;
    1224       111875 :   int res ATTRIBUTE_UNUSED;
    1225       111875 :   x2 = XEXP (x1, 0);
    1226       111875 :   x3 = XEXP (x2, 0);
    1227       111875 :   operands[1] = x3;
    1228       111875 :   x4 = XEXP (x2, 1);
    1229       111875 :   operands[2] = x4;
    1230       111875 :   if (!const_int_operand (operands[2], E_QImode))
    1231              :     return -1;
    1232       109431 :   switch (GET_MODE (operands[0]))
    1233              :     {
    1234        28197 :     case E_SImode:
    1235        28197 :       return pattern294 (x1, 
    1236              : E_DImode, 
    1237        28197 : E_SImode); /* [-1, 0] */
    1238              : 
    1239          866 :     case E_DImode:
    1240          866 :       if (pattern294 (x1, 
    1241              : E_TImode, 
    1242              : E_DImode) != 0)
    1243              :         return -1;
    1244              :       return 1;
    1245              : 
    1246              :     default:
    1247              :       return -1;
    1248              :     }
    1249              : }
    1250              : 
    1251              : int
    1252          589 : pattern302 (rtx x1)
    1253              : {
    1254          589 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1255          589 :   rtx x2, x3;
    1256          589 :   int res ATTRIBUTE_UNUSED;
    1257          589 :   x2 = XVECEXP (x1, 0, 0);
    1258          589 :   operands[1] = x2;
    1259          589 :   x3 = XVECEXP (x1, 0, 1);
    1260          589 :   operands[2] = x3;
    1261          589 :   return pattern301 (x1); /* [-1, 2] */
    1262              : }
    1263              : 
    1264              : int
    1265        39192 : pattern306 (rtx x1)
    1266              : {
    1267        39192 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1268        39192 :   rtx x2, x3, x4;
    1269        39192 :   int res ATTRIBUTE_UNUSED;
    1270        39192 :   if (GET_MODE (x1) != E_DImode
    1271        39192 :       || !register_operand (operands[0], E_DImode))
    1272        38762 :     return -1;
    1273          430 :   x2 = XVECEXP (x1, 0, 0);
    1274          430 :   operands[1] = x2;
    1275          430 :   if (!register_operand (operands[1], E_DImode))
    1276              :     return -1;
    1277          415 :   x3 = XVECEXP (x1, 0, 1);
    1278          415 :   operands[2] = x3;
    1279          415 :   if (!register_mmxmem_operand (operands[2], E_DImode))
    1280              :     return -1;
    1281          406 :   x4 = XVECEXP (x1, 0, 2);
    1282          406 :   operands[3] = x4;
    1283          406 :   if (!const_0_to_255_mul_8_operand (operands[3], E_SImode))
    1284              :     return -1;
    1285              :   return 0;
    1286              : }
    1287              : 
    1288              : int
    1289            8 : pattern314 (rtx x1, machine_mode i1)
    1290              : {
    1291            8 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1292            8 :   rtx x2, x3;
    1293            8 :   int res ATTRIBUTE_UNUSED;
    1294            8 :   if (!register_operand (operands[0], i1)
    1295            8 :       || GET_MODE (x1) != i1)
    1296              :     return -1;
    1297            8 :   x2 = XEXP (x1, 0);
    1298            8 :   if (GET_MODE (x2) != i1)
    1299              :     return -1;
    1300            8 :   x3 = XEXP (x2, 0);
    1301            8 :   if (GET_MODE (x3) != E_DImode
    1302            8 :       || !const0_operand (operands[2], i1))
    1303            0 :     return -1;
    1304            8 :   switch (GET_MODE (operands[1]))
    1305              :     {
    1306            4 :     case E_HImode:
    1307            4 :       if (!nonimmediate_operand (operands[1], E_HImode))
    1308              :         return -1;
    1309              :       return 0;
    1310              : 
    1311            4 :     case E_SImode:
    1312            4 :       if (!nonimmediate_operand (operands[1], E_SImode))
    1313              :         return -1;
    1314              :       return 1;
    1315              : 
    1316              :     default:
    1317              :       return -1;
    1318              :     }
    1319              : }
    1320              : 
    1321              : int
    1322            0 : pattern322 (rtx x1, machine_mode i1)
    1323              : {
    1324            0 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1325            0 :   int res ATTRIBUTE_UNUSED;
    1326            0 :   if (!register_operand (operands[0], i1)
    1327            0 :       || GET_MODE (x1) != i1
    1328            0 :       || !float_vector_all_ones_operand (operands[1], i1)
    1329            0 :       || !const0_operand (operands[2], i1)
    1330            0 :       || !register_operand (operands[3], i1)
    1331            0 :       || !nonimmediate_operand (operands[4], i1))
    1332            0 :     return -1;
    1333              :   return 0;
    1334              : }
    1335              : 
    1336              : int
    1337          748 : pattern329 (rtx x1)
    1338              : {
    1339          748 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1340          748 :   rtx x2;
    1341          748 :   int res ATTRIBUTE_UNUSED;
    1342          748 :   x2 = XVECEXP (x1, 0, 0);
    1343          748 :   operands[1] = x2;
    1344          748 :   switch (GET_MODE (operands[0]))
    1345              :     {
    1346          272 :     case E_V16SImode:
    1347          272 :       if (!register_operand (operands[0], E_V16SImode)
    1348          256 :           || GET_MODE (x1) != E_V16SImode
    1349          528 :           || !vector_operand (operands[1], E_V16SFmode))
    1350           24 :         return -1;
    1351              :       return 0;
    1352              : 
    1353          244 :     case E_V8SImode:
    1354          244 :       if (!register_operand (operands[0], E_V8SImode)
    1355          228 :           || GET_MODE (x1) != E_V8SImode
    1356          472 :           || !vector_operand (operands[1], E_V8SFmode))
    1357           20 :         return -1;
    1358              :       return 1;
    1359              : 
    1360          232 :     case E_V4SImode:
    1361          232 :       if (!register_operand (operands[0], E_V4SImode)
    1362          228 :           || GET_MODE (x1) != E_V4SImode
    1363          460 :           || !vector_operand (operands[1], E_V4SFmode))
    1364            8 :         return -1;
    1365              :       return 2;
    1366              : 
    1367              :     default:
    1368              :       return -1;
    1369              :     }
    1370              : }
    1371              : 
    1372              : int
    1373        18950 : pattern332 (rtx x1)
    1374              : {
    1375        18950 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1376        18950 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    1377        18950 :   int res ATTRIBUTE_UNUSED;
    1378        18950 :   x2 = XEXP (x1, 0);
    1379        18950 :   x3 = XEXP (x2, 0);
    1380        18950 :   if (GET_CODE (x3) != VEC_SELECT)
    1381              :     return -1;
    1382         6845 :   x4 = XEXP (x3, 1);
    1383         6845 :   if (GET_CODE (x4) != PARALLEL)
    1384              :     return -1;
    1385         6845 :   x5 = XEXP (x1, 1);
    1386         6845 :   if (GET_CODE (x5) != SIGN_EXTEND)
    1387              :     return -1;
    1388         6679 :   x6 = XEXP (x5, 0);
    1389         6679 :   if (GET_CODE (x6) != VEC_SELECT)
    1390              :     return -1;
    1391         6679 :   x7 = XEXP (x6, 1);
    1392         6679 :   if (GET_CODE (x7) != PARALLEL)
    1393              :     return -1;
    1394         6679 :   x8 = XEXP (x3, 0);
    1395         6679 :   operands[1] = x8;
    1396         6679 :   x9 = XEXP (x6, 0);
    1397         6679 :   operands[2] = x9;
    1398         6679 :   return 0;
    1399              : }
    1400              : 
    1401              : int
    1402          190 : pattern337 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
    1403              : {
    1404          190 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1405          190 :   rtx x2, x3, x4, x5, x6, x7;
    1406          190 :   int res ATTRIBUTE_UNUSED;
    1407          190 :   if (!register_operand (operands[0], i2)
    1408          190 :       || GET_MODE (x1) != i2)
    1409              :     return -1;
    1410          182 :   x2 = XEXP (x1, 0);
    1411          182 :   if (GET_MODE (x2) != i2)
    1412              :     return -1;
    1413          182 :   x3 = XEXP (x2, 0);
    1414          182 :   if (GET_MODE (x3) != i2)
    1415              :     return -1;
    1416          182 :   x4 = XEXP (x3, 0);
    1417          182 :   if (GET_MODE (x4) != i1
    1418          182 :       || !nonimmediate_operand (operands[1], i3))
    1419            0 :     return -1;
    1420          182 :   x5 = XEXP (x2, 1);
    1421          182 :   if (GET_MODE (x5) != i2)
    1422              :     return -1;
    1423          182 :   x6 = XEXP (x5, 0);
    1424          182 :   if (GET_MODE (x6) != i1)
    1425              :     return -1;
    1426          182 :   x7 = XEXP (x1, 1);
    1427          182 :   return pattern336 (x7, 
    1428              : i1, 
    1429          182 : i2); /* [-1, 0] */
    1430              : }
    1431              : 
    1432              : int
    1433        22256 : pattern341 (rtx x1)
    1434              : {
    1435        22256 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1436        22256 :   rtx x2, x3, x4, x5, x6;
    1437        22256 :   int res ATTRIBUTE_UNUSED;
    1438        22256 :   x2 = XEXP (x1, 0);
    1439        22256 :   operands[0] = x2;
    1440        22256 :   x3 = XEXP (x1, 1);
    1441        22256 :   x4 = XEXP (x3, 1);
    1442        22256 :   x5 = XEXP (x4, 0);
    1443        22256 :   operands[2] = x5;
    1444        22256 :   if (!register_operand (operands[2], E_QImode))
    1445              :     return -1;
    1446        19345 :   x6 = XEXP (x4, 1);
    1447        19345 :   operands[3] = x6;
    1448        19345 :   if (!const_int_operand (operands[3], E_QImode))
    1449              :     return -1;
    1450        18578 :   return pattern340 (x3); /* [-1, 1] */
    1451              : }
    1452              : 
    1453              : int
    1454     30207241 : pattern344 (rtx x1)
    1455              : {
    1456     30207241 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1457     30207241 :   rtx x2, x3, x4, x5;
    1458     30207241 :   int res ATTRIBUTE_UNUSED;
    1459     30207241 :   x2 = XVECEXP (x1, 0, 1);
    1460     30207241 :   if (GET_CODE (x2) != CLOBBER)
    1461              :     return -1;
    1462     29296391 :   x3 = XEXP (x2, 0);
    1463     29296391 :   if (GET_CODE (x3) != REG
    1464     29291249 :       || REGNO (x3) != 17
    1465     56021134 :       || GET_MODE (x3) != E_CCmode)
    1466              :     return -1;
    1467     26709983 :   x4 = XVECEXP (x1, 0, 0);
    1468     26709983 :   x5 = XEXP (x4, 0);
    1469     26709983 :   operands[0] = x5;
    1470     26709983 :   return 0;
    1471              : }
    1472              : 
    1473              : int
    1474         3196 : pattern348 (rtx x1)
    1475              : {
    1476         3196 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1477         3196 :   rtx x2, x3, x4, x5;
    1478         3196 :   int res ATTRIBUTE_UNUSED;
    1479         3196 :   x2 = XVECEXP (x1, 0, 1);
    1480         3196 :   if (GET_CODE (x2) != CLOBBER)
    1481              :     return -1;
    1482         2516 :   x3 = XEXP (x2, 0);
    1483         2516 :   if (GET_CODE (x3) != REG
    1484         2516 :       || REGNO (x3) != 17
    1485         5032 :       || GET_MODE (x3) != E_CCmode)
    1486              :     return -1;
    1487         2516 :   x4 = XVECEXP (x1, 0, 0);
    1488         2516 :   x5 = XEXP (x4, 0);
    1489         2516 :   operands[0] = x5;
    1490         2516 :   return 0;
    1491              : }
    1492              : 
    1493              : int
    1494        22193 : pattern351 (rtx x1)
    1495              : {
    1496        22193 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1497        22193 :   rtx x2;
    1498        22193 :   int res ATTRIBUTE_UNUSED;
    1499        22193 :   switch (GET_MODE (operands[0]))
    1500              :     {
    1501           73 :     case E_HImode:
    1502           73 :       return pattern350 (x1, 
    1503              : E_QImode, 
    1504           73 : E_HImode); /* [-1, 0] */
    1505              : 
    1506         1389 :     case E_SImode:
    1507         1389 :       if (!register_operand (operands[0], E_SImode)
    1508         1389 :           || GET_MODE (x1) != E_SImode)
    1509              :         return -1;
    1510         1389 :       x2 = XEXP (x1, 0);
    1511         1389 :       switch (GET_MODE (x2))
    1512              :         {
    1513         1023 :         case E_QImode:
    1514         1023 :           if (!nonimmediate_operand (operands[1], E_QImode))
    1515              :             return -1;
    1516              :           return 1;
    1517              : 
    1518          366 :         case E_HImode:
    1519          366 :           if (!nonimmediate_operand (operands[1], E_HImode))
    1520              :             return -1;
    1521              :           return 2;
    1522              : 
    1523              :         default:
    1524              :           return -1;
    1525              :         }
    1526              : 
    1527        20731 :     case E_DImode:
    1528        20731 :       if (!register_operand (operands[0], E_DImode)
    1529        20731 :           || GET_MODE (x1) != E_DImode)
    1530              :         return -1;
    1531        20731 :       x2 = XEXP (x1, 0);
    1532        20731 :       switch (GET_MODE (x2))
    1533              :         {
    1534          458 :         case E_QImode:
    1535          458 :           if (!nonimmediate_operand (operands[1], E_QImode))
    1536              :             return -1;
    1537              :           return 3;
    1538              : 
    1539           49 :         case E_HImode:
    1540           49 :           if (!nonimmediate_operand (operands[1], E_HImode))
    1541              :             return -1;
    1542              :           return 4;
    1543              : 
    1544        20224 :         case E_SImode:
    1545        20224 :           if (!nonimmediate_operand (operands[1], E_SImode))
    1546              :             return -1;
    1547              :           return 5;
    1548              : 
    1549              :         default:
    1550              :           return -1;
    1551              :         }
    1552              : 
    1553              :     default:
    1554              :       return -1;
    1555              :     }
    1556              : }
    1557              : 
    1558              : int
    1559        27456 : pattern364 (rtx x1)
    1560              : {
    1561        27456 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1562        27456 :   rtx x2, x3, x4, x5, x6, x7;
    1563        27456 :   int res ATTRIBUTE_UNUSED;
    1564        27456 :   x2 = XVECEXP (x1, 0, 0);
    1565        27456 :   x3 = XEXP (x2, 1);
    1566        27456 :   x4 = XEXP (x3, 0);
    1567        27456 :   x5 = XEXP (x4, 1);
    1568        27456 :   if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    1569              :     return -1;
    1570        21233 :   x6 = XVECEXP (x1, 0, 1);
    1571        21233 :   if (GET_CODE (x6) != CLOBBER)
    1572              :     return -1;
    1573        20368 :   x7 = XEXP (x6, 0);
    1574        20368 :   if (GET_CODE (x7) != REG
    1575        20368 :       || REGNO (x7) != 17
    1576        40736 :       || GET_MODE (x7) != E_CCmode)
    1577              :     return -1;
    1578        20368 :   return pattern363 (x2); /* [-1, 3] */
    1579              : }
    1580              : 
    1581              : int
    1582        68580 : pattern370 (rtx x1)
    1583              : {
    1584        68580 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1585        68580 :   rtx x2, x3, x4, x5, x6, x7, x8;
    1586        68580 :   int res ATTRIBUTE_UNUSED;
    1587        68580 :   x2 = XVECEXP (x1, 0, 0);
    1588        68580 :   x3 = XEXP (x2, 1);
    1589        68580 :   if (GET_MODE (x3) != E_V2SImode)
    1590              :     return -1;
    1591          494 :   x4 = XVECEXP (x1, 0, 1);
    1592          494 :   if (GET_CODE (x4) != UNSPEC
    1593          140 :       || XVECLEN (x4, 0) != 1
    1594          140 :       || XINT (x4, 1) != 111)
    1595              :     return -1;
    1596          140 :   x5 = XVECEXP (x4, 0, 0);
    1597          140 :   if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    1598              :     return -1;
    1599          140 :   x6 = XEXP (x2, 0);
    1600          140 :   operands[0] = x6;
    1601          140 :   if (!register_operand (operands[0], E_V2SImode))
    1602              :     return -1;
    1603          140 :   x7 = XEXP (x3, 0);
    1604          140 :   operands[1] = x7;
    1605          140 :   if (!register_operand (operands[1], E_V2SFmode))
    1606              :     return -1;
    1607          140 :   x8 = XEXP (x3, 1);
    1608          140 :   operands[2] = x8;
    1609          140 :   if (!nonimmediate_operand (operands[2], E_V2SFmode))
    1610              :     return -1;
    1611              :   return 0;
    1612              : }
    1613              : 
    1614              : int
    1615       525163 : pattern378 (rtx x1)
    1616              : {
    1617       525163 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1618       525163 :   rtx x2, x3, x4, x5, x6, x7, x8;
    1619       525163 :   int res ATTRIBUTE_UNUSED;
    1620       525163 :   x2 = XVECEXP (x1, 0, 0);
    1621       525163 :   x3 = XEXP (x2, 1);
    1622       525163 :   x4 = XEXP (x3, 0);
    1623       525163 :   operands[1] = x4;
    1624       525163 :   x5 = XEXP (x2, 0);
    1625       525163 :   switch (GET_CODE (x5))
    1626              :     {
    1627       525154 :     case REG:
    1628       525154 :     case SUBREG:
    1629       525154 :     case MEM:
    1630       525154 :       operands[0] = x5;
    1631       525154 :       x6 = XVECEXP (x1, 0, 1);
    1632       525154 :       switch (GET_CODE (x6))
    1633              :         {
    1634              :         case CLOBBER:
    1635              :           return 0;
    1636              : 
    1637        40961 :         case USE:
    1638        40961 :           return 1;
    1639              : 
    1640              :         default:
    1641              :           return -1;
    1642              :         }
    1643              : 
    1644            9 :     case STRICT_LOW_PART:
    1645            9 :       x6 = XVECEXP (x1, 0, 1);
    1646            9 :       if (GET_CODE (x6) != CLOBBER)
    1647              :         return -1;
    1648            9 :       x7 = XEXP (x6, 0);
    1649            9 :       if (GET_CODE (x7) != REG
    1650            9 :           || REGNO (x7) != 17
    1651           18 :           || GET_MODE (x7) != E_CCmode)
    1652              :         return -1;
    1653            9 :       x8 = XEXP (x5, 0);
    1654            9 :       operands[0] = x8;
    1655            9 :       res = pattern377 (x3);
    1656            9 :       if (res >= 0)
    1657            9 :         return res + 2; /* [2, 3] */
    1658              :       return -1;
    1659              : 
    1660              :     default:
    1661              :       return -1;
    1662              :     }
    1663              : }
    1664              : 
    1665              : int
    1666        87058 : pattern395 (rtx x1, rtx_code i1)
    1667              : {
    1668        87058 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1669        87058 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    1670        87058 :   rtx x10, x11, x12, x13, x14;
    1671        87058 :   int res ATTRIBUTE_UNUSED;
    1672        87058 :   x2 = XVECEXP (x1, 0, 1);
    1673        87058 :   if (GET_CODE (x2) != SET)
    1674              :     return -1;
    1675        87058 :   x3 = XEXP (x2, 1);
    1676        87058 :   if (GET_CODE (x3) != i1)
    1677              :     return -1;
    1678        87058 :   x4 = XVECEXP (x1, 0, 3);
    1679        87058 :   x5 = XEXP (x4, 0);
    1680        87058 :   if (GET_CODE (x5) != REG
    1681        87058 :       || REGNO (x5) != 17
    1682       174116 :       || GET_MODE (x5) != E_CCmode)
    1683              :     return -1;
    1684        87058 :   x6 = XVECEXP (x1, 0, 0);
    1685        87058 :   x7 = XEXP (x6, 0);
    1686        87058 :   operands[0] = x7;
    1687        87058 :   x8 = XEXP (x6, 1);
    1688        87058 :   x9 = XEXP (x8, 0);
    1689        87058 :   operands[2] = x9;
    1690        87058 :   x10 = XEXP (x8, 1);
    1691        87058 :   operands[3] = x10;
    1692        87058 :   x11 = XEXP (x2, 0);
    1693        87058 :   operands[1] = x11;
    1694        87058 :   x12 = XEXP (x3, 0);
    1695        87058 :   if (!rtx_equal_p (x12, operands[2]))
    1696              :     return -1;
    1697        87058 :   x13 = XEXP (x3, 1);
    1698        87058 :   if (!rtx_equal_p (x13, operands[3]))
    1699              :     return -1;
    1700        87058 :   x14 = XVECEXP (x1, 0, 2);
    1701        87058 :   switch (GET_CODE (x14))
    1702              :     {
    1703           39 :     case UNSPEC:
    1704           39 :       return pattern392 (x1); /* [-1, 1] */
    1705              : 
    1706        87019 :     case USE:
    1707        87019 :       res = pattern394 (x1);
    1708        87019 :       if (res >= 0)
    1709        87019 :         return res + 2; /* [2, 4] */
    1710              :       return -1;
    1711              : 
    1712              :     default:
    1713              :       return -1;
    1714              :     }
    1715              : }
    1716              : 
    1717              : int
    1718         6322 : pattern411 (rtx x1)
    1719              : {
    1720         6322 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1721         6322 :   rtx x2, x3, x4;
    1722         6322 :   int res ATTRIBUTE_UNUSED;
    1723         6322 :   x2 = XEXP (x1, 0);
    1724         6322 :   x3 = XEXP (x2, 1);
    1725         6322 :   if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    1726              :     return -1;
    1727         5563 :   x4 = XEXP (x2, 0);
    1728         5563 :   operands[1] = x4;
    1729         5563 :   if (!int_nonimmediate_operand (operands[1], E_VOIDmode))
    1730              :     return -1;
    1731         3974 :   switch (GET_MODE (operands[0]))
    1732              :     {
    1733          203 :     case E_QImode:
    1734          203 :       if (!register_operand (operands[0], E_QImode)
    1735          203 :           || GET_MODE (x1) != E_QImode
    1736          406 :           || GET_MODE (x2) != E_QImode)
    1737              :         return -1;
    1738              :       return 0;
    1739              : 
    1740          132 :     case E_HImode:
    1741          132 :       if (!register_operand (operands[0], E_HImode)
    1742          128 :           || GET_MODE (x1) != E_HImode
    1743          260 :           || GET_MODE (x2) != E_HImode)
    1744              :         return -1;
    1745              :       return 1;
    1746              : 
    1747         3431 :     case E_SImode:
    1748         3431 :       if (!register_operand (operands[0], E_SImode)
    1749         2272 :           || GET_MODE (x1) != E_SImode
    1750         5703 :           || GET_MODE (x2) != E_SImode)
    1751              :         return -1;
    1752              :       return 2;
    1753              : 
    1754          208 :     case E_DImode:
    1755          208 :       if (!register_operand (operands[0], E_DImode)
    1756          204 :           || GET_MODE (x1) != E_DImode
    1757          412 :           || GET_MODE (x2) != E_DImode)
    1758              :         return -1;
    1759              :       return 3;
    1760              : 
    1761              :     default:
    1762              :       return -1;
    1763              :     }
    1764              : }
    1765              : 
    1766              : int
    1767      3745458 : pattern422 (rtx x1)
    1768              : {
    1769      3745458 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1770      3745458 :   rtx x2, x3, x4;
    1771      3745458 :   int res ATTRIBUTE_UNUSED;
    1772      3745458 :   x2 = XEXP (x1, 1);
    1773      3745458 :   x3 = XEXP (x2, 0);
    1774      3745458 :   if (GET_CODE (x3) != REG
    1775      3745458 :       || REGNO (x3) != 7)
    1776              :     return -1;
    1777      2211775 :   x4 = XEXP (x1, 0);
    1778      2211775 :   if (GET_CODE (x4) != REG
    1779      2211775 :       || REGNO (x4) != 7)
    1780           11 :     return -1;
    1781              :   return 0;
    1782              : }
    1783              : 
    1784              : int
    1785        68606 : pattern427 (rtx x1)
    1786              : {
    1787        68606 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1788        68606 :   rtx x2, x3, x4, x5;
    1789        68606 :   int res ATTRIBUTE_UNUSED;
    1790        68606 :   x2 = XEXP (x1, 0);
    1791        68606 :   x3 = XEXP (x2, 0);
    1792        68606 :   if (GET_MODE (x3) != E_TImode
    1793          109 :       || !nonimmediate_operand (operands[0], E_TImode)
    1794          109 :       || GET_MODE (x1) != E_TImode
    1795        68715 :       || GET_MODE (x2) != E_TImode)
    1796        68497 :     return -1;
    1797          109 :   x4 = XEXP (x3, 0);
    1798          109 :   operands[1] = x4;
    1799          109 :   if (!nonimmediate_operand (operands[1], E_DImode)
    1800          109 :       || !const_int_operand (operands[2], E_QImode))
    1801           14 :     return -1;
    1802           95 :   x5 = XEXP (x1, 1);
    1803           95 :   return pattern259 (x5, 
    1804              : E_DImode, 
    1805           95 : E_TImode); /* [-1, 1] */
    1806              : }
    1807              : 
    1808              : int
    1809       173970 : pattern434 (rtx x1)
    1810              : {
    1811       173970 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1812       173970 :   rtx x2, x3, x4, x5;
    1813       173970 :   int res ATTRIBUTE_UNUSED;
    1814       173970 :   x2 = XEXP (x1, 0);
    1815       173970 :   x3 = XEXP (x2, 0);
    1816       173970 :   x4 = XEXP (x3, 0);
    1817       173970 :   operands[1] = x4;
    1818       173970 :   x5 = XEXP (x3, 1);
    1819       173970 :   operands[2] = x5;
    1820       173970 :   if (!const248_operand (operands[2], E_VOIDmode))
    1821              :     return -1;
    1822        24013 :   return pattern433 (x1); /* [-1, 1] */
    1823              : }
    1824              : 
    1825              : int
    1826           96 : pattern442 (rtx x1)
    1827              : {
    1828           96 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1829           96 :   rtx x2, x3, x4, x5;
    1830           96 :   int res ATTRIBUTE_UNUSED;
    1831           96 :   x2 = XEXP (x1, 0);
    1832           96 :   if (GET_MODE (x2) != E_SImode)
    1833              :     return -1;
    1834           94 :   x3 = XEXP (x2, 0);
    1835           94 :   if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 31])
    1836              :     return -1;
    1837           65 :   x4 = XEXP (x2, 1);
    1838           65 :   if (GET_CODE (x4) != CLZ
    1839           65 :       || GET_MODE (x4) != E_SImode)
    1840              :     return -1;
    1841           65 :   x5 = XEXP (x1, 1);
    1842           65 :   if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 31])
    1843            0 :     return -1;
    1844              :   return 0;
    1845              : }
    1846              : 
    1847              : int
    1848         3732 : pattern449 (rtx x1, machine_mode i1)
    1849              : {
    1850         3732 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1851         3732 :   rtx x2;
    1852         3732 :   int res ATTRIBUTE_UNUSED;
    1853         3732 :   if (!nonimmediate_operand (operands[0], i1)
    1854         3728 :       || GET_MODE (x1) != i1
    1855         7460 :       || !x86_64_general_operand (operands[1], i1))
    1856           10 :     return -1;
    1857         3722 :   x2 = XEXP (x1, 1);
    1858         3722 :   if (GET_MODE (x2) != i1)
    1859              :     return -1;
    1860              :   return 0;
    1861              : }
    1862              : 
    1863              : int
    1864         6054 : pattern454 (rtx x1, int *pnum_clobbers)
    1865              : {
    1866         6054 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1867         6054 :   rtx x2, x3, x4, x5;
    1868         6054 :   int res ATTRIBUTE_UNUSED;
    1869         6054 :   if (pnum_clobbers == NULL)
    1870              :     return -1;
    1871         6052 :   x2 = XEXP (x1, 1);
    1872         6052 :   if (maybe_ne (SUBREG_BYTE (x2), 0)
    1873         6052 :       || GET_MODE (x2) != E_QImode)
    1874              :     return -1;
    1875         5728 :   x3 = XEXP (x2, 0);
    1876         5728 :   switch (GET_CODE (x3))
    1877              :     {
    1878          907 :     case AND:
    1879          907 :       return pattern453 (x1); /* [-1, 1] */
    1880              : 
    1881            0 :     case PLUS:
    1882            0 :       x4 = XEXP (x3, 0);
    1883            0 :       operands[2] = x4;
    1884            0 :       if (!int_nonimmediate_operand (operands[2], E_VOIDmode))
    1885              :         return -1;
    1886            0 :       res = pattern452 (x1);
    1887            0 :       if (res >= 0)
    1888            0 :         return res + 2; /* [2, 3] */
    1889              :       return -1;
    1890              : 
    1891            0 :     case MINUS:
    1892            0 :       x4 = XEXP (x3, 0);
    1893            0 :       operands[3] = x4;
    1894            0 :       if (!const_int_operand (operands[3], E_VOIDmode))
    1895              :         return -1;
    1896            0 :       x5 = XEXP (x3, 1);
    1897            0 :       operands[2] = x5;
    1898            0 :       if (!int_nonimmediate_operand (operands[2], E_VOIDmode))
    1899              :         return -1;
    1900            0 :       res = pattern14 (x1);
    1901            0 :       if (res >= 0)
    1902            0 :         return res + 4; /* [4, 5] */
    1903              :       return -1;
    1904              : 
    1905              :     default:
    1906              :       return -1;
    1907              :     }
    1908              : }
    1909              : 
    1910              : int
    1911         4187 : pattern466 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
    1912              : {
    1913         4187 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1914         4187 :   rtx x2;
    1915         4187 :   int res ATTRIBUTE_UNUSED;
    1916         4187 :   if (!register_operand (operands[0], i2)
    1917         4187 :       || GET_MODE (x1) != i2)
    1918              :     return -1;
    1919         4026 :   x2 = XEXP (x1, 0);
    1920         4026 :   if (GET_MODE (x2) != i2
    1921         4026 :       || !register_operand (operands[1], i3)
    1922         4022 :       || !nonimmediate_operand (operands[2], i3)
    1923         4021 :       || !nonimm_or_0_operand (operands[3], i2)
    1924         7920 :       || !register_operand (operands[4], i1))
    1925          354 :     return -1;
    1926              :   return 0;
    1927              : }
    1928              : 
    1929              : int
    1930         1896 : pattern474 (rtx x1)
    1931              : {
    1932         1896 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1933         1896 :   rtx x2, x3, x4, x5, x6, x7, x8;
    1934         1896 :   int res ATTRIBUTE_UNUSED;
    1935         1896 :   x2 = XEXP (x1, 0);
    1936         1896 :   x3 = XVECEXP (x2, 0, 0);
    1937         1896 :   operands[1] = x3;
    1938         1896 :   x4 = XVECEXP (x2, 0, 1);
    1939         1896 :   operands[2] = x4;
    1940         1896 :   x5 = XVECEXP (x2, 0, 2);
    1941         1896 :   operands[3] = x5;
    1942         1896 :   x6 = XEXP (x1, 1);
    1943         1896 :   switch (GET_CODE (x6))
    1944              :     {
    1945          628 :     case CONST_INT:
    1946          628 :     case CONST_DOUBLE:
    1947          628 :     case CONST_VECTOR:
    1948          628 :       operands[4] = x6;
    1949          628 :       x7 = XEXP (x1, 2);
    1950          628 :       if (GET_CODE (x7) != UNSPEC
    1951          628 :           || XVECLEN (x7, 0) != 1
    1952          628 :           || XINT (x7, 1) != 224)
    1953              :         return -1;
    1954          628 :       x8 = XVECEXP (x7, 0, 0);
    1955          628 :       operands[5] = x8;
    1956          628 :       switch (GET_MODE (operands[0]))
    1957              :         {
    1958           94 :         case E_V32HFmode:
    1959           94 :           if (!register_operand (operands[0], E_V32HFmode)
    1960           80 :               || GET_MODE (x1) != E_V32HFmode
    1961           80 :               || GET_MODE (x2) != E_V32HFmode
    1962           80 :               || !vector_operand (operands[1], E_V32HFmode)
    1963           80 :               || !vector_operand (operands[2], E_V32HFmode)
    1964           80 :               || !vector_operand (operands[3], E_V32HFmode)
    1965           80 :               || !const0_operand (operands[4], E_V32HFmode)
    1966           80 :               || GET_MODE (x7) != E_SImode
    1967          174 :               || !register_operand (operands[5], E_HImode))
    1968           40 :             return -1;
    1969              :           return 0;
    1970              : 
    1971          266 :         case E_V16HFmode:
    1972          266 :           if (pattern472 (x1, 
    1973              : E_HImode, 
    1974              : E_V16HFmode) != 0)
    1975              :             return -1;
    1976              :           return 1;
    1977              : 
    1978          268 :         case E_V8HFmode:
    1979          268 :           if (pattern472 (x1, 
    1980              : E_QImode, 
    1981              : E_V8HFmode) != 0)
    1982              :             return -1;
    1983              :           return 2;
    1984              : 
    1985              :         default:
    1986              :           return -1;
    1987              :         }
    1988              : 
    1989         1268 :     case REG:
    1990         1268 :     case SUBREG:
    1991         1268 :     case MEM:
    1992         1268 :       x7 = XEXP (x1, 2);
    1993         1268 :       switch (GET_CODE (x7))
    1994              :         {
    1995         1222 :         case UNSPEC:
    1996         1222 :           if (XVECLEN (x7, 0) != 1
    1997         1222 :               || XINT (x7, 1) != 224)
    1998              :             return -1;
    1999         1222 :           x8 = XVECEXP (x7, 0, 0);
    2000         1222 :           operands[4] = x8;
    2001         1222 :           if (!rtx_equal_p (x6, operands[1]))
    2002              :             return -1;
    2003         1222 :           switch (GET_MODE (operands[0]))
    2004              :             {
    2005          174 :             case E_V32HFmode:
    2006          174 :               if (!register_operand (operands[0], E_V32HFmode)
    2007          160 :                   || GET_MODE (x1) != E_V32HFmode
    2008          160 :                   || GET_MODE (x2) != E_V32HFmode
    2009          160 :                   || !vector_operand (operands[1], E_V32HFmode)
    2010          158 :                   || !vector_operand (operands[2], E_V32HFmode)
    2011          158 :                   || !vector_operand (operands[3], E_V32HFmode)
    2012          158 :                   || GET_MODE (x7) != E_SImode
    2013          332 :                   || !register_operand (operands[4], E_HImode))
    2014           66 :                 return -1;
    2015              :               return 3;
    2016              : 
    2017          522 :             case E_V16HFmode:
    2018          522 :               if (pattern473 (x1, 
    2019              : E_HImode, 
    2020              : E_V16HFmode) != 0)
    2021              :                 return -1;
    2022              :               return 4;
    2023              : 
    2024          526 :             case E_V8HFmode:
    2025          526 :               if (pattern473 (x1, 
    2026              : E_QImode, 
    2027              : E_V8HFmode) != 0)
    2028              :                 return -1;
    2029              :               return 5;
    2030              : 
    2031              :             default:
    2032              :               return -1;
    2033              :             }
    2034              : 
    2035           46 :         case CONST_INT:
    2036           46 :           if (XWINT (x7, 0) != 3L
    2037           46 :               || !register_operand (operands[0], E_V8HFmode)
    2038           35 :               || GET_MODE (x1) != E_V8HFmode
    2039           35 :               || GET_MODE (x2) != E_V8HFmode
    2040           35 :               || !vector_operand (operands[1], E_V8HFmode)
    2041           35 :               || !vector_operand (operands[2], E_V8HFmode)
    2042           35 :               || !vector_operand (operands[3], E_V8HFmode)
    2043           81 :               || !rtx_equal_p (x6, operands[2]))
    2044           11 :             return -1;
    2045              :           return 6;
    2046              : 
    2047              :         default:
    2048              :           return -1;
    2049              :         }
    2050              : 
    2051              :     default:
    2052              :       return -1;
    2053              :     }
    2054              : }
    2055              : 
    2056              : int
    2057         1662 : pattern507 (rtx x1, machine_mode i1, machine_mode i2)
    2058              : {
    2059         1662 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2060         1662 :   rtx x2, x3, x4;
    2061         1662 :   int res ATTRIBUTE_UNUSED;
    2062         1662 :   if (!register_operand (operands[0], i1)
    2063         1662 :       || GET_MODE (x1) != i1)
    2064              :     return -1;
    2065         1648 :   x2 = XEXP (x1, 0);
    2066         1648 :   if (GET_MODE (x2) != i2)
    2067              :     return -1;
    2068         1648 :   x3 = XEXP (x2, 0);
    2069         1648 :   if (GET_MODE (x3) != i2)
    2070              :     return -1;
    2071         1648 :   x4 = XEXP (x2, 1);
    2072         1648 :   if (GET_MODE (x4) != i2
    2073         1648 :       || !nonimm_or_0_operand (operands[2], i1))
    2074           20 :     return -1;
    2075         1628 :   switch (GET_MODE (operands[1]))
    2076              :     {
    2077          803 :     case E_V4SImode:
    2078          803 :       if (!register_operand (operands[1], E_V4SImode))
    2079              :         return -1;
    2080              :       return 0;
    2081              : 
    2082          825 :     case E_V4DImode:
    2083          825 :       if (!register_operand (operands[1], E_V4DImode))
    2084              :         return -1;
    2085              :       return 1;
    2086              : 
    2087              :     default:
    2088              :       return -1;
    2089              :     }
    2090              : }
    2091              : 
    2092              : int
    2093          755 : pattern513 (machine_mode i1)
    2094              : {
    2095          755 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2096          755 :   int res ATTRIBUTE_UNUSED;
    2097          755 :   if (!const0_operand (operands[2], i1))
    2098              :     return -1;
    2099          753 :   switch (GET_MODE (operands[1]))
    2100              :     {
    2101          357 :     case E_V4DImode:
    2102          357 :       if (!register_operand (operands[1], E_V4DImode))
    2103              :         return -1;
    2104              :       return 0;
    2105              : 
    2106          396 :     case E_V4SImode:
    2107          396 :       if (!register_operand (operands[1], E_V4SImode))
    2108              :         return -1;
    2109              :       return 1;
    2110              : 
    2111              :     default:
    2112              :       return -1;
    2113              :     }
    2114              : }
    2115              : 
    2116              : int
    2117          991 : pattern519 (rtx x1)
    2118              : {
    2119          991 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2120          991 :   int res ATTRIBUTE_UNUSED;
    2121          991 :   if (!register_operand (operands[0], E_V2DFmode)
    2122          991 :       || GET_MODE (x1) != E_V2DFmode)
    2123              :     return -1;
    2124          828 :   switch (GET_MODE (operands[1]))
    2125              :     {
    2126          620 :     case E_V2SImode:
    2127          620 :       if (!nonimmediate_operand (operands[1], E_V2SImode))
    2128              :         return -1;
    2129              :       return 0;
    2130              : 
    2131          200 :     case E_V2DImode:
    2132          200 :       if (!nonimmediate_operand (operands[1], E_V2DImode))
    2133              :         return -1;
    2134              :       return 1;
    2135              : 
    2136              :     default:
    2137              :       return -1;
    2138              :     }
    2139              : }
    2140              : 
    2141              : int
    2142            6 : pattern524 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
    2143              : {
    2144            6 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2145            6 :   rtx x2, x3;
    2146            6 :   int res ATTRIBUTE_UNUSED;
    2147            6 :   if (!nonimmediate_operand (operands[0], i3)
    2148            6 :       || GET_MODE (x1) != i3)
    2149              :     return -1;
    2150            6 :   x2 = XEXP (x1, 0);
    2151            6 :   if (GET_MODE (x2) != i2)
    2152              :     return -1;
    2153            6 :   x3 = XEXP (x2, 0);
    2154            6 :   if (GET_MODE (x3) != i1
    2155            6 :       || !register_operand (operands[1], i1)
    2156           12 :       || !permvar_truncate_operand (operands[2], i1))
    2157            2 :     return -1;
    2158              :   return 0;
    2159              : }
    2160              : 
    2161              : int
    2162        16883 : pattern532 (rtx x1, machine_mode i1)
    2163              : {
    2164        16883 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2165        16883 :   rtx x2, x3;
    2166        16883 :   int res ATTRIBUTE_UNUSED;
    2167        16883 :   if (!register_operand (operands[0], i1)
    2168        16883 :       || GET_MODE (x1) != i1)
    2169              :     return -1;
    2170        16874 :   x2 = XEXP (x1, 0);
    2171        16874 :   if (GET_MODE (x2) != i1
    2172        16874 :       || !regmem_or_bitnot_regmem_operand (operands[1], i1)
    2173        33701 :       || !regmem_or_bitnot_regmem_operand (operands[2], i1))
    2174           65 :     return -1;
    2175        16809 :   x3 = XEXP (x1, 1);
    2176        16809 :   if (GET_MODE (x3) != i1
    2177        16809 :       || !regmem_or_bitnot_regmem_operand (operands[3], i1)
    2178        33618 :       || !regmem_or_bitnot_regmem_operand (operands[4], i1))
    2179           12 :     return -1;
    2180              :   return 0;
    2181              : }
    2182              : 
    2183              : int
    2184       149898 : pattern537 (rtx x1)
    2185              : {
    2186       149898 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2187       149898 :   rtx x2, x3, x4, x5, x6, x7;
    2188       149898 :   int res ATTRIBUTE_UNUSED;
    2189       149898 :   x2 = XEXP (x1, 0);
    2190       149898 :   x3 = XEXP (x2, 0);
    2191       149898 :   x4 = XEXP (x3, 0);
    2192       149898 :   operands[1] = x4;
    2193       149898 :   x5 = XEXP (x3, 1);
    2194       149898 :   operands[2] = x5;
    2195       149898 :   x6 = XEXP (x2, 1);
    2196       149898 :   operands[3] = x6;
    2197       149898 :   x7 = XEXP (x1, 1);
    2198       149898 :   operands[4] = x7;
    2199       149898 :   switch (GET_MODE (operands[0]))
    2200              :     {
    2201            0 :     case E_V64QImode:
    2202            0 :       return pattern536 (x1, 
    2203            0 : E_V64QImode); /* [-1, 0] */
    2204              : 
    2205          224 :     case E_V32QImode:
    2206          224 :       if (pattern536 (x1, 
    2207              : E_V32QImode) != 0)
    2208              :         return -1;
    2209              :       return 1;
    2210              : 
    2211          230 :     case E_V16QImode:
    2212          230 :       if (pattern536 (x1, 
    2213              : E_V16QImode) != 0)
    2214              :         return -1;
    2215              :       return 2;
    2216              : 
    2217            0 :     case E_V32HImode:
    2218            0 :       if (pattern536 (x1, 
    2219              : E_V32HImode) != 0)
    2220              :         return -1;
    2221              :       return 3;
    2222              : 
    2223           12 :     case E_V16HImode:
    2224           12 :       if (pattern536 (x1, 
    2225              : E_V16HImode) != 0)
    2226              :         return -1;
    2227              :       return 4;
    2228              : 
    2229          621 :     case E_V8HImode:
    2230          621 :       if (pattern536 (x1, 
    2231              : E_V8HImode) != 0)
    2232              :         return -1;
    2233              :       return 5;
    2234              : 
    2235          125 :     case E_V16SImode:
    2236          125 :       if (pattern536 (x1, 
    2237              : E_V16SImode) != 0)
    2238              :         return -1;
    2239              :       return 6;
    2240              : 
    2241         1436 :     case E_V8SImode:
    2242         1436 :       if (pattern536 (x1, 
    2243              : E_V8SImode) != 0)
    2244              :         return -1;
    2245              :       return 7;
    2246              : 
    2247         5975 :     case E_V4SImode:
    2248         5975 :       if (pattern536 (x1, 
    2249              : E_V4SImode) != 0)
    2250              :         return -1;
    2251              :       return 8;
    2252              : 
    2253            0 :     case E_V8DImode:
    2254            0 :       if (pattern536 (x1, 
    2255              : E_V8DImode) != 0)
    2256              :         return -1;
    2257              :       return 9;
    2258              : 
    2259          230 :     case E_V4DImode:
    2260          230 :       if (pattern536 (x1, 
    2261              : E_V4DImode) != 0)
    2262              :         return -1;
    2263              :       return 10;
    2264              : 
    2265         1176 :     case E_V2DImode:
    2266         1176 :       if (pattern536 (x1, 
    2267              : E_V2DImode) != 0)
    2268              :         return -1;
    2269              :       return 11;
    2270              : 
    2271              :     default:
    2272              :       return -1;
    2273              :     }
    2274              : }
    2275              : 
    2276              : int
    2277        12085 : pattern544 (rtx x1, machine_mode i1)
    2278              : {
    2279        12085 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2280        12085 :   rtx x2;
    2281        12085 :   int res ATTRIBUTE_UNUSED;
    2282        12085 :   if (!register_operand (operands[0], i1)
    2283        12085 :       || GET_MODE (x1) != i1)
    2284              :     return -1;
    2285        11825 :   x2 = XEXP (x1, 0);
    2286        11825 :   switch (GET_MODE (x2))
    2287              :     {
    2288          551 :     case E_V4QImode:
    2289          551 :       if (!register_operand (operands[1], E_V16QImode))
    2290              :         return -1;
    2291              :       return 0;
    2292              : 
    2293        10314 :     case E_V4HImode:
    2294        10314 :       if (!register_operand (operands[1], E_V8HImode))
    2295              :         return -1;
    2296              :       return 1;
    2297              : 
    2298              :     default:
    2299              :       return -1;
    2300              :     }
    2301              : }
    2302              : 
    2303              : int
    2304           55 : pattern548 (rtx x1)
    2305              : {
    2306           55 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2307           55 :   rtx x2, x3, x4, x5;
    2308           55 :   int res ATTRIBUTE_UNUSED;
    2309           55 :   x2 = XVECEXP (x1, 0, 1);
    2310           55 :   x3 = XVECEXP (x2, 0, 0);
    2311           55 :   operands[2] = x3;
    2312           55 :   switch (GET_MODE (operands[0]))
    2313              :     {
    2314           28 :     case E_SImode:
    2315           28 :       x4 = XVECEXP (x1, 0, 0);
    2316           28 :       x5 = XEXP (x4, 1);
    2317           28 :       return pattern547 (x5, 
    2318           28 : E_SImode); /* [-1, 0] */
    2319              : 
    2320           27 :     case E_DImode:
    2321           27 :       x4 = XVECEXP (x1, 0, 0);
    2322           27 :       x5 = XEXP (x4, 1);
    2323           27 :       if (pattern547 (x5, 
    2324              : E_DImode) != 0)
    2325              :         return -1;
    2326              :       return 1;
    2327              : 
    2328              :     default:
    2329              :       return -1;
    2330              :     }
    2331              : }
    2332              : 
    2333              : int
    2334         1200 : pattern555 (rtx x1)
    2335              : {
    2336         1200 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2337         1200 :   rtx x2, x3, x4, x5, x6, x7, x8;
    2338         1200 :   int res ATTRIBUTE_UNUSED;
    2339         1200 :   x2 = XVECEXP (x1, 0, 0);
    2340         1200 :   x3 = XEXP (x2, 1);
    2341         1200 :   if (GET_MODE (x3) != E_V2SFmode)
    2342              :     return -1;
    2343          140 :   x4 = XVECEXP (x1, 0, 1);
    2344          140 :   if (GET_CODE (x4) != UNSPEC
    2345          140 :       || XVECLEN (x4, 0) != 1
    2346          140 :       || XINT (x4, 1) != 111)
    2347              :     return -1;
    2348          140 :   x5 = XVECEXP (x4, 0, 0);
    2349          140 :   if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2350              :     return -1;
    2351          140 :   x6 = XEXP (x2, 0);
    2352          140 :   operands[0] = x6;
    2353          140 :   if (!register_operand (operands[0], E_V2SFmode))
    2354              :     return -1;
    2355          140 :   x7 = XVECEXP (x3, 0, 0);
    2356          140 :   operands[1] = x7;
    2357          140 :   if (!register_operand (operands[1], E_V2SFmode))
    2358              :     return -1;
    2359          126 :   x8 = XVECEXP (x3, 0, 1);
    2360          126 :   operands[2] = x8;
    2361          126 :   if (!nonimmediate_operand (operands[2], E_V2SFmode))
    2362              :     return -1;
    2363              :   return 0;
    2364              : }
    2365              : 
    2366              : int
    2367       308362 : pattern563 (rtx x1, machine_mode i1, machine_mode i2)
    2368              : {
    2369       308362 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2370       308362 :   rtx x2, x3;
    2371       308362 :   int res ATTRIBUTE_UNUSED;
    2372       308362 :   x2 = XEXP (x1, 0);
    2373       308362 :   if (GET_MODE (x2) != i2
    2374       308362 :       || !register_operand (operands[1], i1))
    2375        14341 :     return -1;
    2376       294021 :   x3 = XEXP (x1, 1);
    2377       294021 :   if (GET_MODE (x3) != i2
    2378       294021 :       || !nonimmediate_operand (operands[2], i1))
    2379          985 :     return -1;
    2380              :   return 0;
    2381              : }
    2382              : 
    2383              : int
    2384         3436 : pattern569 (rtx x1, machine_mode i1)
    2385              : {
    2386         3436 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2387         3436 :   int res ATTRIBUTE_UNUSED;
    2388         3436 :   if (!nonimmediate_operand (operands[0], i1)
    2389         3436 :       || GET_MODE (x1) != i1
    2390         3436 :       || !nonimmediate_operand (operands[1], i1)
    2391         6845 :       || !nonimmediate_or_x86_64_const_vector_operand (operands[2], i1))
    2392           27 :     return -1;
    2393              :   return 0;
    2394              : }
    2395              : 
    2396              : int
    2397        42723 : pattern574 (rtx x1)
    2398              : {
    2399        42723 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2400        42723 :   rtx x2, x3, x4, x5, x6;
    2401        42723 :   int res ATTRIBUTE_UNUSED;
    2402        42723 :   x2 = XVECEXP (x1, 0, 1);
    2403        42723 :   if (GET_CODE (x2) != CLOBBER)
    2404              :     return -1;
    2405        40916 :   x3 = XEXP (x2, 0);
    2406        40916 :   if (GET_CODE (x3) != REG
    2407        40916 :       || REGNO (x3) != 17
    2408        81832 :       || GET_MODE (x3) != E_CCmode)
    2409              :     return -1;
    2410        40916 :   x4 = XVECEXP (x1, 0, 0);
    2411        40916 :   x5 = XEXP (x4, 0);
    2412        40916 :   operands[0] = x5;
    2413        40916 :   if (!register_operand (operands[0], E_DImode))
    2414              :     return -1;
    2415        40914 :   x6 = XEXP (x4, 1);
    2416        40914 :   if (GET_MODE (x6) != E_DImode)
    2417              :     return -1;
    2418              :   return 0;
    2419              : }
    2420              : 
    2421              : int
    2422          119 : pattern581 (rtx x1)
    2423              : {
    2424          119 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2425          119 :   int res ATTRIBUTE_UNUSED;
    2426          119 :   switch (GET_MODE (operands[0]))
    2427              :     {
    2428           24 :     case E_QImode:
    2429           24 :       if (!register_operand (operands[0], E_QImode)
    2430           24 :           || GET_MODE (x1) != E_QImode
    2431           48 :           || !const_int_operand (operands[1], E_QImode))
    2432            0 :         return -1;
    2433              :       return 0;
    2434              : 
    2435            0 :     case E_HImode:
    2436            0 :       if (!register_operand (operands[0], E_HImode)
    2437            0 :           || GET_MODE (x1) != E_HImode
    2438            0 :           || !const_int_operand (operands[1], E_HImode))
    2439            0 :         return -1;
    2440              :       return 1;
    2441              : 
    2442           42 :     case E_SImode:
    2443           42 :       if (!register_operand (operands[0], E_SImode)
    2444           39 :           || GET_MODE (x1) != E_SImode
    2445           81 :           || !const_int_operand (operands[1], E_SImode))
    2446            3 :         return -1;
    2447              :       return 2;
    2448              : 
    2449           53 :     case E_DImode:
    2450           53 :       if (!register_operand (operands[0], E_DImode)
    2451           53 :           || GET_MODE (x1) != E_DImode
    2452          106 :           || !const_int_operand (operands[1], E_DImode))
    2453            0 :         return -1;
    2454              :       return 3;
    2455              : 
    2456              :     default:
    2457              :       return -1;
    2458              :     }
    2459              : }
    2460              : 
    2461              : int
    2462        53918 : pattern592 (rtx x1)
    2463              : {
    2464        53918 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2465        53918 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    2466        53918 :   int res ATTRIBUTE_UNUSED;
    2467        53918 :   x2 = XVECEXP (x1, 0, 1);
    2468        53918 :   if (GET_CODE (x2) != USE)
    2469              :     return -1;
    2470        53916 :   x3 = XVECEXP (x1, 0, 2);
    2471        53916 :   x4 = XEXP (x3, 0);
    2472        53916 :   if (GET_CODE (x4) != REG
    2473        53916 :       || REGNO (x4) != 17
    2474       107832 :       || GET_MODE (x4) != E_CCmode)
    2475              :     return -1;
    2476        53916 :   x5 = XVECEXP (x1, 0, 0);
    2477        53916 :   x6 = XEXP (x5, 0);
    2478        53916 :   operands[0] = x6;
    2479        53916 :   x7 = XEXP (x5, 1);
    2480        53916 :   x8 = XEXP (x7, 0);
    2481        53916 :   operands[1] = x8;
    2482        53916 :   x9 = XEXP (x2, 0);
    2483        53916 :   operands[2] = x9;
    2484        53916 :   switch (GET_MODE (operands[0]))
    2485              :     {
    2486          258 :     case E_HFmode:
    2487          258 :       return pattern226 (x7, 
    2488              : E_V8HFmode, 
    2489          258 : E_HFmode); /* [-1, 0] */
    2490              : 
    2491        20426 :     case E_SFmode:
    2492        20426 :       if (GET_MODE (x7) != E_SFmode)
    2493              :         return -1;
    2494              :       return 1;
    2495              : 
    2496        33232 :     case E_DFmode:
    2497        33232 :       if (GET_MODE (x7) != E_DFmode)
    2498              :         return -1;
    2499              :       return 2;
    2500              : 
    2501              :     default:
    2502              :       return -1;
    2503              :     }
    2504              : }
    2505              : 
    2506              : int
    2507        31829 : pattern600 (rtx x1)
    2508              : {
    2509        31829 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2510        31829 :   rtx x2, x3, x4, x5, x6;
    2511        31829 :   int res ATTRIBUTE_UNUSED;
    2512        31829 :   x2 = XVECEXP (x1, 0, 2);
    2513        31829 :   if (!const_0_to_7_operand (x2, E_SImode))
    2514              :     return -1;
    2515        30041 :   x3 = XVECEXP (x1, 0, 0);
    2516        30041 :   switch (GET_CODE (x3))
    2517              :     {
    2518        28065 :     case CONST_INT:
    2519        28065 :     case CONST_WIDE_INT:
    2520        28065 :     case CONST_POLY_INT:
    2521        28065 :     case CONST_FIXED:
    2522        28065 :     case CONST_DOUBLE:
    2523        28065 :     case CONST_VECTOR:
    2524        28065 :     case CONST:
    2525        28065 :     case REG:
    2526        28065 :     case SUBREG:
    2527        28065 :     case MEM:
    2528        28065 :     case LABEL_REF:
    2529        28065 :     case SYMBOL_REF:
    2530        28065 :     case HIGH:
    2531        28065 :       operands[1] = x3;
    2532        28065 :       x4 = XVECEXP (x1, 0, 1);
    2533        28065 :       operands[2] = x4;
    2534        28065 :       operands[3] = x2;
    2535        28065 :       switch (GET_MODE (operands[0]))
    2536              :         {
    2537         1110 :         case E_DImode:
    2538         1110 :           return pattern596 (x1); /* [-1, 0] */
    2539              : 
    2540         2363 :         case E_SImode:
    2541         2363 :           res = pattern597 (x1);
    2542         2363 :           if (res >= 0)
    2543         2154 :             return res + 1; /* [1, 2] */
    2544              :           return -1;
    2545              : 
    2546        12039 :         case E_HImode:
    2547        12039 :           res = pattern598 (x1);
    2548        12039 :           if (res >= 0)
    2549        11100 :             return res + 3; /* [3, 5] */
    2550              :           return -1;
    2551              : 
    2552        12158 :         case E_QImode:
    2553        12158 :           res = pattern599 (x1);
    2554        12158 :           if (res >= 0)
    2555        10269 :             return res + 6; /* [6, 11] */
    2556              :           return -1;
    2557              : 
    2558              :         default:
    2559              :           return -1;
    2560              :         }
    2561              : 
    2562           36 :     case US_MINUS:
    2563           36 :       x5 = XEXP (x3, 0);
    2564           36 :       operands[1] = x5;
    2565           36 :       x6 = XEXP (x3, 1);
    2566           36 :       operands[2] = x6;
    2567           36 :       x4 = XVECEXP (x1, 0, 1);
    2568           36 :       operands[3] = x4;
    2569           36 :       operands[4] = x2;
    2570           36 :       switch (GET_MODE (operands[0]))
    2571              :         {
    2572            6 :         case E_DImode:
    2573            6 :           if (pattern73 (x1, 
    2574              : E_V64QImode, 
    2575              : E_DImode) != 0)
    2576              :             return -1;
    2577              :           return 12;
    2578              : 
    2579           12 :         case E_HImode:
    2580           12 :           res = pattern72 (x1);
    2581           12 :           if (res >= 0)
    2582           12 :             return res + 13; /* [13, 14] */
    2583              :           return -1;
    2584              : 
    2585           12 :         case E_SImode:
    2586           12 :           res = pattern304 (x1);
    2587           12 :           if (res >= 0)
    2588           12 :             return res + 15; /* [15, 16] */
    2589              :           return -1;
    2590              : 
    2591            6 :         case E_QImode:
    2592            6 :           if (pattern73 (x1, 
    2593              : E_V8HImode, 
    2594              : E_QImode) != 0)
    2595              :             return -1;
    2596              :           return 17;
    2597              : 
    2598              :         default:
    2599              :           return -1;
    2600              :         }
    2601              : 
    2602              :     default:
    2603              :       return -1;
    2604              :     }
    2605              : }
    2606              : 
    2607              : int
    2608         1583 : pattern624 (rtx x1, int *pnum_clobbers, machine_mode i1)
    2609              : {
    2610         1583 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2611         1583 :   int res ATTRIBUTE_UNUSED;
    2612         1583 :   if (pnum_clobbers == NULL
    2613         1561 :       || !register_operand (operands[0], i1)
    2614         1316 :       || GET_MODE (x1) != i1
    2615         2899 :       || !register_operand (operands[1], i1))
    2616         1097 :     return -1;
    2617              :   return 0;
    2618              : }
    2619              : 
    2620              : int
    2621       584444 : pattern630 (rtx x1, machine_mode i1)
    2622              : {
    2623       584444 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2624       584444 :   int res ATTRIBUTE_UNUSED;
    2625       584444 :   if (!register_operand (operands[0], i1)
    2626       558760 :       || GET_MODE (x1) != i1
    2627       558760 :       || !nonimmediate_operand (operands[1], i1)
    2628      1119693 :       || !x86_64_general_operand (operands[2], i1))
    2629       173407 :     return -1;
    2630              :   return 0;
    2631              : }
    2632              : 
    2633              : int
    2634       656953 : pattern634 (rtx x1)
    2635              : {
    2636       656953 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2637       656953 :   rtx x2, x3, x4, x5;
    2638       656953 :   int res ATTRIBUTE_UNUSED;
    2639       656953 :   x2 = XEXP (x1, 1);
    2640       656953 :   if (GET_CODE (x2) != SUBREG
    2641       256633 :       || maybe_ne (SUBREG_BYTE (x2), 0)
    2642       913586 :       || GET_MODE (x2) != E_QImode)
    2643              :     return -1;
    2644       254646 :   x3 = XEXP (x2, 0);
    2645       254646 :   switch (GET_CODE (x3))
    2646              :     {
    2647        18112 :     case AND:
    2648        18112 :       return pattern453 (x1); /* [-1, 1] */
    2649              : 
    2650            0 :     case PLUS:
    2651            0 :       res = pattern453 (x1);
    2652            0 :       if (res >= 0)
    2653            0 :         return res + 2; /* [2, 3] */
    2654              :       return -1;
    2655              : 
    2656            0 :     case MINUS:
    2657            0 :       x4 = XEXP (x3, 0);
    2658            0 :       operands[3] = x4;
    2659            0 :       if (!const_int_operand (operands[3], E_VOIDmode))
    2660              :         return -1;
    2661            0 :       x5 = XEXP (x3, 1);
    2662            0 :       operands[2] = x5;
    2663            0 :       if (!int248_register_operand (operands[2], E_VOIDmode))
    2664              :         return -1;
    2665            0 :       res = pattern14 (x1);
    2666            0 :       if (res >= 0)
    2667            0 :         return res + 4; /* [4, 5] */
    2668              :       return -1;
    2669              : 
    2670              :     default:
    2671              :       return -1;
    2672              :     }
    2673              : }
    2674              : 
    2675              : int
    2676        13646 : pattern648 (rtx x1)
    2677              : {
    2678        13646 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2679        13646 :   rtx x2, x3;
    2680        13646 :   int res ATTRIBUTE_UNUSED;
    2681        13646 :   x2 = XEXP (x1, 2);
    2682        13646 :   switch (GET_CODE (x2))
    2683              :     {
    2684        11254 :     case REG:
    2685        11254 :     case SUBREG:
    2686        11254 :       operands[4] = x2;
    2687        11254 :       switch (GET_MODE (operands[0]))
    2688              :         {
    2689              :         case E_V32HFmode:
    2690              :           return 0;
    2691              : 
    2692         1524 :         case E_V16HFmode:
    2693         1524 :           return 1;
    2694              : 
    2695          996 :         case E_V8HFmode:
    2696          996 :           return 2;
    2697              : 
    2698          695 :         case E_V16SFmode:
    2699          695 :           return 3;
    2700              : 
    2701         1086 :         case E_V8SFmode:
    2702         1086 :           return 4;
    2703              : 
    2704          868 :         case E_V4SFmode:
    2705          868 :           return 5;
    2706              : 
    2707          519 :         case E_V8DFmode:
    2708          519 :           return 6;
    2709              : 
    2710         1146 :         case E_V4DFmode:
    2711         1146 :           return 7;
    2712              : 
    2713          868 :         case E_V2DFmode:
    2714          868 :           return 8;
    2715              : 
    2716         1044 :         case E_V32BFmode:
    2717         1044 :           return 9;
    2718              : 
    2719         1060 :         case E_V16BFmode:
    2720         1060 :           return 10;
    2721              : 
    2722         1044 :         case E_V8BFmode:
    2723         1044 :           return 11;
    2724              : 
    2725              :         default:
    2726              :           return -1;
    2727              :         }
    2728              : 
    2729         1894 :     case CONST_INT:
    2730         1894 :       if (XWINT (x2, 0) != 1L)
    2731              :         return -1;
    2732         1362 :       x3 = XEXP (x1, 1);
    2733         1362 :       if (!rtx_equal_p (x3, operands[1]))
    2734              :         return -1;
    2735         1270 :       switch (GET_MODE (operands[0]))
    2736              :         {
    2737              :         case E_V8HFmode:
    2738              :           return 12;
    2739              : 
    2740              :         case E_V4SFmode:
    2741              :           return 13;
    2742              : 
    2743              :         case E_V2DFmode:
    2744              :           return 14;
    2745              : 
    2746              :         default:
    2747              :           return -1;
    2748              :         }
    2749              : 
    2750              :     default:
    2751              :       return -1;
    2752              :     }
    2753              : }
    2754              : 
    2755              : int
    2756         4875 : pattern660 (rtx x1)
    2757              : {
    2758         4875 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2759         4875 :   rtx x2, x3, x4, x5, x6, x7, x8;
    2760         4875 :   int res ATTRIBUTE_UNUSED;
    2761         4875 :   x2 = XVECEXP (x1, 0, 0);
    2762         4875 :   x3 = XEXP (x2, 0);
    2763         4875 :   x4 = XEXP (x3, 0);
    2764         4875 :   operands[1] = x4;
    2765         4875 :   x5 = XEXP (x3, 1);
    2766         4875 :   operands[2] = x5;
    2767         4875 :   x6 = XVECEXP (x1, 0, 1);
    2768         4875 :   if (!const_4_or_8_to_11_operand (x6, E_SImode))
    2769              :     return -1;
    2770         4875 :   x7 = XEXP (x2, 2);
    2771         4875 :   switch (GET_CODE (x7))
    2772              :     {
    2773         3023 :     case REG:
    2774         3023 :     case SUBREG:
    2775         3023 :       operands[4] = x7;
    2776         3023 :       x8 = XEXP (x2, 1);
    2777         3023 :       operands[3] = x8;
    2778         3023 :       operands[5] = x6;
    2779         3023 :       switch (GET_MODE (operands[0]))
    2780              :         {
    2781          881 :         case E_V32HFmode:
    2782          881 :           return pattern657 (x1, 
    2783              : E_V32HFmode, 
    2784          881 : E_SImode); /* [-1, 0] */
    2785              : 
    2786            0 :         case E_V16HFmode:
    2787            0 :           if (pattern657 (x1, 
    2788              : E_V16HFmode, 
    2789              : E_HImode) != 0)
    2790              :             return -1;
    2791              :           return 1;
    2792              : 
    2793            0 :         case E_V8HFmode:
    2794            0 :           if (pattern657 (x1, 
    2795              : E_V8HFmode, 
    2796              : E_QImode) != 0)
    2797              :             return -1;
    2798              :           return 2;
    2799              : 
    2800         1074 :         case E_V16SFmode:
    2801         1074 :           if (pattern657 (x1, 
    2802              : E_V16SFmode, 
    2803              : E_HImode) != 0)
    2804              :             return -1;
    2805              :           return 3;
    2806              : 
    2807            0 :         case E_V8SFmode:
    2808            0 :           if (pattern657 (x1, 
    2809              : E_V8SFmode, 
    2810              : E_QImode) != 0)
    2811              :             return -1;
    2812              :           return 4;
    2813              : 
    2814            0 :         case E_V4SFmode:
    2815            0 :           if (pattern657 (x1, 
    2816              : E_V4SFmode, 
    2817              : E_QImode) != 0)
    2818              :             return -1;
    2819              :           return 5;
    2820              : 
    2821         1068 :         case E_V8DFmode:
    2822         1068 :           if (pattern657 (x1, 
    2823              : E_V8DFmode, 
    2824              : E_QImode) != 0)
    2825              :             return -1;
    2826              :           return 6;
    2827              : 
    2828            0 :         case E_V4DFmode:
    2829            0 :           if (pattern657 (x1, 
    2830              : E_V4DFmode, 
    2831              : E_QImode) != 0)
    2832              :             return -1;
    2833              :           return 7;
    2834              : 
    2835            0 :         case E_V2DFmode:
    2836            0 :           if (pattern657 (x1, 
    2837              : E_V2DFmode, 
    2838              : E_QImode) != 0)
    2839              :             return -1;
    2840              :           return 8;
    2841              : 
    2842              :         default:
    2843              :           return -1;
    2844              :         }
    2845              : 
    2846         1824 :     case CONST_INT:
    2847         1824 :       res = pattern659 (x1);
    2848         1824 :       if (res >= 0)
    2849         1667 :         return res + 9; /* [9, 11] */
    2850              :       return -1;
    2851              : 
    2852              :     default:
    2853              :       return -1;
    2854              :     }
    2855              : }
    2856              : 
    2857              : int
    2858       163053 : pattern680 (rtx x1, machine_mode i1)
    2859              : {
    2860       163053 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2861       163053 :   int res ATTRIBUTE_UNUSED;
    2862       163053 :   if (!register_operand (operands[0], i1)
    2863       161771 :       || GET_MODE (x1) != i1
    2864       161765 :       || !register_operand (operands[1], i1)
    2865       284799 :       || !vector_operand (operands[2], i1))
    2866        68798 :     return -1;
    2867              :   return 0;
    2868              : }
    2869              : 
    2870              : int
    2871          181 : pattern685 (rtx x1, machine_mode i1)
    2872              : {
    2873          181 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2874          181 :   rtx x2;
    2875          181 :   int res ATTRIBUTE_UNUSED;
    2876          181 :   if (!register_operand (operands[0], i1)
    2877          181 :       || GET_MODE (x1) != i1)
    2878              :     return -1;
    2879          163 :   x2 = XEXP (x1, 0);
    2880          163 :   if (GET_MODE (x2) != i1
    2881          163 :       || !ieee_maxmin_comparison_operator (operands[1], i1)
    2882          163 :       || !nonimmediate_operand (operands[2], i1)
    2883          146 :       || !const0_operand (operands[3], i1)
    2884          205 :       || !nonimmediate_operand (operands[4], i1))
    2885          121 :     return -1;
    2886              :   return 0;
    2887              : }
    2888              : 
    2889              : int
    2890           26 : pattern690 (rtx x1)
    2891              : {
    2892           26 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2893           26 :   rtx x2, x3, x4, x5, x6, x7;
    2894           26 :   int res ATTRIBUTE_UNUSED;
    2895           26 :   x2 = XEXP (x1, 0);
    2896           26 :   x3 = XEXP (x2, 0);
    2897           26 :   x4 = XEXP (x3, 0);
    2898           26 :   x5 = XEXP (x4, 0);
    2899           26 :   x6 = XEXP (x5, 0);
    2900           26 :   operands[1] = x6;
    2901           26 :   if (!memory_operand (operands[1], E_SImode))
    2902              :     return -1;
    2903           16 :   x7 = XEXP (x2, 1);
    2904           16 :   switch (XVECLEN (x7, 0))
    2905              :     {
    2906           10 :     case 4:
    2907           10 :       return pattern687 (x1, 
    2908              : E_V16QImode, 
    2909           10 : E_V4QImode); /* [-1, 1] */
    2910              : 
    2911            6 :     case 2:
    2912            6 :       if (pattern688 (x1, 
    2913              : E_V2HImode, 
    2914              : E_V8HImode) != 0)
    2915              :         return -1;
    2916              :       return 2;
    2917              : 
    2918              :     default:
    2919              :       return -1;
    2920              :     }
    2921              : }
    2922              : 
    2923              : int
    2924         1410 : pattern697 (rtx x1)
    2925              : {
    2926         1410 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2927         1410 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    2928         1410 :   rtx x10, x11;
    2929         1410 :   int res ATTRIBUTE_UNUSED;
    2930         1410 :   x2 = XVECEXP (x1, 0, 0);
    2931         1410 :   x3 = XEXP (x2, 1);
    2932         1410 :   x4 = XEXP (x3, 0);
    2933         1410 :   x5 = XEXP (x4, 1);
    2934         1410 :   if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    2935              :     return -1;
    2936         1259 :   x6 = XEXP (x3, 1);
    2937         1259 :   if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2938              :     return -1;
    2939         1259 :   x7 = XVECEXP (x1, 0, 1);
    2940         1259 :   if (GET_CODE (x7) != CLOBBER)
    2941              :     return -1;
    2942          755 :   x8 = XEXP (x7, 0);
    2943          755 :   if (GET_CODE (x8) != REG
    2944          755 :       || REGNO (x8) != 17
    2945         1259 :       || GET_MODE (x8) != E_CCmode)
    2946              :     return -1;
    2947          472 :   x9 = XEXP (x2, 0);
    2948          472 :   operands[0] = x9;
    2949          472 :   if (!register_operand (operands[0], E_QImode)
    2950          472 :       || GET_MODE (x3) != E_QImode)
    2951              :     return -1;
    2952          468 :   x10 = XEXP (x4, 0);
    2953          468 :   operands[1] = x10;
    2954          468 :   x11 = XEXP (x4, 2);
    2955          468 :   operands[2] = x11;
    2956          468 :   if (!register_operand (operands[2], E_QImode))
    2957              :     return -1;
    2958          412 :   switch (GET_MODE (x4))
    2959              :     {
    2960          127 :     case E_SImode:
    2961          127 :       if (!register_operand (operands[1], E_SImode))
    2962              :         return -1;
    2963              :       return 0;
    2964              : 
    2965          285 :     case E_DImode:
    2966          285 :       if (!register_operand (operands[1], E_DImode))
    2967              :         return -1;
    2968              :       return 1;
    2969              : 
    2970              :     default:
    2971              :       return -1;
    2972              :     }
    2973              : }
    2974              : 
    2975              : int
    2976          195 : pattern708 (rtx x1, machine_mode i1)
    2977              : {
    2978          195 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2979          195 :   int res ATTRIBUTE_UNUSED;
    2980          195 :   if (!register_operand (operands[0], i1)
    2981          179 :       || GET_MODE (x1) != i1
    2982          179 :       || !register_operand (operands[1], i1)
    2983          310 :       || !register_operand (operands[2], i1))
    2984          136 :     return -1;
    2985              :   return 0;
    2986              : }
    2987              : 
    2988              : int
    2989         7961 : pattern717 (rtx x1, int i1, int i2)
    2990              : {
    2991         7961 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2992         7961 :   rtx x2, x3, x4, x5, x6, x7, x8;
    2993         7961 :   int res ATTRIBUTE_UNUSED;
    2994         7961 :   x2 = XVECEXP (x1, 0, 1);
    2995         7961 :   if (GET_CODE (x2) != SET)
    2996              :     return -1;
    2997         7961 :   x3 = XEXP (x2, 1);
    2998         7961 :   if (GET_CODE (x3) != UNSPEC
    2999         6415 :       || XVECLEN (x3, 0) != i2
    3000         6415 :       || XINT (x3, 1) != i1
    3001         6415 :       || GET_MODE (x3) != E_V16QImode)
    3002              :     return -1;
    3003         6415 :   x4 = XVECEXP (x1, 0, 2);
    3004         6415 :   if (GET_CODE (x4) != SET)
    3005              :     return -1;
    3006         6415 :   x5 = XEXP (x4, 1);
    3007         6415 :   if (GET_CODE (x5) != UNSPEC
    3008         5909 :       || XVECLEN (x5, 0) != i2
    3009         5909 :       || XINT (x5, 1) != i1
    3010         5909 :       || GET_MODE (x5) != E_CCmode)
    3011              :     return -1;
    3012         5909 :   x6 = XEXP (x4, 0);
    3013         5909 :   if (GET_CODE (x6) != REG
    3014         5909 :       || REGNO (x6) != 17
    3015        11818 :       || GET_MODE (x6) != E_CCmode)
    3016              :     return -1;
    3017         5909 :   x7 = XVECEXP (x1, 0, 0);
    3018         5909 :   x8 = XEXP (x7, 0);
    3019         5909 :   operands[0] = x8;
    3020         5909 :   return 0;
    3021              : }
    3022              : 
    3023              : int
    3024       124140 : pattern725 (rtx x1, machine_mode i1, machine_mode i2)
    3025              : {
    3026       124140 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3027       124140 :   rtx x2, x3, x4, x5, x6, x7;
    3028       124140 :   int res ATTRIBUTE_UNUSED;
    3029       124140 :   x2 = XVECEXP (x1, 0, 0);
    3030       124140 :   x3 = XEXP (x2, 1);
    3031       124140 :   x4 = XEXP (x3, 1);
    3032       124140 :   if (GET_MODE (x4) != i2)
    3033              :     return -1;
    3034       124140 :   x5 = XEXP (x4, 0);
    3035       124140 :   if (GET_MODE (x5) != i1
    3036       124140 :       || !nonimmediate_operand (operands[0], i1))
    3037            0 :     return -1;
    3038       124140 :   x6 = XVECEXP (x1, 0, 1);
    3039       124140 :   x7 = XEXP (x6, 1);
    3040       124140 :   if (GET_MODE (x7) != i1)
    3041              :     return -1;
    3042              :   return 0;
    3043              : }
    3044              : 
    3045              : int
    3046       133806 : pattern733 (rtx x1, machine_mode i1)
    3047              : {
    3048       133806 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3049       133806 :   rtx x2;
    3050       133806 :   int res ATTRIBUTE_UNUSED;
    3051       133806 :   if (peep2_current_count < 2
    3052       133806 :       || peep2_current_count < 3
    3053       123206 :       || !general_reg_operand (operands[0], i1)
    3054       228060 :       || !general_reg_operand (operands[1], i1))
    3055        45025 :     return -1;
    3056        88781 :   x2 = PATTERN (peep2_next_insn (2));
    3057        88781 :   if (GET_CODE (x2) != SET)
    3058              :     return -1;
    3059        59549 :   switch (GET_CODE (x1))
    3060              :     {
    3061              :     case SET:
    3062              :       return 0;
    3063              : 
    3064        25156 :     case PARALLEL:
    3065        25156 :       return 1;
    3066              : 
    3067              :     default:
    3068              :       return -1;
    3069              :     }
    3070              : }
    3071              : 
    3072              : int
    3073      3815283 : pattern737 (rtx x1, machine_mode i1)
    3074              : {
    3075      3815283 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3076      3815283 :   rtx x2, x3, x4, x5, x6;
    3077      3815283 :   int res ATTRIBUTE_UNUSED;
    3078      3815283 :   if (!register_operand (operands[0], i1)
    3079      3815283 :       || GET_CODE (x1) != SET)
    3080              :     return -1;
    3081      3019898 :   x2 = XEXP (x1, 1);
    3082      3019898 :   if (GET_CODE (x2) != PLUS
    3083       272268 :       || GET_MODE (x2) != i1)
    3084              :     return -1;
    3085       264706 :   x3 = XEXP (x1, 0);
    3086       264706 :   operands[3] = x3;
    3087       264706 :   if (!register_operand (operands[3], i1))
    3088              :     return -1;
    3089       264706 :   x4 = XEXP (x2, 0);
    3090       264706 :   operands[4] = x4;
    3091       264706 :   if (!register_operand (operands[4], i1))
    3092              :     return -1;
    3093       216402 :   x5 = XEXP (x2, 1);
    3094       216402 :   operands[2] = x5;
    3095       216402 :   if (!x86_64_nonmemory_operand (operands[2], i1))
    3096              :     return -1;
    3097       207729 :   x6 = PATTERN (peep2_next_insn (2));
    3098       207729 :   return pattern735 (x6, 
    3099       207729 : i1); /* [-1, 0] */
    3100              : }
    3101              : 
    3102              : int
    3103          720 : pattern749 (rtx x1, machine_mode i1)
    3104              : {
    3105          720 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3106          720 :   rtx x2;
    3107          720 :   int res ATTRIBUTE_UNUSED;
    3108          720 :   if (!nonimmediate_operand (operands[0], i1)
    3109          720 :       || GET_MODE (x1) != i1)
    3110              :     return -1;
    3111          720 :   x2 = XEXP (x1, 0);
    3112          720 :   if (GET_MODE (x2) != i1
    3113          720 :       || !nonimmediate_operand (operands[1], i1)
    3114         1103 :       || !general_operand (operands[2], i1))
    3115          337 :     return -1;
    3116              :   return 0;
    3117              : }
    3118              : 
    3119              : int
    3120        67600 : pattern752 ()
    3121              : {
    3122        67600 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3123        67600 :   int res ATTRIBUTE_UNUSED;
    3124        67600 :   switch (GET_MODE (operands[0]))
    3125              :     {
    3126        55067 :     case E_XFmode:
    3127        55067 :       if (!register_operand (operands[0], E_XFmode)
    3128        55067 :           || !binary_fp_operator (operands[3], E_XFmode))
    3129         1004 :         return -1;
    3130              :       return 0;
    3131              : 
    3132        10804 :     case E_DFmode:
    3133        10804 :       if (!register_operand (operands[0], E_DFmode)
    3134        10804 :           || !binary_fp_operator (operands[3], E_DFmode))
    3135           50 :         return -1;
    3136              :       return 1;
    3137              : 
    3138              :     default:
    3139              :       return -1;
    3140              :     }
    3141              : }
    3142              : 
    3143              : int
    3144         5347 : pattern761 (rtx x1)
    3145              : {
    3146         5347 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3147         5347 :   rtx x2, x3, x4;
    3148         5347 :   int res ATTRIBUTE_UNUSED;
    3149         5347 :   x2 = XEXP (x1, 0);
    3150         5347 :   x3 = XEXP (x2, 0);
    3151         5347 :   operands[1] = x3;
    3152         5347 :   x4 = XEXP (x1, 1);
    3153         5347 :   if (!rtx_equal_p (x4, operands[1]))
    3154              :     return -1;
    3155         2643 :   switch (GET_MODE (x1))
    3156              :     {
    3157         1104 :     case E_SImode:
    3158         1104 :       if (GET_MODE (x2) != E_SImode
    3159         1104 :           || !nonimmediate_operand (operands[1], E_SImode))
    3160           21 :         return -1;
    3161              :       return 0;
    3162              : 
    3163         1533 :     case E_DImode:
    3164         1533 :       if (GET_MODE (x2) != E_DImode
    3165         1533 :           || !nonimmediate_operand (operands[1], E_DImode))
    3166           16 :         return -1;
    3167              :       return 1;
    3168              : 
    3169              :     default:
    3170              :       return -1;
    3171              :     }
    3172              : }
    3173              : 
    3174              : int
    3175         2998 : pattern773 (rtx x1, machine_mode i1)
    3176              : {
    3177         2998 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3178         2998 :   rtx x2, x3;
    3179         2998 :   int res ATTRIBUTE_UNUSED;
    3180         2998 :   if (!register_operand (operands[0], i1)
    3181         2998 :       || GET_MODE (x1) != i1)
    3182              :     return -1;
    3183         2926 :   x2 = XEXP (x1, 0);
    3184         2926 :   if (GET_MODE (x2) != i1)
    3185              :     return -1;
    3186         2926 :   x3 = XEXP (x2, 0);
    3187         2926 :   if (GET_MODE (x3) != i1
    3188         2926 :       || !register_operand (operands[1], i1)
    3189         2926 :       || !nonimmediate_operand (operands[2], i1)
    3190         5852 :       || !nonimm_or_0_operand (operands[3], i1))
    3191            0 :     return -1;
    3192              :   return 0;
    3193              : }
    3194              : 
    3195              : int
    3196          213 : pattern779 (rtx x1, machine_mode i1)
    3197              : {
    3198          213 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3199          213 :   int res ATTRIBUTE_UNUSED;
    3200          213 :   if (!register_operand (operands[0], i1)
    3201          213 :       || GET_MODE (x1) != i1)
    3202              :     return -1;
    3203          182 :   switch (GET_MODE (operands[1]))
    3204              :     {
    3205           77 :     case E_V8HFmode:
    3206           77 :       if (!vector_operand (operands[1], E_V8HFmode))
    3207              :         return -1;
    3208              :       return 0;
    3209              : 
    3210           73 :     case E_V8SFmode:
    3211           73 :       if (!nonimmediate_operand (operands[1], E_V8SFmode))
    3212              :         return -1;
    3213              :       return 1;
    3214              : 
    3215           32 :     case E_V8DFmode:
    3216           32 :       if (!nonimmediate_operand (operands[1], E_V8DFmode))
    3217              :         return -1;
    3218              :       return 2;
    3219              : 
    3220              :     default:
    3221              :       return -1;
    3222              :     }
    3223              : }
    3224              : 
    3225              : int
    3226        40260 : pattern786 (rtx x1, machine_mode i1, machine_mode i2)
    3227              : {
    3228        40260 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3229        40260 :   int res ATTRIBUTE_UNUSED;
    3230        40260 :   if (!register_operand (operands[0], i2)
    3231        40253 :       || GET_MODE (x1) != i2
    3232        40253 :       || !vector_operand (operands[1], i1)
    3233        75996 :       || !vector_operand (operands[2], i1))
    3234        18813 :     return -1;
    3235              :   return 0;
    3236              : }
    3237              : 
    3238              : int
    3239         3105 : pattern793 (rtx x1, machine_mode i1, machine_mode i2)
    3240              : {
    3241         3105 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3242         3105 :   int res ATTRIBUTE_UNUSED;
    3243         3105 :   if (!memory_operand (operands[0], i1)
    3244         3093 :       || GET_MODE (x1) != i1
    3245         3093 :       || !register_operand (operands[1], i1)
    3246         5982 :       || !const0_or_m1_operand (operands[2], i2))
    3247         3099 :     return -1;
    3248              :   return 0;
    3249              : }
    3250              : 
    3251              : int
    3252          308 : pattern802 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
    3253              : {
    3254          308 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3255          308 :   rtx x2, x3;
    3256          308 :   int res ATTRIBUTE_UNUSED;
    3257          308 :   if (!register_operand (operands[0], i3)
    3258          308 :       || GET_MODE (x1) != i3)
    3259              :     return -1;
    3260          308 :   x2 = XEXP (x1, 0);
    3261          308 :   if (GET_MODE (x2) != i2
    3262          308 :       || !register_operand (operands[1], i1))
    3263            0 :     return -1;
    3264          308 :   x3 = XEXP (x1, 1);
    3265          308 :   if (GET_MODE (x3) != i2
    3266          308 :       || !vector_operand (operands[2], i1))
    3267            0 :     return -1;
    3268              :   return 0;
    3269              : }
    3270              : 
    3271              : int
    3272           95 : pattern811 (rtx x1, machine_mode i1, machine_mode i2)
    3273              : {
    3274           95 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3275           95 :   rtx x2;
    3276           95 :   int res ATTRIBUTE_UNUSED;
    3277           95 :   if (!register_operand (operands[0], i2)
    3278           95 :       || GET_MODE (x1) != i2)
    3279              :     return -1;
    3280           95 :   x2 = XEXP (x1, 0);
    3281           95 :   if (GET_MODE (x2) != i2
    3282           45 :       || !memory_operand (operands[1], i1)
    3283          133 :       || !general_operand (operands[2], i1))
    3284           57 :     return -1;
    3285              :   return 0;
    3286              : }
    3287              : 
    3288              : int
    3289        40376 : pattern819 (rtx x1)
    3290              : {
    3291        40376 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3292        40376 :   rtx x2, x3, x4, x5;
    3293        40376 :   int res ATTRIBUTE_UNUSED;
    3294        40376 :   x2 = XEXP (x1, 1);
    3295        40376 :   x3 = XEXP (x2, 0);
    3296        40376 :   x4 = XEXP (x3, 0);
    3297        40376 :   operands[2] = x4;
    3298        40376 :   if (!int248_register_operand (operands[2], E_VOIDmode))
    3299              :     return -1;
    3300        35694 :   x5 = XEXP (x3, 1);
    3301        35694 :   operands[3] = x5;
    3302        35694 :   if (!const_int_operand (operands[3], E_VOIDmode))
    3303              :     return -1;
    3304        35680 :   return pattern249 (x1); /* [-1, 1] */
    3305              : }
    3306              : 
    3307              : int
    3308        40908 : pattern823 (rtx x1, machine_mode i1)
    3309              : {
    3310        40908 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3311        40908 :   rtx x2, x3, x4, x5;
    3312        40908 :   int res ATTRIBUTE_UNUSED;
    3313        40908 :   x2 = XVECEXP (x1, 0, 1);
    3314        40908 :   x3 = XEXP (x2, 0);
    3315        40908 :   if (GET_CODE (x3) != REG
    3316        40908 :       || REGNO (x3) != 17
    3317        81816 :       || GET_MODE (x3) != E_CCmode)
    3318              :     return -1;
    3319        40908 :   x4 = XVECEXP (x1, 0, 0);
    3320        40908 :   x5 = XEXP (x4, 0);
    3321        40908 :   operands[0] = x5;
    3322        40908 :   if (!register_operand (operands[0], i1))
    3323              :     return -1;
    3324              :   return 0;
    3325              : }
    3326              : 
    3327              : int
    3328       364096 : pattern827 (rtx x1, machine_mode i1)
    3329              : {
    3330       364096 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3331       364096 :   rtx x2, x3;
    3332       364096 :   int res ATTRIBUTE_UNUSED;
    3333       364096 :   x2 = XEXP (x1, 0);
    3334       364096 :   if (GET_CODE (x2) != REG
    3335       364096 :       || REGNO (x2) != 17
    3336       728192 :       || GET_MODE (x2) != i1)
    3337              :     return -1;
    3338       364065 :   x3 = XEXP (x1, 1);
    3339       364065 :   if (GET_MODE (x3) != i1)
    3340            0 :     return -1;
    3341              :   return 0;
    3342              : }
    3343              : 
    3344              : int
    3345           57 : pattern832 (rtx x1)
    3346              : {
    3347           57 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3348           57 :   rtx x2, x3, x4;
    3349           57 :   int res ATTRIBUTE_UNUSED;
    3350           57 :   x2 = XVECEXP (x1, 0, 1);
    3351           57 :   if (GET_CODE (x2) != UNSPEC
    3352           55 :       || XVECLEN (x2, 0) != 1
    3353           55 :       || XINT (x2, 1) != 39)
    3354              :     return -1;
    3355           55 :   x3 = XVECEXP (x1, 0, 2);
    3356           55 :   if (GET_CODE (x3) != CLOBBER)
    3357              :     return -1;
    3358           55 :   x4 = XEXP (x3, 0);
    3359           55 :   if (GET_CODE (x4) != REG
    3360           55 :       || REGNO (x4) != 17
    3361          110 :       || GET_MODE (x4) != E_CCmode)
    3362              :     return -1;
    3363           55 :   return pattern548 (x1); /* [-1, 1] */
    3364              : }
    3365              : 
    3366              : int
    3367           39 : pattern837 (rtx x1)
    3368              : {
    3369           39 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3370           39 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    3371           39 :   rtx x10;
    3372           39 :   int res ATTRIBUTE_UNUSED;
    3373           39 :   x2 = XVECEXP (x1, 0, 1);
    3374           39 :   if (GET_CODE (x2) != UNSPEC
    3375           26 :       || XVECLEN (x2, 0) != 1
    3376           26 :       || XINT (x2, 1) != 39)
    3377              :     return -1;
    3378           26 :   x3 = XVECEXP (x1, 0, 2);
    3379           26 :   if (GET_CODE (x3) != CLOBBER)
    3380              :     return -1;
    3381           26 :   x4 = XEXP (x3, 0);
    3382           26 :   if (GET_CODE (x4) != REG
    3383           26 :       || REGNO (x4) != 17
    3384           52 :       || GET_MODE (x4) != E_CCmode)
    3385              :     return -1;
    3386           26 :   x5 = XVECEXP (x1, 0, 0);
    3387           26 :   x6 = XEXP (x5, 0);
    3388           26 :   operands[0] = x6;
    3389           26 :   x7 = XEXP (x5, 1);
    3390           26 :   x8 = XEXP (x7, 0);
    3391           26 :   x9 = XEXP (x8, 0);
    3392           26 :   operands[1] = x9;
    3393           26 :   if (!nonimmediate_operand (operands[1], E_SImode))
    3394              :     return -1;
    3395           26 :   x10 = XVECEXP (x2, 0, 0);
    3396           26 :   operands[2] = x10;
    3397           26 :   if (!register_operand (operands[2], E_DImode))
    3398              :     return -1;
    3399              :   return 0;
    3400              : }
    3401              : 
    3402              : int
    3403         2938 : pattern846 (rtx x1, int i1, int i2, int i3)
    3404              : {
    3405         2938 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3406         2938 :   rtx x2, x3, x4, x5, x6, x7, x8;
    3407         2938 :   int res ATTRIBUTE_UNUSED;
    3408         2938 :   x2 = XVECEXP (x1, 0, 0);
    3409         2938 :   if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    3410              :     return -1;
    3411         1139 :   x3 = XVECEXP (x1, 0, 1);
    3412         1139 :   if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    3413              :     return -1;
    3414         1103 :   x4 = XVECEXP (x1, 0, 2);
    3415         1103 :   if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
    3416              :     return -1;
    3417         1103 :   x5 = XVECEXP (x1, 0, 3);
    3418         1103 :   if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
    3419              :     return -1;
    3420         1103 :   x6 = XVECEXP (x1, 0, 4);
    3421         1103 :   if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + i3])
    3422              :     return -1;
    3423         1075 :   x7 = XVECEXP (x1, 0, 5);
    3424         1075 :   if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + i2])
    3425              :     return -1;
    3426         1066 :   x8 = XVECEXP (x1, 0, 6);
    3427         1066 :   if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + i1])
    3428            0 :     return -1;
    3429              :   return 0;
    3430              : }
    3431              : 
    3432              : int
    3433          144 : pattern856 (rtx x1, machine_mode i1)
    3434              : {
    3435          144 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3436          144 :   int res ATTRIBUTE_UNUSED;
    3437          144 :   if (GET_MODE (x1) != i1
    3438          144 :       || !register_operand (operands[3], i1)
    3439          120 :       || !nonmemory_operand (operands[4], i1)
    3440          264 :       || !const0_operand (operands[5], i1))
    3441           72 :     return -1;
    3442              :   return 0;
    3443              : }
    3444              : 
    3445              : int
    3446        25425 : pattern860 (machine_mode i1)
    3447              : {
    3448        25425 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3449        25425 :   int res ATTRIBUTE_UNUSED;
    3450        25425 :   if (!register_operand (operands[0], i1)
    3451        25276 :       || !ix86_comparison_int_operator (operands[1], i1)
    3452        25145 :       || !register_operand (operands[2], i1)
    3453        38489 :       || !register_operand (operands[3], i1))
    3454        25290 :     return -1;
    3455              :   return 0;
    3456              : }
    3457              : 
    3458              : int
    3459         3413 : pattern864 (rtx x1)
    3460              : {
    3461         3413 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3462         3413 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    3463         3413 :   rtx x10, x11, x12, x13, x14, x15, x16, x17;
    3464         3413 :   rtx x18, x19;
    3465         3413 :   int res ATTRIBUTE_UNUSED;
    3466         3413 :   x2 = XEXP (x1, 1);
    3467         3413 :   x3 = XEXP (x2, 0);
    3468         3413 :   if (GET_CODE (x3) != VEC_CONCAT)
    3469              :     return -1;
    3470         3383 :   x4 = XEXP (x1, 0);
    3471         3383 :   x5 = XEXP (x4, 0);
    3472         3383 :   x6 = XEXP (x5, 0);
    3473         3383 :   operands[1] = x6;
    3474         3383 :   x7 = XEXP (x5, 1);
    3475         3383 :   operands[2] = x7;
    3476         3383 :   x8 = XEXP (x3, 0);
    3477         3383 :   if (!rtx_equal_p (x8, operands[1]))
    3478              :     return -1;
    3479         2773 :   x9 = XEXP (x3, 1);
    3480         2773 :   if (!rtx_equal_p (x9, operands[2]))
    3481              :     return -1;
    3482         2763 :   x10 = XEXP (x4, 1);
    3483         2763 :   switch (XVECLEN (x10, 0))
    3484              :     {
    3485         1300 :     case 4:
    3486         1300 :       x11 = XVECEXP (x10, 0, 0);
    3487         1300 :       if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    3488              :         return -1;
    3489          675 :       x12 = XVECEXP (x10, 0, 1);
    3490          675 :       if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
    3491              :         return -1;
    3492          675 :       x13 = XVECEXP (x10, 0, 2);
    3493          675 :       if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
    3494              :         return -1;
    3495          675 :       x14 = XVECEXP (x10, 0, 3);
    3496          675 :       if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
    3497              :         return -1;
    3498          675 :       x15 = XEXP (x2, 1);
    3499          675 :       if (XVECLEN (x15, 0) != 4)
    3500              :         return -1;
    3501          675 :       x16 = XVECEXP (x15, 0, 0);
    3502          675 :       if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    3503              :         return -1;
    3504          675 :       x17 = XVECEXP (x15, 0, 1);
    3505          675 :       if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
    3506              :         return -1;
    3507          675 :       x18 = XVECEXP (x15, 0, 2);
    3508          675 :       if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
    3509              :         return -1;
    3510          675 :       x19 = XVECEXP (x15, 0, 3);
    3511          675 :       if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
    3512          675 :           || pattern863 (x1, 
    3513              : E_V8HImode, 
    3514              : E_V4HImode) != 0)
    3515          385 :         return -1;
    3516              :       return 0;
    3517              : 
    3518          460 :     case 2:
    3519          460 :       x11 = XVECEXP (x10, 0, 0);
    3520          460 :       if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    3521              :         return -1;
    3522          376 :       x12 = XVECEXP (x10, 0, 1);
    3523          376 :       if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
    3524              :         return -1;
    3525          376 :       x15 = XEXP (x2, 1);
    3526          376 :       if (XVECLEN (x15, 0) != 2)
    3527              :         return -1;
    3528          376 :       x16 = XVECEXP (x15, 0, 0);
    3529          376 :       if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    3530              :         return -1;
    3531          376 :       x17 = XVECEXP (x15, 0, 1);
    3532          376 :       if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 3]
    3533          376 :           || pattern863 (x1, 
    3534              : E_V4SImode, 
    3535              : E_V2SImode) != 0)
    3536           72 :         return -1;
    3537              :       return 1;
    3538              : 
    3539              :     default:
    3540              :       return -1;
    3541              :     }
    3542              : }
    3543              : 
    3544              : int
    3545        56091 : pattern896 (rtx x1, machine_mode i1, machine_mode i2)
    3546              : {
    3547        56091 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3548        56091 :   rtx x2, x3, x4;
    3549        56091 :   int res ATTRIBUTE_UNUSED;
    3550        56091 :   if (!register_operand (operands[0], i1)
    3551        56091 :       || GET_MODE (x1) != i1)
    3552              :     return -1;
    3553        55417 :   x2 = XEXP (x1, 0);
    3554        55417 :   if (GET_MODE (x2) != i1)
    3555              :     return -1;
    3556        55417 :   x3 = XEXP (x2, 0);
    3557        55417 :   operands[2] = x3;
    3558        55417 :   if (!nonimmediate_operand (operands[2], i2))
    3559              :     return -1;
    3560        45611 :   x4 = XEXP (x1, 1);
    3561        45611 :   operands[1] = x4;
    3562        45611 :   if (!register_operand (operands[1], i1))
    3563              :     return -1;
    3564              :   return 0;
    3565              : }
    3566              : 
    3567              : int
    3568         1707 : pattern906 (rtx x1, machine_mode i1)
    3569              : {
    3570         1707 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3571         1707 :   rtx x2, x3;
    3572         1707 :   int res ATTRIBUTE_UNUSED;
    3573         1707 :   if (!register_operand (operands[0], i1)
    3574         1707 :       || GET_MODE (x1) != i1)
    3575              :     return -1;
    3576         1630 :   x2 = XEXP (x1, 0);
    3577         1630 :   if (GET_MODE (x2) != i1
    3578         1630 :       || !nonimm_or_0_operand (operands[2], i1))
    3579           33 :     return -1;
    3580         1597 :   x3 = XEXP (x2, 0);
    3581         1597 :   switch (GET_MODE (x3))
    3582              :     {
    3583          767 :     case E_V4QImode:
    3584          767 :       if (!register_operand (operands[1], E_V16QImode))
    3585              :         return -1;
    3586              :       return 0;
    3587              : 
    3588          830 :     case E_V4HImode:
    3589          830 :       if (!register_operand (operands[1], E_V8HImode))
    3590              :         return -1;
    3591              :       return 1;
    3592              : 
    3593              :     default:
    3594              :       return -1;
    3595              :     }
    3596              : }
    3597              : 
    3598              : int
    3599         9634 : pattern916 (rtx x1, machine_mode i1, machine_mode i2)
    3600              : {
    3601         9634 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3602         9634 :   int res ATTRIBUTE_UNUSED;
    3603         9634 :   if (!memory_operand (operands[0], i2)
    3604         9536 :       || GET_MODE (x1) != i2
    3605         9536 :       || !register_operand (operands[1], i2)
    3606        17087 :       || !register_operand (operands[2], i1))
    3607         2334 :     return -1;
    3608              :   return 0;
    3609              : }
    3610              : 
    3611              : int
    3612         5165 : pattern918 (rtx x1)
    3613              : {
    3614         5165 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3615         5165 :   int res ATTRIBUTE_UNUSED;
    3616         5165 :   if (!const_int_operand (operands[3], E_VOIDmode))
    3617              :     return -1;
    3618         2759 :   switch (GET_MODE (operands[0]))
    3619              :     {
    3620          151 :     case E_V16SImode:
    3621          151 :       return pattern917 (x1, 
    3622          151 : E_V16SImode); /* [-1, 0] */
    3623              : 
    3624          171 :     case E_V16SFmode:
    3625          171 :       if (pattern917 (x1, 
    3626              : E_V16SFmode) != 0)
    3627              :         return -1;
    3628              :       return 1;
    3629              : 
    3630          188 :     case E_V8DImode:
    3631          188 :       if (pattern917 (x1, 
    3632              : E_V8DImode) != 0)
    3633              :         return -1;
    3634              :       return 2;
    3635              : 
    3636          182 :     case E_V8DFmode:
    3637          182 :       if (pattern917 (x1, 
    3638              : E_V8DFmode) != 0)
    3639              :         return -1;
    3640              :       return 3;
    3641              : 
    3642          149 :     case E_V8SImode:
    3643          149 :       if (pattern917 (x1, 
    3644              : E_V8SImode) != 0)
    3645              :         return -1;
    3646              :       return 4;
    3647              : 
    3648          171 :     case E_V8SFmode:
    3649          171 :       if (pattern917 (x1, 
    3650              : E_V8SFmode) != 0)
    3651              :         return -1;
    3652              :       return 5;
    3653              : 
    3654          186 :     case E_V4DImode:
    3655          186 :       if (pattern917 (x1, 
    3656              : E_V4DImode) != 0)
    3657              :         return -1;
    3658              :       return 6;
    3659              : 
    3660          172 :     case E_V4DFmode:
    3661          172 :       if (pattern917 (x1, 
    3662              : E_V4DFmode) != 0)
    3663              :         return -1;
    3664              :       return 7;
    3665              : 
    3666          131 :     case E_V4SImode:
    3667          131 :       if (pattern917 (x1, 
    3668              : E_V4SImode) != 0)
    3669              :         return -1;
    3670              :       return 8;
    3671              : 
    3672          152 :     case E_V4SFmode:
    3673          152 :       if (pattern917 (x1, 
    3674              : E_V4SFmode) != 0)
    3675              :         return -1;
    3676              :       return 9;
    3677              : 
    3678          160 :     case E_V2DImode:
    3679          160 :       if (pattern917 (x1, 
    3680              : E_V2DImode) != 0)
    3681              :         return -1;
    3682              :       return 10;
    3683              : 
    3684          148 :     case E_V2DFmode:
    3685          148 :       if (pattern917 (x1, 
    3686              : E_V2DFmode) != 0)
    3687              :         return -1;
    3688              :       return 11;
    3689              : 
    3690          121 :     case E_V64QImode:
    3691          121 :       if (pattern917 (x1, 
    3692              : E_V64QImode) != 0)
    3693              :         return -1;
    3694              :       return 12;
    3695              : 
    3696          126 :     case E_V16QImode:
    3697          126 :       if (pattern917 (x1, 
    3698              : E_V16QImode) != 0)
    3699              :         return -1;
    3700              :       return 13;
    3701              : 
    3702          141 :     case E_V32QImode:
    3703          141 :       if (pattern917 (x1, 
    3704              : E_V32QImode) != 0)
    3705              :         return -1;
    3706              :       return 14;
    3707              : 
    3708          143 :     case E_V32HImode:
    3709          143 :       if (pattern917 (x1, 
    3710              : E_V32HImode) != 0)
    3711              :         return -1;
    3712              :       return 15;
    3713              : 
    3714          141 :     case E_V16HImode:
    3715          141 :       if (pattern917 (x1, 
    3716              : E_V16HImode) != 0)
    3717              :         return -1;
    3718              :       return 16;
    3719              : 
    3720          126 :     case E_V8HImode:
    3721          126 :       if (pattern917 (x1, 
    3722              : E_V8HImode) != 0)
    3723              :         return -1;
    3724              :       return 17;
    3725              : 
    3726              :     default:
    3727              :       return -1;
    3728              :     }
    3729              : }
    3730              : 
    3731              : int
    3732            0 : pattern943 (rtx x1, machine_mode i1)
    3733              : {
    3734            0 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3735            0 :   rtx x2, x3;
    3736            0 :   int res ATTRIBUTE_UNUSED;
    3737            0 :   if (!nonimmediate_operand (operands[0], i1)
    3738            0 :       || GET_MODE (x1) != i1)
    3739              :     return -1;
    3740            0 :   x2 = XEXP (x1, 0);
    3741            0 :   if (GET_MODE (x2) != i1
    3742            0 :       || !nonimmediate_operand (operands[1], i1))
    3743            0 :     return -1;
    3744            0 :   x3 = XEXP (x2, 1);
    3745            0 :   if (GET_MODE (x3) != i1
    3746            0 :       || !immediate_operand (operands[2], i1))
    3747            0 :     return -1;
    3748              :   return 0;
    3749              : }
    3750              : 
    3751              : int
    3752         7690 : pattern950 (rtx x1)
    3753              : {
    3754         7690 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3755         7690 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    3756         7690 :   rtx x10, x11;
    3757         7690 :   int res ATTRIBUTE_UNUSED;
    3758         7690 :   x2 = XEXP (x1, 0);
    3759         7690 :   operands[0] = x2;
    3760         7690 :   x3 = XEXP (x1, 1);
    3761         7690 :   x4 = XEXP (x3, 0);
    3762         7690 :   switch (XVECLEN (x4, 0))
    3763              :     {
    3764         7260 :     case 1:
    3765         7260 :       if (XINT (x4, 1) != 20)
    3766              :         return -1;
    3767         7195 :       x5 = XVECEXP (x4, 0, 0);
    3768         7195 :       if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    3769              :         return -1;
    3770         7195 :       return pattern948 (x3); /* [-1, 1] */
    3771              : 
    3772           27 :     case 4:
    3773           27 :       if (XINT (x4, 1) != 23
    3774            0 :           || GET_MODE (x4) != E_SImode)
    3775              :         return -1;
    3776            0 :       x6 = XVECEXP (x4, 0, 3);
    3777            0 :       if (GET_CODE (x6) != REG
    3778            0 :           || REGNO (x6) != 7
    3779            0 :           || GET_MODE (x6) != E_SImode)
    3780              :         return -1;
    3781            0 :       x7 = XEXP (x3, 1);
    3782            0 :       if (GET_CODE (x7) != CONST
    3783            0 :           || GET_MODE (x7) != E_SImode)
    3784              :         return -1;
    3785            0 :       x8 = XEXP (x7, 0);
    3786            0 :       if (GET_CODE (x8) != UNSPEC
    3787            0 :           || XVECLEN (x8, 0) != 1
    3788            0 :           || XINT (x8, 1) != 6
    3789            0 :           || GET_MODE (x8) != E_SImode
    3790            0 :           || !register_operand (operands[0], E_SImode)
    3791            0 :           || GET_MODE (x3) != E_SImode)
    3792            0 :         return -1;
    3793            0 :       x5 = XVECEXP (x4, 0, 0);
    3794            0 :       operands[3] = x5;
    3795            0 :       if (!tls_modbase_operand (operands[3], E_VOIDmode))
    3796              :         return -1;
    3797            0 :       x9 = XVECEXP (x4, 0, 1);
    3798            0 :       operands[4] = x9;
    3799            0 :       x10 = XVECEXP (x4, 0, 2);
    3800            0 :       operands[2] = x10;
    3801            0 :       if (!register_operand (operands[2], E_SImode))
    3802              :         return -1;
    3803            0 :       x11 = XVECEXP (x8, 0, 0);
    3804            0 :       operands[1] = x11;
    3805            0 :       if (!tls_symbolic_operand (operands[1], E_VOIDmode))
    3806              :         return -1;
    3807              :       return 2;
    3808              : 
    3809          403 :     case 3:
    3810          403 :       if (XINT (x4, 1) != 23)
    3811              :         return -1;
    3812          138 :       x10 = XVECEXP (x4, 0, 2);
    3813          138 :       if (GET_CODE (x10) != REG
    3814          138 :           || REGNO (x10) != 7)
    3815              :         return -1;
    3816          138 :       x7 = XEXP (x3, 1);
    3817          138 :       if (GET_CODE (x7) != CONST)
    3818              :         return -1;
    3819           55 :       x8 = XEXP (x7, 0);
    3820           55 :       if (GET_CODE (x8) != UNSPEC
    3821           55 :           || XVECLEN (x8, 0) != 1
    3822           55 :           || XINT (x8, 1) != 6)
    3823              :         return -1;
    3824           55 :       x5 = XVECEXP (x4, 0, 0);
    3825           55 :       operands[2] = x5;
    3826           55 :       if (!tls_modbase_operand (operands[2], E_VOIDmode))
    3827              :         return -1;
    3828           55 :       x9 = XVECEXP (x4, 0, 1);
    3829           55 :       operands[3] = x9;
    3830           55 :       x11 = XVECEXP (x8, 0, 0);
    3831           55 :       operands[1] = x11;
    3832           55 :       if (!tls_symbolic_operand (operands[1], E_VOIDmode))
    3833              :         return -1;
    3834           55 :       switch (GET_MODE (operands[0]))
    3835              :         {
    3836            8 :         case E_SImode:
    3837            8 :           if (pattern949 (x3, 
    3838              : E_SImode) != 0)
    3839              :             return -1;
    3840              :           return 3;
    3841              : 
    3842           47 :         case E_DImode:
    3843           47 :           if (pattern949 (x3, 
    3844              : E_DImode) != 0)
    3845              :             return -1;
    3846              :           return 4;
    3847              : 
    3848              :         default:
    3849              :           return -1;
    3850              :         }
    3851              : 
    3852              :     default:
    3853              :       return -1;
    3854              :     }
    3855              : }
    3856              : 
    3857              : int
    3858         2543 : pattern978 (rtx x1)
    3859              : {
    3860         2543 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3861         2543 :   int res ATTRIBUTE_UNUSED;
    3862         2543 :   if (!nonimmediate_operand (operands[0], E_HFmode)
    3863         2543 :       || GET_MODE (x1) != E_HFmode)
    3864              :     return -1;
    3865         2543 :   switch (GET_MODE (operands[1]))
    3866              :     {
    3867           46 :     case E_V32HFmode:
    3868           46 :       if (!nonimmediate_operand (operands[1], E_V32HFmode))
    3869              :         return -1;
    3870              :       return 0;
    3871              : 
    3872           81 :     case E_V16HFmode:
    3873           81 :       if (!nonimmediate_operand (operands[1], E_V16HFmode))
    3874              :         return -1;
    3875              :       return 1;
    3876              : 
    3877         2368 :     case E_V8HFmode:
    3878         2368 :       if (!nonimmediate_operand (operands[1], E_V8HFmode))
    3879              :         return -1;
    3880              :       return 2;
    3881              : 
    3882              :     default:
    3883              :       return -1;
    3884              :     }
    3885              : }
    3886              : 
    3887              : int
    3888       264528 : pattern981 (rtx x1)
    3889              : {
    3890       264528 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3891       264528 :   rtx x2, x3;
    3892       264528 :   int res ATTRIBUTE_UNUSED;
    3893       264528 :   if (!const_0_to_3_operand (operands[3], E_VOIDmode))
    3894              :     return -1;
    3895       264528 :   x2 = XEXP (x1, 1);
    3896       264528 :   x3 = XVECEXP (x2, 0, 1);
    3897       264528 :   operands[4] = x3;
    3898       264528 :   if (!const_0_to_3_operand (operands[4], E_VOIDmode))
    3899              :     return -1;
    3900       264528 :   switch (GET_MODE (operands[0]))
    3901              :     {
    3902            0 :     case E_V2HFmode:
    3903            0 :       return pattern272 (x1, 
    3904              : E_V2HFmode, 
    3905            0 : E_V4HFmode); /* [-1, 0] */
    3906              : 
    3907            0 :     case E_V2BFmode:
    3908            0 :       if (pattern272 (x1, 
    3909              : E_V2BFmode, 
    3910              : E_V4BFmode) != 0)
    3911              :         return -1;
    3912              :       return 1;
    3913              : 
    3914         2963 :     case E_V2HImode:
    3915         2963 :       if (pattern272 (x1, 
    3916              : E_V2HImode, 
    3917              : E_V4HImode) != 0)
    3918              :         return -1;
    3919              :       return 2;
    3920              : 
    3921              :     default:
    3922              :       return -1;
    3923              :     }
    3924              : }
    3925              : 
    3926              : int
    3927            0 : pattern990 (rtx x1, machine_mode i1)
    3928              : {
    3929            0 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3930            0 :   rtx x2, x3;
    3931            0 :   int res ATTRIBUTE_UNUSED;
    3932            0 :   if (!register_operand (operands[0], i1)
    3933            0 :       || GET_MODE (x1) != i1)
    3934              :     return -1;
    3935            0 :   x2 = XEXP (x1, 0);
    3936            0 :   if (GET_MODE (x2) != i1)
    3937              :     return -1;
    3938            0 :   x3 = XEXP (x2, 0);
    3939            0 :   if (GET_MODE (x3) != i1
    3940            0 :       || !nonimmediate_operand (operands[1], i1))
    3941            0 :     return -1;
    3942              :   return 0;
    3943              : }
    3944              : 
    3945              : int
    3946         1752 : pattern993 (rtx x1)
    3947              : {
    3948         1752 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3949         1752 :   rtx x2;
    3950         1752 :   int res ATTRIBUTE_UNUSED;
    3951         1752 :   if (!register_operand (operands[0], E_DImode)
    3952         1752 :       || GET_MODE (x1) != E_DImode)
    3953              :     return -1;
    3954         1726 :   x2 = XEXP (x1, 0);
    3955         1726 :   if (GET_MODE (x2) != E_DImode
    3956         1726 :       || !register_operand (operands[1], E_V64QImode)
    3957         1577 :       || !nonimmediate_operand (operands[2], E_V64QImode)
    3958         3297 :       || !const_0_to_7_operand (operands[3], E_SImode))
    3959          155 :     return -1;
    3960              :   return 0;
    3961              : }
    3962              : 
    3963              : int
    3964          517 : pattern997 (rtx x1)
    3965              : {
    3966          517 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3967          517 :   rtx x2;
    3968          517 :   int res ATTRIBUTE_UNUSED;
    3969          517 :   if (!register_operand (operands[0], E_V16SImode)
    3970          517 :       || GET_MODE (x1) != E_V16SImode)
    3971              :     return -1;
    3972          462 :   x2 = XEXP (x1, 0);
    3973          462 :   if (GET_MODE (x2) != E_V16SImode
    3974          462 :       || !nonimm_or_0_operand (operands[2], E_V16SImode)
    3975          897 :       || !register_operand (operands[3], E_HImode))
    3976           96 :     return -1;
    3977          366 :   switch (GET_MODE (operands[1]))
    3978              :     {
    3979          198 :     case E_V16HFmode:
    3980          198 :       if (!vector_operand (operands[1], E_V16HFmode))
    3981              :         return -1;
    3982              :       return 0;
    3983              : 
    3984          168 :     case E_V16SFmode:
    3985          168 :       if (!vector_operand (operands[1], E_V16SFmode))
    3986              :         return -1;
    3987              :       return 1;
    3988              : 
    3989              :     default:
    3990              :       return -1;
    3991              :     }
    3992              : }
    3993              : 
    3994              : int
    3995          199 : pattern1002 (rtx x1, machine_mode i1)
    3996              : {
    3997          199 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3998          199 :   rtx x2;
    3999          199 :   int res ATTRIBUTE_UNUSED;
    4000          199 :   if (!register_operand (operands[0], i1)
    4001          199 :       || GET_MODE (x1) != i1)
    4002              :     return -1;
    4003          199 :   x2 = XEXP (x1, 0);
    4004          199 :   if (GET_MODE (x2) != i1
    4005          199 :       || !nonimmediate_operand (operands[1], i1)
    4006          398 :       || !const0_operand (operands[2], i1))
    4007           66 :     return -1;
    4008              :   return 0;
    4009              : }
    4010              : 
    4011              : int
    4012         4079 : pattern1010 (rtx x1, machine_mode i1, machine_mode i2)
    4013              : {
    4014         4079 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4015         4079 :   rtx x2;
    4016         4079 :   int res ATTRIBUTE_UNUSED;
    4017         4079 :   if (!register_operand (operands[0], i1)
    4018         4079 :       || GET_MODE (x1) != i1)
    4019              :     return -1;
    4020         3902 :   x2 = XEXP (x1, 0);
    4021         3902 :   if (GET_MODE (x2) != i1
    4022         3902 :       || !nonimmediate_operand (operands[2], i2)
    4023         7781 :       || !reg_or_0_operand (operands[1], i1))
    4024          431 :     return -1;
    4025              :   return 0;
    4026              : }
    4027              : 
    4028              : int
    4029         8768 : pattern1017 (rtx x1)
    4030              : {
    4031         8768 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4032         8768 :   rtx x2, x3, x4, x5, x6, x7;
    4033         8768 :   int res ATTRIBUTE_UNUSED;
    4034         8768 :   x2 = XEXP (x1, 1);
    4035         8768 :   operands[2] = x2;
    4036         8768 :   x3 = XEXP (x1, 2);
    4037         8768 :   x4 = XVECEXP (x3, 0, 1);
    4038         8768 :   operands[4] = x4;
    4039         8768 :   x5 = XVECEXP (x3, 0, 2);
    4040         8768 :   operands[5] = x5;
    4041         8768 :   x6 = XVECEXP (x3, 0, 0);
    4042         8768 :   switch (GET_CODE (x6))
    4043              :     {
    4044              :     case REG:
    4045              :     case SUBREG:
    4046              :     case MEM:
    4047              :       return 0;
    4048              : 
    4049            0 :     case NOT:
    4050            0 :       x7 = XEXP (x6, 0);
    4051            0 :       operands[3] = x7;
    4052            0 :       if (!const_0_to_7_operand (operands[5], E_SImode))
    4053              :         return -1;
    4054            0 :       switch (GET_MODE (operands[0]))
    4055              :         {
    4056            0 :         case E_V32QImode:
    4057            0 :           if (pattern1016 (x1, 
    4058              : E_V32QImode, 
    4059              : E_SImode) != 0)
    4060              :             return -1;
    4061              :           return 1;
    4062              : 
    4063            0 :         case E_V16QImode:
    4064            0 :           if (pattern1016 (x1, 
    4065              : E_V16QImode, 
    4066              : E_HImode) != 0)
    4067              :             return -1;
    4068              :           return 2;
    4069              : 
    4070              :         default:
    4071              :           return -1;
    4072              :         }
    4073              : 
    4074              :     default:
    4075              :       return -1;
    4076              :     }
    4077              : }
    4078              : 
    4079              : int
    4080          217 : pattern1034 (rtx x1, machine_mode i1, machine_mode i2)
    4081              : {
    4082          217 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4083          217 :   rtx x2;
    4084          217 :   int res ATTRIBUTE_UNUSED;
    4085          217 :   if (!register_operand (operands[0], i2)
    4086          217 :       || GET_MODE (x1) != i2)
    4087              :     return -1;
    4088          209 :   x2 = XVECEXP (x1, 0, 0);
    4089          209 :   if (GET_MODE (x2) != i2
    4090          209 :       || !nonimmediate_operand (operands[1], i1))
    4091            3 :     return -1;
    4092              :   return 0;
    4093              : }
    4094              : 
    4095              : int
    4096          450 : pattern1039 (rtx x1, machine_mode i1)
    4097              : {
    4098          450 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4099          450 :   int res ATTRIBUTE_UNUSED;
    4100          450 :   if (!register_operand (operands[0], i1)
    4101          396 :       || GET_MODE (x1) != i1
    4102          396 :       || !register_operand (operands[1], i1)
    4103          789 :       || !bcst_vector_operand (operands[2], i1))
    4104          111 :     return -1;
    4105              :   return 0;
    4106              : }
    4107              : 
    4108              : int
    4109        22331 : pattern1044 (rtx x1)
    4110              : {
    4111        22331 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4112        22331 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    4113        22331 :   rtx x10;
    4114        22331 :   int res ATTRIBUTE_UNUSED;
    4115        22331 :   x2 = XEXP (x1, 1);
    4116        22331 :   x3 = XEXP (x2, 0);
    4117        22331 :   if (GET_MODE (x3) != E_QImode)
    4118              :     return -1;
    4119        21991 :   x4 = XEXP (x3, 0);
    4120        21991 :   if (GET_CODE (x4) != SUBREG
    4121        21985 :       || maybe_ne (SUBREG_BYTE (x4), 0)
    4122        43976 :       || GET_MODE (x4) != E_QImode)
    4123              :     return -1;
    4124        21985 :   x5 = XEXP (x4, 0);
    4125        21985 :   switch (GET_CODE (x5))
    4126              :     {
    4127        21985 :     case ASHIFTRT:
    4128        21985 :     case LSHIFTRT:
    4129        21985 :     case SIGN_EXTRACT:
    4130        21985 :     case ZERO_EXTRACT:
    4131        21985 :       operands[3] = x5;
    4132        21985 :       x6 = XEXP (x1, 0);
    4133        21985 :       if (GET_CODE (x6) != ZERO_EXTRACT)
    4134              :         return -1;
    4135        21985 :       x7 = XEXP (x6, 1);
    4136        21985 :       if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
    4137              :         return -1;
    4138        21985 :       x8 = XEXP (x6, 2);
    4139        21985 :       if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
    4140              :         return -1;
    4141        21985 :       x9 = XEXP (x6, 0);
    4142        21985 :       operands[0] = x9;
    4143        21985 :       if (!int248_register_operand (operands[0], E_VOIDmode))
    4144              :         return -1;
    4145        21985 :       x10 = XEXP (x5, 0);
    4146        21985 :       operands[1] = x10;
    4147        21985 :       if (!int248_register_operand (operands[1], E_VOIDmode))
    4148              :         return -1;
    4149              :       return 0;
    4150              : 
    4151              :     default:
    4152              :       return -1;
    4153              :     }
    4154              : }
    4155              : 
    4156              : int
    4157          595 : pattern1054 (rtx x1)
    4158              : {
    4159          595 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4160          595 :   rtx x2, x3, x4, x5, x6, x7;
    4161          595 :   int res ATTRIBUTE_UNUSED;
    4162          595 :   x2 = XEXP (x1, 1);
    4163          595 :   x3 = XEXP (x2, 1);
    4164          595 :   x4 = XEXP (x3, 0);
    4165          595 :   x5 = XEXP (x4, 0);
    4166          595 :   operands[2] = x5;
    4167          595 :   if (!int248_register_operand (operands[2], E_VOIDmode))
    4168              :     return -1;
    4169          407 :   x6 = XEXP (x1, 0);
    4170          407 :   switch (GET_CODE (x6))
    4171              :     {
    4172           65 :     case STRICT_LOW_PART:
    4173           65 :       x7 = XEXP (x6, 0);
    4174           65 :       operands[0] = x7;
    4175           65 :       if (!register_operand (operands[0], E_QImode))
    4176              :         return -1;
    4177           65 :       return pattern1053 (); /* [-1, 2] */
    4178              : 
    4179          342 :     case REG:
    4180          342 :     case SUBREG:
    4181          342 :       operands[0] = x6;
    4182          342 :       if (!register_operand (operands[0], E_QImode))
    4183              :         return -1;
    4184          342 :       res = pattern1053 ();
    4185          342 :       if (res >= 0)
    4186          194 :         return res + 3; /* [3, 5] */
    4187              :       return -1;
    4188              : 
    4189              :     default:
    4190              :       return -1;
    4191              :     }
    4192              : }
    4193              : 
    4194              : int
    4195         1207 : pattern1060 (rtx x1)
    4196              : {
    4197         1207 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4198         1207 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    4199         1207 :   int res ATTRIBUTE_UNUSED;
    4200         1207 :   x2 = XEXP (x1, 0);
    4201         1207 :   operands[0] = x2;
    4202         1207 :   x3 = XEXP (x1, 1);
    4203         1207 :   x4 = XEXP (x3, 0);
    4204         1207 :   x5 = XEXP (x4, 0);
    4205         1207 :   x6 = XEXP (x5, 0);
    4206         1207 :   operands[1] = x6;
    4207         1207 :   x7 = XEXP (x5, 1);
    4208         1207 :   operands[2] = x7;
    4209         1207 :   x8 = XEXP (x4, 1);
    4210         1207 :   operands[3] = x8;
    4211         1207 :   x9 = XEXP (x3, 1);
    4212         1207 :   if (!rtx_equal_p (x9, operands[1]))
    4213              :     return -1;
    4214          845 :   switch (GET_MODE (operands[0]))
    4215              :     {
    4216           84 :     case E_HImode:
    4217           84 :       return pattern1059 (x3, 
    4218           84 : E_HImode); /* [-1, 0] */
    4219              : 
    4220          761 :     case E_SImode:
    4221          761 :       if (pattern1059 (x3, 
    4222              : E_SImode) != 0)
    4223              :         return -1;
    4224              :       return 1;
    4225              : 
    4226            0 :     case E_DImode:
    4227            0 :       if (pattern1059 (x3, 
    4228              : E_DImode) != 0)
    4229              :         return -1;
    4230              :       return 2;
    4231              : 
    4232              :     default:
    4233              :       return -1;
    4234              :     }
    4235              : }
    4236              : 
    4237              : int
    4238         4257 : pattern1068 (rtx x1, int i1)
    4239              : {
    4240         4257 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4241         4257 :   rtx x2, x3, x4, x5;
    4242         4257 :   int res ATTRIBUTE_UNUSED;
    4243         4257 :   x2 = XEXP (x1, 1);
    4244         4257 :   x3 = XEXP (x2, 0);
    4245         4257 :   x4 = XEXP (x3, 0);
    4246         4257 :   if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + i1])
    4247              :     return -1;
    4248          567 :   x5 = XEXP (x1, 0);
    4249          567 :   operands[0] = x5;
    4250          567 :   return pattern1067 (x2); /* [-1, 3] */
    4251              : }
    4252              : 
    4253              : int
    4254            4 : pattern1073 (rtx x1, machine_mode i1, machine_mode i2)
    4255              : {
    4256            4 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4257            4 :   rtx x2, x3;
    4258            4 :   int res ATTRIBUTE_UNUSED;
    4259            4 :   if (!register_operand (operands[0], i1)
    4260            4 :       || GET_MODE (x1) != i1)
    4261              :     return -1;
    4262            4 :   x2 = XEXP (x1, 0);
    4263            4 :   if (GET_MODE (x2) != i1)
    4264              :     return -1;
    4265            4 :   x3 = XEXP (x2, 0);
    4266            4 :   if (GET_MODE (x3) != i2
    4267            4 :       || !vector_operand (operands[2], i1))
    4268            0 :     return -1;
    4269              :   return 0;
    4270              : }
    4271              : 
    4272              : int
    4273        16406 : pattern1079 ()
    4274              : {
    4275        16406 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4276        16406 :   int res ATTRIBUTE_UNUSED;
    4277        16406 :   switch (GET_MODE (operands[3]))
    4278              :     {
    4279          699 :     case E_HImode:
    4280          699 :       if (!extract_high_operator (operands[3], E_HImode))
    4281              :         return -1;
    4282              :       return 0;
    4283              : 
    4284        10709 :     case E_SImode:
    4285        10709 :       if (!extract_high_operator (operands[3], E_SImode))
    4286              :         return -1;
    4287              :       return 1;
    4288              : 
    4289         4998 :     case E_DImode:
    4290         4998 :       if (!extract_high_operator (operands[3], E_DImode))
    4291              :         return -1;
    4292              :       return 2;
    4293              : 
    4294              :     default:
    4295              :       return -1;
    4296              :     }
    4297              : }
    4298              : 
    4299              : int
    4300            2 : pattern1084 (rtx x1)
    4301              : {
    4302            2 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4303            2 :   rtx x2, x3, x4, x5;
    4304            2 :   int res ATTRIBUTE_UNUSED;
    4305            2 :   x2 = XEXP (x1, 0);
    4306            2 :   x3 = XEXP (x2, 0);
    4307            2 :   if (GET_CODE (x3) != REG
    4308            2 :       || REGNO (x3) != 17)
    4309              :     return -1;
    4310            2 :   x4 = XEXP (x2, 1);
    4311            2 :   if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    4312              :     return -1;
    4313            2 :   x5 = XEXP (x1, 1);
    4314            2 :   operands[1] = x5;
    4315            2 :   if (!nonimmediate_operand (operands[1], E_QImode))
    4316              :     return -1;
    4317              :   return 0;
    4318              : }
    4319              : 
    4320              : int
    4321          309 : pattern1092 (rtx x1, int i1, int i2, int i3, int i4)
    4322              : {
    4323          309 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4324          309 :   rtx x2, x3, x4, x5;
    4325          309 :   int res ATTRIBUTE_UNUSED;
    4326          309 :   x2 = XVECEXP (x1, 0, 0);
    4327          309 :   if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + i4])
    4328              :     return -1;
    4329          309 :   x3 = XVECEXP (x1, 0, 1);
    4330          309 :   if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + i3])
    4331              :     return -1;
    4332          309 :   x4 = XVECEXP (x1, 0, 2);
    4333          309 :   if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + i2])
    4334              :     return -1;
    4335          309 :   x5 = XVECEXP (x1, 0, 3);
    4336          309 :   if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + i1])
    4337            0 :     return -1;
    4338              :   return 0;
    4339              : }
    4340              : 
    4341              : int
    4342            0 : pattern1104 (rtx x1)
    4343              : {
    4344            0 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4345            0 :   rtx x2;
    4346            0 :   int res ATTRIBUTE_UNUSED;
    4347            0 :   if (!register_operand (operands[0], E_SImode)
    4348            0 :       || GET_MODE (x1) != E_SImode)
    4349              :     return -1;
    4350            0 :   x2 = XEXP (x1, 0);
    4351            0 :   if (GET_MODE (x2) != E_SImode)
    4352              :     return -1;
    4353            0 :   return pattern879 (); /* [-1, 1] */
    4354              : }
    4355              : 
    4356              : int
    4357          827 : pattern1109 (rtx x1, machine_mode i1)
    4358              : {
    4359          827 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4360          827 :   rtx x2;
    4361          827 :   int res ATTRIBUTE_UNUSED;
    4362          827 :   if (!register_operand (operands[0], i1)
    4363          827 :       || GET_MODE (x1) != i1)
    4364              :     return -1;
    4365          803 :   x2 = XVECEXP (x1, 0, 0);
    4366          803 :   switch (GET_MODE (x2))
    4367              :     {
    4368           22 :     case E_HFmode:
    4369           22 :       if (!register_operand (operands[1], E_V8HFmode))
    4370              :         return -1;
    4371              :       return 0;
    4372              : 
    4373          433 :     case E_SFmode:
    4374          433 :       if (!nonimmediate_operand (operands[1], E_V4SFmode))
    4375              :         return -1;
    4376              :       return 1;
    4377              : 
    4378          348 :     case E_DFmode:
    4379          348 :       if (!nonimmediate_operand (operands[1], E_V2DFmode))
    4380              :         return -1;
    4381              :       return 2;
    4382              : 
    4383              :     default:
    4384              :       return -1;
    4385              :     }
    4386              : }
    4387              : 
    4388              : int
    4389          936 : pattern1114 (rtx x1)
    4390              : {
    4391          936 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4392          936 :   rtx x2;
    4393          936 :   int res ATTRIBUTE_UNUSED;
    4394          936 :   if (!register_operand (operands[0], E_V2DImode)
    4395          936 :       || GET_MODE (x1) != E_V2DImode)
    4396              :     return -1;
    4397          899 :   x2 = XEXP (x1, 0);
    4398          899 :   if (GET_MODE (x2) != E_V2DImode
    4399          899 :       || !nonimm_or_0_operand (operands[2], E_V2DImode)
    4400         1786 :       || !register_operand (operands[3], E_QImode))
    4401           38 :     return -1;
    4402          861 :   switch (GET_MODE (operands[1]))
    4403              :     {
    4404              :     case E_V8HFmode:
    4405              :       return 0;
    4406              : 
    4407          444 :     case E_V2DFmode:
    4408          444 :       return 1;
    4409              : 
    4410              :     default:
    4411              :       return -1;
    4412              :     }
    4413              : }
    4414              : 
    4415              : int
    4416         3233 : pattern1117 (rtx x1, machine_mode i1, machine_mode i2)
    4417              : {
    4418         3233 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4419         3233 :   rtx x2;
    4420         3233 :   int res ATTRIBUTE_UNUSED;
    4421         3233 :   if (!register_operand (operands[0], i2)
    4422         3233 :       || GET_MODE (x1) != i2)
    4423              :     return -1;
    4424         3064 :   x2 = XEXP (x1, 0);
    4425         3064 :   if (GET_MODE (x2) != i2
    4426         3064 :       || !nonimmediate_operand (operands[1], i2)
    4427         3016 :       || !register_operand (operands[2], i2)
    4428         2997 :       || !nonimm_or_0_operand (operands[3], i2)
    4429         5963 :       || !register_operand (operands[4], i1))
    4430          676 :     return -1;
    4431              :   return 0;
    4432              : }
    4433              : 
    4434              : int
    4435         1642 : pattern1124 (rtx x1)
    4436              : {
    4437         1642 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4438         1642 :   rtx x2;
    4439         1642 :   int res ATTRIBUTE_UNUSED;
    4440         1642 :   x2 = XEXP (x1, 2);
    4441         1642 :   if (XWINT (x2, 0) != 1L
    4442         1642 :       || !const_0_to_255_operand (operands[3], E_SImode))
    4443            0 :     return -1;
    4444         1642 :   return pattern1123 (x1); /* [-1, 2] */
    4445              : }
    4446              : 
    4447              : int
    4448        14582 : pattern1131 (rtx x1, machine_mode i1)
    4449              : {
    4450        14582 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4451        14582 :   int res ATTRIBUTE_UNUSED;
    4452        14582 :   if (!register_operand (operands[0], i1)
    4453        14202 :       || GET_MODE (x1) != i1
    4454        14202 :       || !nonimmediate_operand (operands[2], i1)
    4455        10270 :       || !register_operand (operands[1], i1)
    4456        22595 :       || !const_0_to_255_operand (operands[3], E_SImode))
    4457         6987 :     return -1;
    4458              :   return 0;
    4459              : }
    4460              : 
    4461              : int
    4462          940 : pattern1139 (rtx x1, machine_mode i1)
    4463              : {
    4464          940 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4465          940 :   rtx x2, x3, x4;
    4466          940 :   int res ATTRIBUTE_UNUSED;
    4467          940 :   if (!register_operand (operands[0], i1)
    4468          940 :       || GET_MODE (x1) != i1)
    4469              :     return -1;
    4470          892 :   x2 = XVECEXP (x1, 0, 0);
    4471          892 :   if (GET_MODE (x2) != i1)
    4472              :     return -1;
    4473          892 :   x3 = XEXP (x2, 0);
    4474          892 :   if (GET_MODE (x3) != i1)
    4475              :     return -1;
    4476          892 :   x4 = XEXP (x3, 0);
    4477          892 :   if (GET_MODE (x4) != i1
    4478          892 :       || !register_operand (operands[1], i1)
    4479          868 :       || !nonimmediate_operand (operands[2], i1)
    4480         1756 :       || !nonimm_or_0_operand (operands[3], i1))
    4481           56 :     return -1;
    4482              :   return 0;
    4483              : }
    4484              : 
    4485              : int
    4486          350 : pattern1145 (rtx x1)
    4487              : {
    4488          350 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4489          350 :   rtx x2;
    4490          350 :   int res ATTRIBUTE_UNUSED;
    4491          350 :   x2 = XVECEXP (x1, 0, 0);
    4492          350 :   if (GET_MODE (x2) != E_V32HFmode
    4493          350 :       || !register_operand (operands[0], E_V32HFmode)
    4494          324 :       || GET_MODE (x1) != E_V32HFmode
    4495          324 :       || !register_operand (operands[1], E_V32HFmode)
    4496          308 :       || !register_operand (operands[2], E_V32HFmode)
    4497          650 :       || !const_4_or_8_to_11_operand (operands[3], E_SImode))
    4498           50 :     return -1;
    4499              :   return 0;
    4500              : }
    4501              : 
    4502              : int
    4503         5598 : pattern1152 (rtx x1, machine_mode i1, machine_mode i2)
    4504              : {
    4505         5598 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4506         5598 :   rtx x2;
    4507         5598 :   int res ATTRIBUTE_UNUSED;
    4508         5598 :   if (!register_operand (operands[0], i2)
    4509         5598 :       || GET_MODE (x1) != i2)
    4510              :     return -1;
    4511         4687 :   x2 = XEXP (x1, 0);
    4512         4687 :   if (GET_MODE (x2) != i1
    4513         4687 :       || !register_operand (operands[1], i2)
    4514         8439 :       || !nonimmediate_operand (operands[2], i1))
    4515         1871 :     return -1;
    4516              :   return 0;
    4517              : }
    4518              : 
    4519              : int
    4520            0 : pattern1161 (rtx x1)
    4521              : {
    4522            0 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4523            0 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    4524            0 :   rtx x10;
    4525            0 :   int res ATTRIBUTE_UNUSED;
    4526            0 :   x2 = XVECEXP (x1, 0, 0);
    4527            0 :   x3 = XEXP (x2, 1);
    4528            0 :   x4 = XVECEXP (x3, 0, 0);
    4529            0 :   x5 = XEXP (x4, 0);
    4530            0 :   operands[5] = x5;
    4531            0 :   x6 = XVECEXP (x3, 0, 1);
    4532            0 :   operands[2] = x6;
    4533            0 :   if (!register_operand (operands[2], E_QImode))
    4534              :     return -1;
    4535            0 :   x7 = XVECEXP (x3, 0, 2);
    4536            0 :   operands[3] = x7;
    4537            0 :   x8 = XVECEXP (x3, 0, 3);
    4538            0 :   operands[4] = x8;
    4539            0 :   x9 = XVECEXP (x1, 0, 1);
    4540            0 :   x10 = XEXP (x9, 0);
    4541            0 :   operands[1] = x10;
    4542            0 :   switch (GET_MODE (operands[0]))
    4543              :     {
    4544            0 :     case E_SImode:
    4545            0 :       return pattern1160 (x3, 
    4546            0 : E_SImode); /* [-1, 0] */
    4547              : 
    4548            0 :     case E_DImode:
    4549            0 :       if (pattern1160 (x3, 
    4550              : E_DImode) != 0)
    4551              :         return -1;
    4552              :       return 1;
    4553              : 
    4554              :     default:
    4555              :       return -1;
    4556              :     }
    4557              : }
    4558              : 
    4559              : int
    4560          803 : pattern1173 (rtx x1)
    4561              : {
    4562          803 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4563          803 :   rtx x2, x3, x4, x5, x6, x7;
    4564          803 :   int res ATTRIBUTE_UNUSED;
    4565          803 :   x2 = XEXP (x1, 0);
    4566          803 :   x3 = XEXP (x2, 0);
    4567          803 :   x4 = XEXP (x3, 1);
    4568          803 :   if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    4569              :     return -1;
    4570          741 :   x5 = XEXP (x3, 0);
    4571          741 :   operands[3] = x5;
    4572          741 :   if (!int_nonimmediate_operand (operands[3], E_VOIDmode))
    4573              :     return -1;
    4574          590 :   x6 = XEXP (x2, 1);
    4575          590 :   operands[1] = x6;
    4576          590 :   x7 = XEXP (x1, 1);
    4577          590 :   operands[2] = x7;
    4578          590 :   switch (GET_MODE (operands[0]))
    4579              :     {
    4580            0 :     case E_QImode:
    4581            0 :       return pattern1171 (x1, 
    4582            0 : E_QImode); /* [-1, 0] */
    4583              : 
    4584            0 :     case E_HImode:
    4585            0 :       if (pattern1171 (x1, 
    4586              : E_HImode) != 0)
    4587              :         return -1;
    4588              :       return 1;
    4589              : 
    4590          226 :     case E_SImode:
    4591          226 :       if (pattern1172 (x1, 
    4592              : E_SImode) != 0)
    4593              :         return -1;
    4594              :       return 2;
    4595              : 
    4596          364 :     case E_DImode:
    4597          364 :       if (pattern1172 (x1, 
    4598              : E_DImode) != 0)
    4599              :         return -1;
    4600              :       return 3;
    4601              : 
    4602              :     default:
    4603              :       return -1;
    4604              :     }
    4605              : }
    4606              : 
    4607              : int
    4608        85058 : pattern1187 (rtx x1)
    4609              : {
    4610        85058 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4611        85058 :   rtx x2, x3, x4;
    4612        85058 :   int res ATTRIBUTE_UNUSED;
    4613        85058 :   x2 = XEXP (x1, 0);
    4614        85058 :   if (maybe_ne (SUBREG_BYTE (x2), 0)
    4615        85058 :       || GET_MODE (x2) != E_QImode)
    4616              :     return -1;
    4617        18981 :   x3 = XEXP (x2, 0);
    4618        18981 :   switch (GET_CODE (x3))
    4619              :     {
    4620         2391 :     case ASHIFTRT:
    4621         2391 :     case LSHIFTRT:
    4622         2391 :     case SIGN_EXTRACT:
    4623         2391 :     case ZERO_EXTRACT:
    4624         2391 :       operands[3] = x3;
    4625         2391 :       if (GET_MODE (x1) != E_QImode)
    4626              :         return -1;
    4627         2391 :       x4 = XEXP (x3, 0);
    4628         2391 :       if (!int248_register_operand (x4, E_VOIDmode))
    4629              :         return -1;
    4630              :       return 0;
    4631              : 
    4632              :     default:
    4633              :       return -1;
    4634              :     }
    4635              : }
    4636              : 
    4637              : int
    4638            0 : pattern1198 (rtx x1, machine_mode i1)
    4639              : {
    4640            0 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4641            0 :   rtx x2, x3;
    4642            0 :   int res ATTRIBUTE_UNUSED;
    4643            0 :   if (!register_operand (operands[0], i1)
    4644            0 :       || GET_MODE (x1) != i1)
    4645              :     return -1;
    4646            0 :   x2 = XEXP (x1, 0);
    4647            0 :   if (GET_MODE (x2) != i1)
    4648              :     return -1;
    4649            0 :   x3 = XEXP (x2, 0);
    4650            0 :   if (GET_MODE (x3) != i1
    4651            0 :       || !register_operand (operands[1], i1)
    4652            0 :       || !register_operand (operands[2], i1)
    4653            0 :       || !nonimmediate_operand (operands[3], i1))
    4654            0 :     return -1;
    4655              :   return 0;
    4656              : }
    4657              : 
    4658              : int
    4659       440644 : pattern1205 (rtx x1, machine_mode i1, machine_mode i2)
    4660              : {
    4661       440644 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4662       440644 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    4663       440644 :   rtx x10, x11, x12, x13, x14, x15, x16, x17;
    4664       440644 :   rtx x18, x19, x20, x21, x22, x23, x24, x25;
    4665       440644 :   rtx x26, x27, x28, x29, x30;
    4666       440644 :   int res ATTRIBUTE_UNUSED;
    4667       440644 :   x2 = PATTERN (peep2_next_insn (2));
    4668       440644 :   if (GET_CODE (x2) != SET)
    4669              :     return -1;
    4670       320454 :   x3 = XEXP (x2, 1);
    4671       320454 :   if (!rtx_equal_p (x3, operands[0]))
    4672              :     return -1;
    4673        65201 :   x4 = XVECEXP (x1, 0, 0);
    4674        65201 :   x5 = XEXP (x4, 1);
    4675        65201 :   switch (GET_CODE (x5))
    4676              :     {
    4677         2516 :     case COMPARE:
    4678         2516 :       x6 = XEXP (x4, 0);
    4679         2516 :       if (GET_CODE (x6) != REG
    4680         2516 :           || REGNO (x6) != 17)
    4681              :         return -1;
    4682         2516 :       x7 = XVECEXP (x1, 0, 1);
    4683         2516 :       if (GET_CODE (x7) != SET)
    4684              :         return -1;
    4685         2496 :       x8 = XEXP (x7, 1);
    4686         2496 :       if (GET_MODE (x8) != i1)
    4687              :         return -1;
    4688         2490 :       x9 = XEXP (x7, 0);
    4689         2490 :       if (!rtx_equal_p (x9, operands[0]))
    4690              :         return -1;
    4691         2485 :       x10 = XEXP (x5, 0);
    4692         2485 :       switch (GET_CODE (x10))
    4693              :         {
    4694          185 :         case REG:
    4695          185 :           return pattern1199 (x1, 
    4696          185 : i1); /* [-1, 0] */
    4697              : 
    4698            4 :         case SUBREG:
    4699            4 :         case MEM:
    4700            4 :           if (pattern1200 (x1, 
    4701              : i1) != 0)
    4702              :             return -1;
    4703              :           return 1;
    4704              : 
    4705          516 :         case ZERO_EXTEND:
    4706          516 :           if (GET_MODE (x10) != i2)
    4707              :             return -1;
    4708          516 :           x11 = XEXP (x5, 1);
    4709          516 :           if (GET_CODE (x11) != PLUS
    4710          516 :               || GET_MODE (x11) != i2)
    4711              :             return -1;
    4712          516 :           x12 = XEXP (x11, 0);
    4713          516 :           if (!ix86_carry_flag_operator (x12, i2))
    4714              :             return -1;
    4715          516 :           operands[4] = x12;
    4716          516 :           x13 = XEXP (x12, 1);
    4717          516 :           if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    4718              :             return -1;
    4719          516 :           x14 = XEXP (x11, 1);
    4720          516 :           if (GET_CODE (x14) != ZERO_EXTEND
    4721          516 :               || GET_MODE (x14) != i2
    4722          516 :               || GET_MODE (x6) != E_CCCmode
    4723          516 :               || GET_MODE (x5) != E_CCCmode)
    4724              :             return -1;
    4725          516 :           x15 = XEXP (x10, 0);
    4726          516 :           switch (GET_CODE (x15))
    4727              :             {
    4728          200 :             case PLUS:
    4729          200 :               if (GET_MODE (x15) != i1)
    4730              :                 return -1;
    4731          200 :               x16 = XEXP (x15, 0);
    4732          200 :               if (GET_CODE (x16) != PLUS
    4733          200 :                   || GET_MODE (x16) != i1)
    4734              :                 return -1;
    4735          200 :               x17 = XEXP (x16, 0);
    4736          200 :               if (!ix86_carry_flag_operator (x17, i1))
    4737              :                 return -1;
    4738          200 :               operands[5] = x17;
    4739          200 :               x18 = XEXP (x17, 1);
    4740          200 :               if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
    4741          200 :                   || GET_CODE (x8) != PLUS)
    4742              :                 return -1;
    4743          200 :               x19 = XEXP (x8, 0);
    4744          200 :               if (GET_CODE (x19) != PLUS
    4745          200 :                   || GET_MODE (x19) != i1)
    4746              :                 return -1;
    4747          200 :               x20 = XEXP (x19, 0);
    4748          200 :               switch (GET_CODE (x20))
    4749              :                 {
    4750          200 :                 case LTU:
    4751          200 :                 case UNLT:
    4752          200 :                   if (!rtx_equal_p (x20, operands[5]))
    4753              :                     return -1;
    4754          200 :                   x21 = XEXP (x17, 0);
    4755          200 :                   operands[3] = x21;
    4756          200 :                   if (!flags_reg_operand (operands[3], E_VOIDmode))
    4757              :                     return -1;
    4758          200 :                   x22 = XEXP (x12, 0);
    4759          200 :                   if (!rtx_equal_p (x22, operands[3]))
    4760              :                     return -1;
    4761          200 :                   x23 = XEXP (x16, 1);
    4762          200 :                   switch (GET_CODE (x23))
    4763              :                     {
    4764          188 :                     case REG:
    4765          188 :                       if (!rtx_equal_p (x23, operands[0]))
    4766              :                         return -1;
    4767          188 :                       x24 = XEXP (x15, 1);
    4768          188 :                       operands[2] = x24;
    4769          188 :                       if (!memory_operand (operands[2], i1))
    4770              :                         return -1;
    4771          177 :                       x25 = XEXP (x14, 0);
    4772          177 :                       if (!rtx_equal_p (x25, operands[2]))
    4773              :                         return -1;
    4774          177 :                       x26 = XEXP (x19, 1);
    4775          177 :                       if (!rtx_equal_p (x26, operands[0]))
    4776              :                         return -1;
    4777          177 :                       x27 = XEXP (x8, 1);
    4778          177 :                       if (!rtx_equal_p (x27, operands[2]))
    4779              :                         return -1;
    4780          177 :                       x28 = XEXP (x2, 0);
    4781          177 :                       if (!rtx_equal_p (x28, operands[1]))
    4782              :                         return -1;
    4783              :                       return 2;
    4784              : 
    4785           12 :                     case SUBREG:
    4786           12 :                     case MEM:
    4787           12 :                       operands[2] = x23;
    4788           12 :                       if (!memory_operand (operands[2], i1))
    4789              :                         return -1;
    4790           12 :                       x24 = XEXP (x15, 1);
    4791           12 :                       if (!rtx_equal_p (x24, operands[0]))
    4792              :                         return -1;
    4793           12 :                       x25 = XEXP (x14, 0);
    4794           12 :                       if (!rtx_equal_p (x25, operands[0]))
    4795              :                         return -1;
    4796           12 :                       x26 = XEXP (x19, 1);
    4797           12 :                       if (!rtx_equal_p (x26, operands[2]))
    4798              :                         return -1;
    4799           12 :                       x27 = XEXP (x8, 1);
    4800           12 :                       if (!rtx_equal_p (x27, operands[0]))
    4801              :                         return -1;
    4802              :                       return 3;
    4803              : 
    4804              :                     default:
    4805              :                       return -1;
    4806              :                     }
    4807              : 
    4808              :                 default:
    4809              :                   return -1;
    4810              :                 }
    4811              : 
    4812          306 :             case REG:
    4813          306 :               if (!rtx_equal_p (x15, operands[0])
    4814          306 :                   || GET_CODE (x8) != MINUS)
    4815              :                 return -1;
    4816          306 :               x19 = XEXP (x8, 0);
    4817          306 :               if (GET_CODE (x19) != MINUS
    4818          306 :                   || GET_MODE (x19) != i1)
    4819              :                 return -1;
    4820          306 :               x26 = XEXP (x19, 1);
    4821          306 :               if (!ix86_carry_flag_operator (x26, i1))
    4822              :                 return -1;
    4823          306 :               operands[5] = x26;
    4824          306 :               x29 = XEXP (x26, 1);
    4825          306 :               if (x29 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    4826              :                 return -1;
    4827          306 :               x22 = XEXP (x12, 0);
    4828          306 :               operands[3] = x22;
    4829          306 :               if (!flags_reg_operand (operands[3], E_VOIDmode))
    4830              :                 return -1;
    4831          306 :               x25 = XEXP (x14, 0);
    4832          306 :               operands[2] = x25;
    4833          306 :               if (!memory_operand (operands[2], i1))
    4834              :                 return -1;
    4835          153 :               x20 = XEXP (x19, 0);
    4836          153 :               if (!rtx_equal_p (x20, operands[0]))
    4837              :                 return -1;
    4838          153 :               x30 = XEXP (x26, 0);
    4839          153 :               if (!rtx_equal_p (x30, operands[3]))
    4840              :                 return -1;
    4841          153 :               x27 = XEXP (x8, 1);
    4842          153 :               if (!rtx_equal_p (x27, operands[2]))
    4843              :                 return -1;
    4844          153 :               x28 = XEXP (x2, 0);
    4845          153 :               if (!rtx_equal_p (x28, operands[1]))
    4846              :                 return -1;
    4847              :               return 4;
    4848              : 
    4849           10 :             case SUBREG:
    4850           10 :             case MEM:
    4851           10 :               operands[2] = x15;
    4852           10 :               if (!memory_operand (operands[2], i1)
    4853           10 :                   || GET_CODE (x8) != MINUS)
    4854              :                 return -1;
    4855           10 :               x19 = XEXP (x8, 0);
    4856           10 :               if (GET_CODE (x19) != MINUS
    4857           10 :                   || GET_MODE (x19) != i1)
    4858              :                 return -1;
    4859           10 :               x26 = XEXP (x19, 1);
    4860           10 :               if (!ix86_carry_flag_operator (x26, i1))
    4861              :                 return -1;
    4862           10 :               operands[5] = x26;
    4863           10 :               x29 = XEXP (x26, 1);
    4864           10 :               if (x29 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    4865              :                 return -1;
    4866           10 :               x22 = XEXP (x12, 0);
    4867           10 :               operands[3] = x22;
    4868           10 :               if (!flags_reg_operand (operands[3], E_VOIDmode))
    4869              :                 return -1;
    4870           10 :               x25 = XEXP (x14, 0);
    4871           10 :               if (!rtx_equal_p (x25, operands[0]))
    4872              :                 return -1;
    4873           10 :               x20 = XEXP (x19, 0);
    4874           10 :               if (!rtx_equal_p (x20, operands[2]))
    4875              :                 return -1;
    4876           10 :               x30 = XEXP (x26, 0);
    4877           10 :               if (!rtx_equal_p (x30, operands[3]))
    4878              :                 return -1;
    4879           10 :               x27 = XEXP (x8, 1);
    4880           10 :               if (!rtx_equal_p (x27, operands[0]))
    4881              :                 return -1;
    4882           10 :               x28 = XEXP (x2, 0);
    4883           10 :               if (!rtx_equal_p (x28, operands[2]))
    4884              :                 return -1;
    4885              :               return 5;
    4886              : 
    4887              :             default:
    4888              :               return -1;
    4889              :             }
    4890              : 
    4891          873 :         case PLUS:
    4892          873 :           if (pattern1201 (x1, 
    4893              : i1) != 0)
    4894              :             return -1;
    4895              :           return 6;
    4896              : 
    4897              :         default:
    4898              :           return -1;
    4899              :         }
    4900              : 
    4901        36074 :     case PLUS:
    4902        36074 :       res = pattern1203 (x1, 
    4903              : i1);
    4904        36074 :       if (res >= 0)
    4905            4 :         return res + 7; /* [7, 8] */
    4906              :       return -1;
    4907              : 
    4908         9211 :     case MINUS:
    4909         9211 :       res = pattern1204 (x1, 
    4910              : i1);
    4911         9211 :       if (res >= 0)
    4912            8 :         return res + 9; /* [9, 10] */
    4913              :       return -1;
    4914              : 
    4915              :     default:
    4916              :       return -1;
    4917              :     }
    4918              : }
    4919              : 
    4920              : int
    4921         2130 : pattern1314 (rtx x1)
    4922              : {
    4923         2130 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4924         2130 :   rtx x2, x3;
    4925         2130 :   int res ATTRIBUTE_UNUSED;
    4926         2130 :   if (!const48_operand (operands[4], E_SImode))
    4927              :     return -1;
    4928         2130 :   switch (GET_MODE (operands[0]))
    4929              :     {
    4930          530 :     case E_V16SImode:
    4931          530 :       return pattern1308 (x1, 
    4932              : E_HImode, 
    4933              : E_V16SImode, 
    4934          530 : E_V16SFmode); /* [-1, 0] */
    4935              : 
    4936          560 :     case E_V8SImode:
    4937          560 :       if (pattern1308 (x1, 
    4938              : E_QImode, 
    4939              : E_V8SImode, 
    4940              : E_V8DFmode) != 0)
    4941              :         return -1;
    4942              :       return 1;
    4943              : 
    4944         1040 :     case E_V8DImode:
    4945         1040 :       if (!register_operand (operands[0], E_V8DImode)
    4946         1040 :           || GET_MODE (x1) != E_V8DImode)
    4947              :         return -1;
    4948          960 :       x2 = XVECEXP (x1, 0, 0);
    4949          960 :       if (GET_MODE (x2) != E_V8DImode)
    4950              :         return -1;
    4951          960 :       x3 = XEXP (x2, 0);
    4952          960 :       if (GET_MODE (x3) != E_V8DImode
    4953          960 :           || !nonimm_or_0_operand (operands[2], E_V8DImode)
    4954         1884 :           || !register_operand (operands[3], E_QImode))
    4955           80 :         return -1;
    4956          880 :       switch (GET_MODE (operands[1]))
    4957              :         {
    4958          440 :         case E_V8DFmode:
    4959          440 :           if (!register_operand (operands[1], E_V8DFmode))
    4960              :             return -1;
    4961              :           return 2;
    4962              : 
    4963          440 :         case E_V8SFmode:
    4964          440 :           if (!register_operand (operands[1], E_V8SFmode))
    4965              :             return -1;
    4966              :           return 3;
    4967              : 
    4968              :         default:
    4969              :           return -1;
    4970              :         }
    4971              : 
    4972              :     default:
    4973              :       return -1;
    4974              :     }
    4975              : }
    4976              : 
    4977              : int
    4978         5394 : pattern1330 (rtx x1, machine_mode i1)
    4979              : {
    4980         5394 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4981         5394 :   int res ATTRIBUTE_UNUSED;
    4982         5394 :   if (!nonimmediate_operand (operands[1], i1)
    4983         3105 :       || !const_1_to_31_operand (operands[2], E_QImode)
    4984         1947 :       || !nonimmediate_operand (operands[0], i1)
    4985         7341 :       || GET_MODE (x1) != i1)
    4986         3447 :     return -1;
    4987              :   return 0;
    4988              : }
    4989              : 
    4990              : int
    4991          224 : pattern1336 (rtx x1, machine_mode i1)
    4992              : {
    4993          224 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4994          224 :   rtx x2, x3;
    4995          224 :   int res ATTRIBUTE_UNUSED;
    4996          224 :   if (!register_operand (operands[0], i1)
    4997          224 :       || GET_MODE (x1) != i1)
    4998              :     return -1;
    4999          224 :   x2 = XEXP (x1, 0);
    5000          224 :   if (GET_MODE (x2) != i1
    5001          224 :       || !nonimmediate_operand (operands[1], i1))
    5002            0 :     return -1;
    5003          224 :   x3 = XEXP (x1, 1);
    5004          224 :   if (GET_MODE (x3) != i1)
    5005              :     return -1;
    5006              :   return 0;
    5007              : }
    5008              : 
    5009              : int
    5010       844631 : pattern1342 (rtx x1, int *pnum_clobbers)
    5011              : {
    5012       844631 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5013       844631 :   rtx x2, x3;
    5014       844631 :   int res ATTRIBUTE_UNUSED;
    5015       844631 :   x2 = XVECEXP (x1, 0, 2);
    5016       844631 :   switch (GET_CODE (x2))
    5017              :     {
    5018           18 :     case UNSPEC:
    5019           18 :       if (pnum_clobbers == NULL)
    5020              :         return -1;
    5021           18 :       return pattern392 (x1); /* [-1, 1] */
    5022              : 
    5023       822266 :     case CLOBBER:
    5024       822266 :       x3 = XEXP (x2, 0);
    5025       822266 :       if (GET_CODE (x3) != REG
    5026       822266 :           || REGNO (x3) != 17
    5027      1644532 :           || GET_MODE (x3) != E_CCmode)
    5028              :         return -1;
    5029       822266 :       switch (GET_MODE (operands[0]))
    5030              :         {
    5031         6827 :         case E_HImode:
    5032         6827 :           if (pattern391 (x1, 
    5033              : E_HImode) != 0)
    5034              :             return -1;
    5035              :           return 2;
    5036              : 
    5037       239269 :         case E_SImode:
    5038       239269 :           if (pattern391 (x1, 
    5039              : E_SImode) != 0)
    5040              :             return -1;
    5041              :           return 3;
    5042              : 
    5043       576170 :         case E_DImode:
    5044       576170 :           if (pattern391 (x1, 
    5045              : E_DImode) != 0)
    5046              :             return -1;
    5047              :           return 4;
    5048              : 
    5049              :         default:
    5050              :           return -1;
    5051              :         }
    5052              : 
    5053            0 :     case USE:
    5054            0 :       res = pattern394 (x1);
    5055            0 :       if (res >= 0)
    5056            0 :         return res + 5; /* [5, 7] */
    5057              :       return -1;
    5058              : 
    5059              :     default:
    5060              :       return -1;
    5061              :     }
    5062              : }
    5063              : 
    5064              : int
    5065       278774 : pattern1361 (rtx x1, machine_mode i1)
    5066              : {
    5067       278774 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5068       278774 :   rtx x2, x3, x4, x5, x6;
    5069       278774 :   int res ATTRIBUTE_UNUSED;
    5070       278774 :   if (!plusminuslogic_operator (operands[3], i1))
    5071              :     return -1;
    5072       272336 :   x2 = XVECEXP (x1, 0, 1);
    5073       272336 :   if (GET_CODE (x2) != CLOBBER)
    5074              :     return -1;
    5075       272336 :   x3 = XEXP (x2, 0);
    5076       272336 :   if (GET_CODE (x3) != REG
    5077       272336 :       || REGNO (x3) != 17
    5078       544672 :       || GET_MODE (x3) != E_CCmode)
    5079              :     return -1;
    5080       272336 :   x4 = XVECEXP (x1, 0, 0);
    5081       272336 :   x5 = XEXP (x4, 1);
    5082       272336 :   x6 = XEXP (x5, 1);
    5083       272336 :   operands[2] = x6;
    5084       272336 :   if (!x86_64_nonmemory_operand (operands[2], i1))
    5085              :     return -1;
    5086              :   return 0;
    5087              : }
    5088              : 
    5089              : int
    5090           21 : pattern1369 (rtx x1, machine_mode i1)
    5091              : {
    5092           21 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5093           21 :   rtx x2;
    5094           21 :   int res ATTRIBUTE_UNUSED;
    5095           21 :   if (!nonimmediate_operand (operands[0], i1)
    5096           21 :       || GET_MODE (x1) != i1)
    5097              :     return -1;
    5098           21 :   x2 = XEXP (x1, 0);
    5099           21 :   if (GET_MODE (x2) != i1
    5100           21 :       || !nonimmediate_operand (operands[1], i1)
    5101           21 :       || !ix86_carry_flag_operator (operands[4], i1)
    5102           42 :       || !general_operand (operands[2], i1))
    5103            0 :     return -1;
    5104              :   return 0;
    5105              : }
    5106              : 
    5107              : int
    5108         5599 : pattern1375 ()
    5109              : {
    5110         5599 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5111         5599 :   int res ATTRIBUTE_UNUSED;
    5112         5599 :   switch (GET_MODE (operands[4]))
    5113              :     {
    5114          176 :     case E_QImode:
    5115          176 :       if (!register_operand (operands[4], E_QImode))
    5116              :         return -1;
    5117              :       return 0;
    5118              : 
    5119           54 :     case E_HImode:
    5120           54 :       if (!register_operand (operands[4], E_HImode))
    5121              :         return -1;
    5122              :       return 1;
    5123              : 
    5124         1398 :     case E_SImode:
    5125         1398 :       if (!register_operand (operands[4], E_SImode))
    5126              :         return -1;
    5127              :       return 2;
    5128              : 
    5129         3971 :     case E_DImode:
    5130         3971 :       if (!register_operand (operands[4], E_DImode))
    5131              :         return -1;
    5132              :       return 3;
    5133              : 
    5134              :     default:
    5135              :       return -1;
    5136              :     }
    5137              : }
    5138              : 
    5139              : int
    5140          972 : pattern1384 (rtx x1, machine_mode i1, machine_mode i2)
    5141              : {
    5142          972 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5143          972 :   rtx x2;
    5144          972 :   int res ATTRIBUTE_UNUSED;
    5145          972 :   if (!register_operand (operands[0], i1)
    5146          972 :       || GET_MODE (x1) != i1)
    5147              :     return -1;
    5148          925 :   x2 = XEXP (x1, 0);
    5149          925 :   if (GET_MODE (x2) != i1
    5150          925 :       || !bcst_vector_operand (operands[1], i1)
    5151         1850 :       || pattern1383 (
    5152              : i1, 
    5153              : i2) != 0)
    5154            4 :     return -1;
    5155              :   return 0;
    5156              : }
    5157              : 
    5158              : int
    5159          546 : pattern1391 (rtx x1, machine_mode i1, machine_mode i2)
    5160              : {
    5161          546 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5162          546 :   int res ATTRIBUTE_UNUSED;
    5163          546 :   if (!nonimmediate_operand (operands[2], i2)
    5164          546 :       || GET_MODE (x1) != i2
    5165          546 :       || !nonimmediate_operand (operands[3], i2)
    5166          546 :       || !const0_operand (operands[4], i2)
    5167         1092 :       || !register_operand (operands[5], i1))
    5168            0 :     return -1;
    5169              :   return 0;
    5170              : }
    5171              : 
    5172              : int
    5173           40 : pattern1398 (rtx x1, machine_mode i1)
    5174              : {
    5175           40 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5176           40 :   rtx x2, x3;
    5177           40 :   int res ATTRIBUTE_UNUSED;
    5178           40 :   if (!register_operand (operands[0], i1)
    5179           40 :       || GET_MODE (x1) != i1)
    5180              :     return -1;
    5181           40 :   x2 = XEXP (x1, 0);
    5182           40 :   if (GET_MODE (x2) != i1)
    5183              :     return -1;
    5184           40 :   x3 = XEXP (x2, 0);
    5185           40 :   if (GET_MODE (x3) != i1
    5186           40 :       || !nonimmediate_operand (operands[1], i1)
    5187           40 :       || !nonimmediate_operand (operands[2], i1)
    5188           40 :       || !nonimmediate_operand (operands[3], i1)
    5189           80 :       || !const0_operand (operands[4], i1))
    5190            0 :     return -1;
    5191              :   return 0;
    5192              : }
    5193              : 
    5194              : int
    5195         1126 : pattern1410 (rtx x1, machine_mode i1)
    5196              : {
    5197         1126 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5198         1126 :   rtx x2, x3, x4, x5, x6;
    5199         1126 :   int res ATTRIBUTE_UNUSED;
    5200         1126 :   if (!register_operand (operands[0], i1)
    5201         1126 :       || GET_MODE (x1) != i1)
    5202              :     return -1;
    5203         1075 :   x2 = XVECEXP (x1, 0, 0);
    5204         1075 :   if (GET_MODE (x2) != i1)
    5205              :     return -1;
    5206         1075 :   x3 = XEXP (x2, 0);
    5207         1075 :   if (GET_MODE (x3) != i1)
    5208              :     return -1;
    5209         1075 :   x4 = XEXP (x3, 0);
    5210         1075 :   if (GET_MODE (x4) != i1)
    5211              :     return -1;
    5212         1075 :   x5 = XEXP (x4, 0);
    5213         1075 :   if (GET_MODE (x5) != i1)
    5214              :     return -1;
    5215         1075 :   x6 = XEXP (x4, 1);
    5216         1075 :   if (!register_operand (x6, i1))
    5217              :     return -1;
    5218              :   return 0;
    5219              : }
    5220              : 
    5221              : int
    5222         1833 : pattern1417 (rtx x1)
    5223              : {
    5224         1833 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5225         1833 :   rtx x2, x3;
    5226         1833 :   int res ATTRIBUTE_UNUSED;
    5227         1833 :   x2 = XVECEXP (x1, 0, 0);
    5228         1833 :   x3 = XEXP (x2, 1);
    5229         1833 :   if (!rtx_equal_p (x3, operands[1]))
    5230              :     return -1;
    5231         1833 :   switch (GET_MODE (operands[0]))
    5232              :     {
    5233          379 :     case E_V8HFmode:
    5234          379 :       return pattern1416 (x1, 
    5235          379 : E_V8HFmode); /* [-1, 0] */
    5236              : 
    5237          235 :     case E_V4SFmode:
    5238          235 :       if (pattern1416 (x1, 
    5239              : E_V4SFmode) != 0)
    5240              :         return -1;
    5241              :       return 1;
    5242              : 
    5243         1219 :     case E_V2DFmode:
    5244         1219 :       if (pattern1416 (x1, 
    5245              : E_V2DFmode) != 0)
    5246              :         return -1;
    5247              :       return 2;
    5248              : 
    5249              :     default:
    5250              :       return -1;
    5251              :     }
    5252              : }
    5253              : 
    5254              : int
    5255         3681 : pattern1426 (rtx x1)
    5256              : {
    5257         3681 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5258         3681 :   rtx x2, x3, x4, x5;
    5259         3681 :   int res ATTRIBUTE_UNUSED;
    5260         3681 :   x2 = XVECEXP (x1, 0, 12);
    5261         3681 :   if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 12])
    5262              :     return -1;
    5263         3676 :   x3 = XVECEXP (x1, 0, 13);
    5264         3676 :   if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 13])
    5265              :     return -1;
    5266         3676 :   x4 = XVECEXP (x1, 0, 14);
    5267         3676 :   if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 14])
    5268              :     return -1;
    5269         3676 :   x5 = XVECEXP (x1, 0, 15);
    5270         3676 :   if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 15])
    5271            0 :     return -1;
    5272              :   return 0;
    5273              : }
    5274              : 
    5275              : int
    5276          599 : pattern1436 (rtx x1, rtx_code i1)
    5277              : {
    5278          599 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5279          599 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    5280          599 :   int res ATTRIBUTE_UNUSED;
    5281          599 :   x2 = XVECEXP (x1, 0, 1);
    5282          599 :   x3 = XEXP (x2, 1);
    5283          599 :   if (GET_MODE (x3) != E_DImode)
    5284              :     return -1;
    5285          531 :   x4 = XEXP (x3, 0);
    5286          531 :   if (GET_CODE (x4) != i1
    5287           86 :       || GET_MODE (x4) != E_SImode)
    5288              :     return -1;
    5289           62 :   x5 = XVECEXP (x1, 0, 0);
    5290           62 :   x6 = XEXP (x5, 1);
    5291           62 :   x7 = XEXP (x6, 0);
    5292           62 :   if (GET_MODE (x7) != E_SImode
    5293           62 :       || !nonimmediate_operand (operands[1], E_SImode)
    5294           62 :       || !x86_64_general_operand (operands[2], E_SImode)
    5295          124 :       || !register_operand (operands[0], E_DImode))
    5296            0 :     return -1;
    5297           62 :   x8 = XEXP (x4, 0);
    5298           62 :   if (!rtx_equal_p (x8, operands[1]))
    5299              :     return -1;
    5300           62 :   x9 = XEXP (x4, 1);
    5301           62 :   if (!rtx_equal_p (x9, operands[2]))
    5302              :     return -1;
    5303              :   return 0;
    5304              : }
    5305              : 
    5306              : int
    5307        54362 : pattern1451 (rtx x1, machine_mode i1, machine_mode i2)
    5308              : {
    5309        54362 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5310        54362 :   int res ATTRIBUTE_UNUSED;
    5311        54362 :   if (!nonimmediate_operand (operands[0], i2)
    5312        54275 :       || GET_MODE (x1) != i2
    5313        54275 :       || !register_operand (operands[1], i1)
    5314       108132 :       || !scratch_operand (operands[2], i1))
    5315          592 :     return -1;
    5316              :   return 0;
    5317              : }
    5318              : 
    5319              : int
    5320         1157 : pattern1458 (rtx x1, int i1)
    5321              : {
    5322         1157 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5323         1157 :   rtx x2, x3, x4;
    5324         1157 :   int res ATTRIBUTE_UNUSED;
    5325         1157 :   x2 = XEXP (x1, 1);
    5326         1157 :   x3 = XEXP (x2, 1);
    5327         1157 :   if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + i1])
    5328              :     return -1;
    5329          720 :   x4 = XEXP (x1, 0);
    5330          720 :   if (GET_CODE (x4) != REG
    5331          720 :       || REGNO (x4) != 17
    5332         1440 :       || GET_MODE (x4) != E_CCZmode)
    5333            0 :     return -1;
    5334              :   return 0;
    5335              : }
    5336              : 
    5337              : int
    5338            0 : pattern1464 (rtx x1, machine_mode i1)
    5339              : {
    5340            0 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5341            0 :   rtx x2, x3, x4;
    5342            0 :   int res ATTRIBUTE_UNUSED;
    5343            0 :   if (!register_operand (operands[0], i1)
    5344            0 :       || GET_MODE (x1) != i1)
    5345              :     return -1;
    5346            0 :   x2 = XEXP (x1, 0);
    5347            0 :   if (GET_MODE (x2) != i1
    5348            0 :       || !nonimmediate_operand (operands[1], i1))
    5349            0 :     return -1;
    5350            0 :   x3 = XEXP (x1, 1);
    5351            0 :   if (GET_MODE (x3) != i1)
    5352              :     return -1;
    5353            0 :   x4 = XEXP (x3, 0);
    5354            0 :   if (GET_MODE (x4) != i1)
    5355              :     return -1;
    5356              :   return 0;
    5357              : }
    5358              : 
    5359              : int
    5360          284 : pattern1472 (rtx x1, machine_mode i1)
    5361              : {
    5362          284 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5363          284 :   rtx x2, x3, x4;
    5364          284 :   int res ATTRIBUTE_UNUSED;
    5365          284 :   if (!register_operand (operands[0], i1)
    5366          284 :       || GET_MODE (x1) != i1)
    5367              :     return -1;
    5368          256 :   x2 = XEXP (x1, 0);
    5369          256 :   if (GET_MODE (x2) != i1)
    5370              :     return -1;
    5371          256 :   x3 = XEXP (x2, 0);
    5372          256 :   if (GET_MODE (x3) != i1
    5373          256 :       || !nonimmediate_operand (operands[1], i1)
    5374          512 :       || !nonimmediate_operand (operands[2], i1))
    5375            4 :     return -1;
    5376          252 :   x4 = XEXP (x3, 2);
    5377          252 :   if (GET_MODE (x4) != i1
    5378          252 :       || !nonimmediate_operand (operands[3], i1))
    5379            0 :     return -1;
    5380              :   return 0;
    5381              : }
    5382              : 
    5383              : int
    5384          446 : pattern1482 (rtx x1)
    5385              : {
    5386          446 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5387          446 :   rtx x2, x3, x4, x5;
    5388          446 :   int res ATTRIBUTE_UNUSED;
    5389          446 :   x2 = XVECEXP (x1, 0, 12);
    5390          446 :   if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 12])
    5391              :     return -1;
    5392          446 :   x3 = XVECEXP (x1, 0, 13);
    5393          446 :   if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 13])
    5394              :     return -1;
    5395          446 :   x4 = XVECEXP (x1, 0, 14);
    5396          446 :   if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 14])
    5397              :     return -1;
    5398          446 :   x5 = XVECEXP (x1, 0, 15);
    5399          446 :   if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 15])
    5400            0 :     return -1;
    5401              :   return 0;
    5402              : }
    5403              : 
    5404              : int
    5405          217 : pattern1489 (rtx x1, machine_mode i1)
    5406              : {
    5407          217 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5408          217 :   rtx x2, x3;
    5409          217 :   int res ATTRIBUTE_UNUSED;
    5410          217 :   if (!register_operand (operands[0], i1)
    5411          217 :       || GET_MODE (x1) != i1)
    5412              :     return -1;
    5413          198 :   x2 = XVECEXP (x1, 0, 0);
    5414          198 :   if (GET_MODE (x2) != i1
    5415          198 :       || !register_operand (operands[1], i1)
    5416          385 :       || !register_operand (operands[2], i1))
    5417           15 :     return -1;
    5418          183 :   x3 = XVECEXP (x2, 0, 2);
    5419          183 :   if (GET_MODE (x3) != i1
    5420          183 :       || !register_operand (operands[3], i1))
    5421            0 :     return -1;
    5422              :   return 0;
    5423              : }
    5424              : 
    5425              : int
    5426       348813 : pattern1495 (machine_mode i1)
    5427              : {
    5428       348813 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5429       348813 :   int res ATTRIBUTE_UNUSED;
    5430       348813 :   if (!register_operand (operands[1], i1)
    5431          331 :       || !const_0_to_15_operand (operands[2], E_VOIDmode)
    5432          331 :       || !const_0_to_15_operand (operands[3], E_VOIDmode)
    5433          331 :       || !const_0_to_15_operand (operands[4], E_VOIDmode)
    5434       349144 :       || !const_0_to_15_operand (operands[5], E_VOIDmode))
    5435       348482 :     return -1;
    5436              :   return 0;
    5437              : }
    5438              : 
    5439              : int
    5440        33211 : pattern1504 (rtx x1)
    5441              : {
    5442        33211 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5443        33211 :   rtx x2, x3, x4, x5;
    5444        33211 :   int res ATTRIBUTE_UNUSED;
    5445        33211 :   if (!register_operand (operands[0], E_SImode))
    5446              :     return -1;
    5447        26542 :   x2 = XVECEXP (x1, 0, 0);
    5448        26542 :   x3 = XEXP (x2, 1);
    5449        26542 :   if (GET_MODE (x3) != E_SImode
    5450        26542 :       || !nonimmediate_operand (operands[3], E_SImode)
    5451        52632 :       || !register_operand (operands[1], E_SImode))
    5452          484 :     return -1;
    5453        26058 :   x4 = XVECEXP (x1, 0, 1);
    5454        26058 :   x5 = XEXP (x4, 1);
    5455        26058 :   if (GET_MODE (x5) != E_SImode)
    5456              :     return -1;
    5457              :   return 0;
    5458              : }
    5459              : 
    5460              : int
    5461            9 : pattern1512 (rtx x1)
    5462              : {
    5463            9 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5464            9 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    5465            9 :   int res ATTRIBUTE_UNUSED;
    5466            9 :   x2 = XVECEXP (x1, 0, 0);
    5467            9 :   x3 = XEXP (x2, 1);
    5468            9 :   x4 = XEXP (x3, 0);
    5469            9 :   x5 = XEXP (x4, 0);
    5470            9 :   x6 = XEXP (x5, 0);
    5471            9 :   operands[1] = x6;
    5472            9 :   x7 = XVECEXP (x1, 0, 1);
    5473            9 :   x8 = XEXP (x7, 0);
    5474            9 :   operands[0] = x8;
    5475            9 :   x9 = XEXP (x4, 1);
    5476            9 :   if (!rtx_equal_p (x9, operands[1]))
    5477              :     return -1;
    5478            9 :   return pattern1503 (x1); /* [-1, 1] */
    5479              : }
    5480              : 
    5481              : int
    5482       402123 : pattern1519 (rtx x1, machine_mode i1)
    5483              : {
    5484       402123 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5485       402123 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    5486       402123 :   rtx x10, x11;
    5487       402123 :   int res ATTRIBUTE_UNUSED;
    5488       402123 :   if (!register_operand (operands[0], i1)
    5489       402123 :       || GET_MODE (x1) != i1)
    5490              :     return -1;
    5491       378180 :   x2 = PATTERN (peep2_next_insn (1));
    5492       378180 :   switch (GET_CODE (x2))
    5493              :     {
    5494       122875 :     case PARALLEL:
    5495       122875 :       if (XVECLEN (x2, 0) != 2)
    5496              :         return -1;
    5497       122849 :       x3 = XVECEXP (x2, 0, 0);
    5498       122849 :       if (GET_CODE (x3) != SET)
    5499              :         return -1;
    5500       122833 :       x4 = XEXP (x3, 1);
    5501       122833 :       if (GET_CODE (x4) != PLUS
    5502        83667 :           || GET_MODE (x4) != i1)
    5503              :         return -1;
    5504        80151 :       x5 = XVECEXP (x2, 0, 1);
    5505        80151 :       if (GET_CODE (x5) != CLOBBER)
    5506              :         return -1;
    5507        80151 :       x6 = XEXP (x5, 0);
    5508        80151 :       if (GET_CODE (x6) != REG
    5509        80151 :           || REGNO (x6) != 17
    5510       160302 :           || GET_MODE (x6) != E_CCmode)
    5511              :         return -1;
    5512        80151 :       x7 = XEXP (x4, 1);
    5513        80151 :       operands[2] = x7;
    5514        80151 :       if (!x86_64_immediate_operand (operands[2], E_VOIDmode))
    5515              :         return -1;
    5516        13718 :       x8 = XEXP (x4, 0);
    5517        13718 :       if (!rtx_equal_p (x8, operands[0]))
    5518              :         return -1;
    5519              :       return 0;
    5520              : 
    5521       249431 :     case SET:
    5522       249431 :       x9 = XEXP (x2, 1);
    5523       249431 :       if (GET_CODE (x9) != PLUS
    5524        25246 :           || GET_MODE (x9) != i1)
    5525              :         return -1;
    5526        23556 :       x10 = XEXP (x9, 1);
    5527        23556 :       operands[2] = x10;
    5528        23556 :       if (!x86_64_immediate_operand (operands[2], E_VOIDmode))
    5529              :         return -1;
    5530        11145 :       x11 = XEXP (x9, 0);
    5531        11145 :       if (!rtx_equal_p (x11, operands[0]))
    5532              :         return -1;
    5533              :       return 1;
    5534              : 
    5535              :     default:
    5536              :       return -1;
    5537              :     }
    5538              : }
    5539              : 
    5540              : int
    5541           37 : pattern1543 (rtx x1, rtx_code i1)
    5542              : {
    5543           37 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5544           37 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    5545           37 :   rtx x10, x11, x12;
    5546           37 :   int res ATTRIBUTE_UNUSED;
    5547           37 :   x2 = XVECEXP (x1, 0, 1);
    5548           37 :   x3 = XEXP (x2, 1);
    5549           37 :   if (GET_CODE (x3) != i1)
    5550              :     return -1;
    5551           37 :   x4 = XVECEXP (x1, 0, 0);
    5552           37 :   x5 = XEXP (x4, 0);
    5553           37 :   operands[1] = x5;
    5554           37 :   x6 = XEXP (x4, 1);
    5555           37 :   x7 = XEXP (x6, 0);
    5556           37 :   x8 = XEXP (x7, 0);
    5557           37 :   operands[2] = x8;
    5558           37 :   if (!register_operand (operands[2], E_SImode))
    5559              :     return -1;
    5560           37 :   x9 = XEXP (x7, 1);
    5561           37 :   operands[3] = x9;
    5562           37 :   if (!nonimmediate_operand (operands[3], E_SImode))
    5563              :     return -1;
    5564           37 :   x10 = XEXP (x2, 0);
    5565           37 :   operands[0] = x10;
    5566           37 :   x11 = XEXP (x3, 0);
    5567           37 :   if (!rtx_equal_p (x11, operands[2]))
    5568              :     return -1;
    5569           37 :   x12 = XEXP (x3, 1);
    5570           37 :   if (!rtx_equal_p (x12, operands[3]))
    5571              :     return -1;
    5572              :   return 0;
    5573              : }
    5574              : 
    5575              : int
    5576          366 : pattern1558 (rtx x1)
    5577              : {
    5578          366 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5579          366 :   rtx x2, x3, x4, x5;
    5580          366 :   int res ATTRIBUTE_UNUSED;
    5581          366 :   x2 = XVECEXP (x1, 0, 4);
    5582          366 :   operands[2] = x2;
    5583          366 :   if (!const_4_to_7_operand (operands[2], E_VOIDmode))
    5584              :     return -1;
    5585          366 :   x3 = XVECEXP (x1, 0, 5);
    5586          366 :   operands[3] = x3;
    5587          366 :   if (!const_4_to_7_operand (operands[3], E_VOIDmode))
    5588              :     return -1;
    5589          366 :   x4 = XVECEXP (x1, 0, 6);
    5590          366 :   operands[4] = x4;
    5591          366 :   if (!const_4_to_7_operand (operands[4], E_VOIDmode))
    5592              :     return -1;
    5593          366 :   x5 = XVECEXP (x1, 0, 7);
    5594          366 :   operands[5] = x5;
    5595          366 :   if (!const_4_to_7_operand (operands[5], E_VOIDmode))
    5596              :     return -1;
    5597              :   return 0;
    5598              : }
    5599              : 
    5600              : int
    5601        66437 : pattern1568 (rtx x1)
    5602              : {
    5603        66437 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5604        66437 :   rtx x2, x3;
    5605        66437 :   int res ATTRIBUTE_UNUSED;
    5606        66437 :   if (!nonimmediate_operand (operands[0], E_V4SFmode)
    5607        66437 :       || GET_MODE (x1) != E_V4SFmode)
    5608              :     return -1;
    5609        56577 :   x2 = XEXP (x1, 0);
    5610        56577 :   if (GET_MODE (x2) != E_V8SFmode
    5611        56577 :       || !nonimmediate_operand (operands[1], E_V4SFmode))
    5612           33 :     return -1;
    5613        56544 :   x3 = XEXP (x2, 1);
    5614        56544 :   operands[2] = x3;
    5615        56544 :   if (!nonimmediate_operand (operands[2], E_V4SFmode))
    5616              :     return -1;
    5617              :   return 0;
    5618              : }
    5619              : 
    5620              : int
    5621        12974 : pattern1575 (rtx x1, machine_mode i1)
    5622              : {
    5623        12974 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5624        12974 :   int res ATTRIBUTE_UNUSED;
    5625        12974 :   if (!nonimmediate_operand (operands[0], i1)
    5626        12974 :       || GET_MODE (x1) != i1
    5627        12974 :       || !nonimmediate_operand (operands[1], i1)
    5628        24946 :       || !ix86_carry_flag_operator (operands[2], i1))
    5629         1002 :     return -1;
    5630              :   return 0;
    5631              : }
    5632              : 
    5633              : int
    5634          137 : pattern1582 (rtx x1, int *pnum_clobbers)
    5635              : {
    5636          137 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5637          137 :   rtx x2, x3;
    5638          137 :   int res ATTRIBUTE_UNUSED;
    5639          137 :   switch (GET_CODE (x1))
    5640              :     {
    5641            6 :     case UNSPEC:
    5642            6 :       if (pnum_clobbers == NULL
    5643            6 :           || XVECLEN (x1, 0) != 1
    5644            6 :           || XINT (x1, 1) != 33)
    5645              :         return -1;
    5646            6 :       x2 = XVECEXP (x1, 0, 0);
    5647            6 :       if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    5648              :         return -1;
    5649              :       return 0;
    5650              : 
    5651           95 :     case CLOBBER:
    5652           95 :       x3 = XEXP (x1, 0);
    5653           95 :       if (GET_CODE (x3) != REG
    5654           95 :           || REGNO (x3) != 17
    5655          190 :           || GET_MODE (x3) != E_CCmode)
    5656              :         return -1;
    5657              :       return 1;
    5658              : 
    5659            0 :     case USE:
    5660            0 :       if (pnum_clobbers == NULL)
    5661              :         return -1;
    5662            0 :       x3 = XEXP (x1, 0);
    5663            0 :       operands[4] = x3;
    5664            0 :       if (!register_operand (operands[4], E_SImode))
    5665              :         return -1;
    5666              :       return 2;
    5667              : 
    5668              :     default:
    5669              :       return -1;
    5670              :     }
    5671              : }
    5672              : 
    5673              : int
    5674         4476 : pattern1593 (rtx x1, machine_mode i1, machine_mode i2)
    5675              : {
    5676         4476 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5677         4476 :   rtx x2, x3;
    5678         4476 :   int res ATTRIBUTE_UNUSED;
    5679         4476 :   if (!register_operand (operands[0], i1)
    5680         4476 :       || GET_MODE (x1) != i1)
    5681              :     return -1;
    5682         4256 :   x2 = XEXP (x1, 0);
    5683         4256 :   if (GET_MODE (x2) != i1)
    5684              :     return -1;
    5685         4256 :   x3 = XEXP (x2, 0);
    5686         4256 :   if (GET_MODE (x3) != i2
    5687         4256 :       || !register_operand (operands[1], i1)
    5688         4250 :       || !nonimmediate_operand (operands[2], i1)
    5689         8426 :       || !nonimm_or_0_operand (operands[3], i1))
    5690          196 :     return -1;
    5691              :   return 0;
    5692              : }
    5693              : 
    5694              : int
    5695          507 : pattern1601 (rtx x1, machine_mode i1, machine_mode i2)
    5696              : {
    5697          507 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5698          507 :   rtx x2, x3;
    5699          507 :   int res ATTRIBUTE_UNUSED;
    5700          507 :   if (!register_operand (operands[0], i2)
    5701          507 :       || GET_MODE (x1) != i2)
    5702              :     return -1;
    5703          493 :   x2 = XVECEXP (x1, 0, 0);
    5704          493 :   if (GET_MODE (x2) != i2)
    5705              :     return -1;
    5706          493 :   x3 = XEXP (x2, 0);
    5707          493 :   if (GET_MODE (x3) != i2
    5708          493 :       || !register_operand (operands[1], i2)
    5709          981 :       || pattern1600 (
    5710              : i1, 
    5711              : i2) != 0)
    5712           17 :     return -1;
    5713              :   return 0;
    5714              : }
    5715              : 
    5716              : int
    5717            0 : pattern1610 (rtx x1, machine_mode i1)
    5718              : {
    5719            0 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5720            0 :   rtx x2, x3, x4, x5;
    5721            0 :   int res ATTRIBUTE_UNUSED;
    5722            0 :   if (!register_operand (operands[0], i1)
    5723            0 :       || GET_MODE (x1) != i1)
    5724              :     return -1;
    5725            0 :   x2 = XVECEXP (x1, 0, 0);
    5726            0 :   if (GET_MODE (x2) != i1)
    5727              :     return -1;
    5728            0 :   x3 = XEXP (x2, 0);
    5729            0 :   if (GET_MODE (x3) != i1)
    5730              :     return -1;
    5731            0 :   x4 = XEXP (x3, 0);
    5732            0 :   if (GET_MODE (x4) != i1
    5733            0 :       || !nonimmediate_operand (operands[1], i1)
    5734            0 :       || !nonimmediate_operand (operands[2], i1))
    5735            0 :     return -1;
    5736            0 :   x5 = XEXP (x3, 2);
    5737            0 :   if (GET_MODE (x5) != i1
    5738            0 :       || !nonimmediate_operand (operands[3], i1)
    5739            0 :       || !const0_operand (operands[4], i1)
    5740            0 :       || !register_operand (operands[5], E_QImode))
    5741            0 :     return -1;
    5742              :   return 0;
    5743              : }
    5744              : 
    5745              : int
    5746          218 : pattern1623 (machine_mode i1)
    5747              : {
    5748          218 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5749          218 :   int res ATTRIBUTE_UNUSED;
    5750          218 :   if (!vsib_address_operand (operands[3], i1))
    5751              :     return -1;
    5752          208 :   switch (GET_MODE (operands[2]))
    5753              :     {
    5754          128 :     case E_V8SImode:
    5755          128 :       if (!register_operand (operands[2], E_V8SImode))
    5756              :         return -1;
    5757              :       return 0;
    5758              : 
    5759           80 :     case E_V8DImode:
    5760           80 :       if (!register_operand (operands[2], E_V8DImode))
    5761              :         return -1;
    5762              :       return 1;
    5763              : 
    5764              :     default:
    5765              :       return -1;
    5766              :     }
    5767              : }
    5768              : 
    5769              : int
    5770         4454 : pattern1631 (rtx x1, machine_mode i1, machine_mode i2)
    5771              : {
    5772         4454 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5773         4454 :   rtx x2, x3;
    5774         4454 :   int res ATTRIBUTE_UNUSED;
    5775         4454 :   if (!register_operand (operands[0], i1)
    5776         4454 :       || GET_MODE (x1) != i1)
    5777              :     return -1;
    5778         4424 :   x2 = XEXP (x1, 0);
    5779         4424 :   if (GET_MODE (x2) != i2
    5780         4424 :       || !register_operand (operands[1], i1))
    5781          909 :     return -1;
    5782         3515 :   x3 = XEXP (x2, 1);
    5783         3515 :   operands[2] = x3;
    5784         3515 :   if (!nonimmediate_operand (operands[2], i1))
    5785              :     return -1;
    5786              :   return 0;
    5787              : }
    5788              : 
    5789              : int
    5790        71744 : pattern1639 (rtx x1, machine_mode i1)
    5791              : {
    5792        71744 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5793        71744 :   rtx x2;
    5794        71744 :   int res ATTRIBUTE_UNUSED;
    5795        71744 :   if (!nonimmediate_operand (operands[1], i1)
    5796        71732 :       || !register_operand (operands[0], i1)
    5797       143476 :       || GET_MODE (x1) != i1)
    5798           12 :     return -1;
    5799        71732 :   x2 = XEXP (x1, 1);
    5800        71732 :   if (GET_MODE (x2) != i1)
    5801              :     return -1;
    5802              :   return 0;
    5803              : }
    5804              : 
    5805              : int
    5806        18824 : pattern1646 (rtx x1)
    5807              : {
    5808        18824 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5809        18824 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    5810        18824 :   rtx x10, x11;
    5811        18824 :   int res ATTRIBUTE_UNUSED;
    5812        18824 :   if (!plusminuslogic_operator (operands[3], E_SImode))
    5813              :     return -1;
    5814        12409 :   x2 = XVECEXP (x1, 0, 1);
    5815        12409 :   if (GET_CODE (x2) != CLOBBER)
    5816              :     return -1;
    5817        12409 :   x3 = XEXP (x2, 0);
    5818        12409 :   if (GET_CODE (x3) != REG
    5819        12409 :       || REGNO (x3) != 17
    5820        24818 :       || GET_MODE (x3) != E_CCmode)
    5821              :     return -1;
    5822        12409 :   x4 = XVECEXP (x1, 0, 0);
    5823        12409 :   x5 = XEXP (x4, 0);
    5824        12409 :   operands[4] = x5;
    5825        12409 :   if (!register_operand (operands[4], E_SImode))
    5826              :     return -1;
    5827        12400 :   x6 = XEXP (x4, 1);
    5828        12400 :   x7 = XEXP (x6, 1);
    5829        12400 :   operands[2] = x7;
    5830        12400 :   if (!nonmemory_operand (operands[2], E_SImode))
    5831              :     return -1;
    5832        12359 :   x8 = XEXP (x6, 0);
    5833        12359 :   if (!rtx_equal_p (x8, operands[4]))
    5834              :     return -1;
    5835        12305 :   x9 = PATTERN (peep2_next_insn (2));
    5836        12305 :   x10 = XEXP (x9, 1);
    5837        12305 :   if (!rtx_equal_p (x10, operands[0]))
    5838              :     return -1;
    5839         1522 :   x11 = PATTERN (peep2_next_insn (3));
    5840         1522 :   if (GET_CODE (x11) != SET)
    5841              :     return -1;
    5842              :   return 0;
    5843              : }
    5844              : 
    5845              : int
    5846         1084 : pattern1661 (rtx x1, machine_mode i1)
    5847              : {
    5848         1084 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5849         1084 :   rtx x2, x3, x4;
    5850         1084 :   int res ATTRIBUTE_UNUSED;
    5851         1084 :   if (!register_operand (operands[0], i1)
    5852         1084 :       || GET_MODE (x1) != i1)
    5853              :     return -1;
    5854         1041 :   x2 = XVECEXP (x1, 0, 0);
    5855         1041 :   if (GET_MODE (x2) != i1)
    5856              :     return -1;
    5857         1041 :   x3 = XEXP (x2, 0);
    5858         1041 :   if (GET_MODE (x3) != i1)
    5859              :     return -1;
    5860         1041 :   x4 = XEXP (x3, 0);
    5861         1041 :   if (GET_MODE (x4) != i1
    5862         1041 :       || !register_operand (operands[1], i1)
    5863         1041 :       || !register_operand (operands[2], i1)
    5864         2082 :       || !nonimm_or_0_operand (operands[3], i1))
    5865            0 :     return -1;
    5866              :   return 0;
    5867              : }
    5868              : 
    5869              : int
    5870           54 : pattern1669 (rtx x1, machine_mode i1)
    5871              : {
    5872           54 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5873           54 :   rtx x2, x3, x4, x5;
    5874           54 :   int res ATTRIBUTE_UNUSED;
    5875           54 :   if (!register_operand (operands[0], i1)
    5876           54 :       || GET_MODE (x1) != i1)
    5877              :     return -1;
    5878           39 :   x2 = XVECEXP (x1, 0, 0);
    5879           39 :   if (GET_MODE (x2) != i1)
    5880              :     return -1;
    5881           39 :   x3 = XEXP (x2, 0);
    5882           39 :   if (GET_MODE (x3) != i1)
    5883              :     return -1;
    5884           39 :   x4 = XEXP (x3, 0);
    5885           39 :   if (GET_MODE (x4) != i1
    5886           39 :       || !nonimmediate_operand (operands[1], i1)
    5887           78 :       || !register_operand (operands[2], i1))
    5888            6 :     return -1;
    5889           33 :   x5 = XEXP (x3, 2);
    5890           33 :   if (GET_MODE (x5) != i1
    5891           33 :       || !register_operand (operands[3], i1))
    5892            0 :     return -1;
    5893              :   return 0;
    5894              : }
    5895              : 
    5896              : int
    5897        49476 : pattern1682 (rtx x1, machine_mode i1)
    5898              : {
    5899        49476 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5900        49476 :   int res ATTRIBUTE_UNUSED;
    5901        49476 :   if (!nonimmediate_operand (operands[1], i1)
    5902        49476 :       || !x86_64_hilo_general_operand (operands[2], i1)
    5903        49399 :       || !nonimmediate_operand (operands[0], i1)
    5904        98875 :       || GET_MODE (x1) != i1)
    5905           77 :     return -1;
    5906              :   return 0;
    5907              : }
    5908              : 
    5909              : int
    5910          502 : pattern1690 (rtx x1, machine_mode i1)
    5911              : {
    5912          502 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5913          502 :   rtx x2;
    5914          502 :   int res ATTRIBUTE_UNUSED;
    5915          502 :   if (!register_operand (operands[0], i1)
    5916          502 :       || GET_MODE (x1) != i1)
    5917              :     return -1;
    5918          451 :   x2 = XEXP (x1, 0);
    5919          451 :   if (GET_MODE (x2) != i1
    5920          451 :       || !nonimmediate_operand (operands[1], i1)
    5921          880 :       || !nonimm_or_0_operand (operands[6], i1))
    5922           39 :     return -1;
    5923              :   return 0;
    5924              : }
    5925              : 
    5926              : int
    5927        39644 : pattern1697 (rtx x1, machine_mode i1)
    5928              : {
    5929        39644 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5930        39644 :   int res ATTRIBUTE_UNUSED;
    5931        39644 :   if (!register_operand (operands[1], i1)
    5932        39027 :       || !x86_64_general_operand (operands[2], i1)
    5933        38686 :       || GET_MODE (x1) != i1
    5934        78330 :       || !scratch_operand (operands[0], i1))
    5935         1061 :     return -1;
    5936              :   return 0;
    5937              : }
    5938              : 
    5939              : int
    5940           52 : pattern1703 (rtx x1)
    5941              : {
    5942           52 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5943           52 :   rtx x2, x3, x4, x5, x6, x7, x8;
    5944           52 :   int res ATTRIBUTE_UNUSED;
    5945           52 :   if (!register_operand (operands[0], E_SImode))
    5946              :     return -1;
    5947           52 :   x2 = XEXP (x1, 0);
    5948           52 :   x3 = XEXP (x2, 0);
    5949           52 :   operands[1] = x3;
    5950           52 :   if (!nonimmediate_operand (operands[1], E_SImode))
    5951              :     return -1;
    5952           52 :   x4 = XEXP (x1, 1);
    5953           52 :   if (GET_MODE (x4) != E_SImode)
    5954              :     return -1;
    5955           52 :   x5 = XEXP (x4, 0);
    5956           52 :   if (GET_MODE (x5) != E_DImode)
    5957              :     return -1;
    5958           52 :   x6 = XEXP (x5, 0);
    5959           52 :   if (GET_MODE (x6) != E_DImode)
    5960              :     return -1;
    5961           52 :   x7 = XEXP (x6, 0);
    5962           52 :   operands[2] = x7;
    5963           52 :   if (!register_operand (operands[2], E_SImode))
    5964              :     return -1;
    5965           52 :   x8 = XEXP (x5, 1);
    5966           52 :   operands[4] = x8;
    5967           52 :   if (!const_0_to_63_operand (operands[4], E_QImode))
    5968              :     return -1;
    5969              :   return 0;
    5970              : }
    5971              : 
    5972              : int
    5973           24 : pattern1717 (rtx x1, machine_mode i1)
    5974              : {
    5975           24 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5976           24 :   rtx x2, x3, x4, x5, x6, x7, x8;
    5977           24 :   int res ATTRIBUTE_UNUSED;
    5978           24 :   x2 = XEXP (x1, 0);
    5979           24 :   x3 = XEXP (x2, 0);
    5980           24 :   x4 = XEXP (x3, 0);
    5981           24 :   x5 = XEXP (x4, 0);
    5982           24 :   operands[2] = x5;
    5983           24 :   x6 = XEXP (x3, 2);
    5984           24 :   if (GET_MODE (x6) != i1
    5985           24 :       || !nonimmediate_operand (operands[3], i1))
    5986            0 :     return -1;
    5987           24 :   x7 = XEXP (x2, 1);
    5988           24 :   if (!rtx_equal_p (x7, operands[3]))
    5989              :     return -1;
    5990           24 :   x8 = XEXP (x1, 1);
    5991           24 :   if (!rtx_equal_p (x8, operands[3]))
    5992              :     return -1;
    5993              :   return 0;
    5994              : }
    5995              : 
    5996              : int
    5997          863 : pattern1723 (rtx x1, machine_mode i1, machine_mode i2)
    5998              : {
    5999          863 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6000          863 :   rtx x2, x3;
    6001          863 :   int res ATTRIBUTE_UNUSED;
    6002          863 :   if (!register_operand (operands[0], i1)
    6003          801 :       || GET_MODE (x1) != i1
    6004          801 :       || !vsib_mem_operator (operands[6], i2)
    6005         1664 :       || !register_operand (operands[4], i1))
    6006          648 :     return -1;
    6007          215 :   x2 = XVECEXP (x1, 0, 1);
    6008          215 :   x3 = XEXP (x2, 0);
    6009          215 :   switch (GET_MODE (x3))
    6010              :     {
    6011           28 :     case E_SImode:
    6012           28 :       return pattern1722 (
    6013           28 : E_SImode); /* [-1, 1] */
    6014              : 
    6015          187 :     case E_DImode:
    6016          187 :       res = pattern1722 (
    6017              : E_DImode);
    6018          187 :       if (res >= 0)
    6019           65 :         return res + 2; /* [2, 3] */
    6020              :       return -1;
    6021              : 
    6022              :     default:
    6023              :       return -1;
    6024              :     }
    6025              : }
    6026              : 
    6027              : int
    6028          688 : pattern1732 (machine_mode i1)
    6029              : {
    6030          688 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6031          688 :   int res ATTRIBUTE_UNUSED;
    6032          688 :   if (!vsib_address_operand (operands[0], i1))
    6033              :     return -1;
    6034          662 :   switch (GET_MODE (operands[2]))
    6035              :     {
    6036          358 :     case E_V4SImode:
    6037          358 :       if (!register_operand (operands[2], E_V4SImode))
    6038              :         return -1;
    6039              :       return 0;
    6040              : 
    6041          304 :     case E_V4DImode:
    6042          304 :       if (!register_operand (operands[2], E_V4DImode))
    6043              :         return -1;
    6044              :       return 1;
    6045              : 
    6046              :     default:
    6047              :       return -1;
    6048              :     }
    6049              : }
    6050              : 
    6051              : int
    6052          124 : pattern1740 (machine_mode i1)
    6053              : {
    6054          124 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6055          124 :   int res ATTRIBUTE_UNUSED;
    6056          124 :   if (!vsib_address_operand (operands[3], i1))
    6057              :     return -1;
    6058          120 :   switch (GET_MODE (operands[2]))
    6059              :     {
    6060           34 :     case E_V8SImode:
    6061           34 :       if (!register_operand (operands[2], E_V8SImode))
    6062              :         return -1;
    6063              :       return 0;
    6064              : 
    6065           86 :     case E_V4DImode:
    6066           86 :       if (!register_operand (operands[2], E_V4DImode))
    6067              :         return -1;
    6068              :       return 1;
    6069              : 
    6070              :     default:
    6071              :       return -1;
    6072              :     }
    6073              : }
    6074              : 
    6075              : int
    6076         3444 : pattern1749 (rtx x1)
    6077              : {
    6078         3444 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6079         3444 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    6080         3444 :   rtx x10, x11, x12, x13, x14, x15, x16, x17;
    6081         3444 :   int res ATTRIBUTE_UNUSED;
    6082         3444 :   if (!register_operand (operands[0], E_SImode))
    6083              :     return -1;
    6084         3436 :   x2 = XVECEXP (x1, 0, 0);
    6085         3436 :   x3 = XEXP (x2, 1);
    6086         3436 :   x4 = XVECEXP (x3, 0, 0);
    6087         3436 :   operands[2] = x4;
    6088         3436 :   if (!register_operand (operands[2], E_V16QImode))
    6089              :     return -1;
    6090         3344 :   x5 = XVECEXP (x3, 0, 1);
    6091         3344 :   operands[3] = x5;
    6092         3344 :   if (!nonimmediate_operand (operands[3], E_V16QImode))
    6093              :     return -1;
    6094         3324 :   x6 = XVECEXP (x3, 0, 2);
    6095         3324 :   operands[4] = x6;
    6096         3324 :   if (!const_0_to_255_operand (operands[4], E_SImode))
    6097              :     return -1;
    6098         3324 :   x7 = XVECEXP (x1, 0, 1);
    6099         3324 :   x8 = XEXP (x7, 0);
    6100         3324 :   operands[1] = x8;
    6101         3324 :   if (!register_operand (operands[1], E_V16QImode))
    6102              :     return -1;
    6103         3284 :   x9 = XEXP (x7, 1);
    6104         3284 :   x10 = XVECEXP (x9, 0, 0);
    6105         3284 :   if (!rtx_equal_p (x10, operands[2]))
    6106              :     return -1;
    6107         3284 :   x11 = XVECEXP (x9, 0, 1);
    6108         3284 :   if (!rtx_equal_p (x11, operands[3]))
    6109              :     return -1;
    6110         3284 :   x12 = XVECEXP (x9, 0, 2);
    6111         3284 :   if (!rtx_equal_p (x12, operands[4]))
    6112              :     return -1;
    6113         3284 :   x13 = XVECEXP (x1, 0, 2);
    6114         3284 :   x14 = XEXP (x13, 1);
    6115         3284 :   x15 = XVECEXP (x14, 0, 0);
    6116         3284 :   if (!rtx_equal_p (x15, operands[2]))
    6117              :     return -1;
    6118         3174 :   x16 = XVECEXP (x14, 0, 1);
    6119         3174 :   if (!rtx_equal_p (x16, operands[3]))
    6120              :     return -1;
    6121         3064 :   x17 = XVECEXP (x14, 0, 2);
    6122         3064 :   if (!rtx_equal_p (x17, operands[4]))
    6123              :     return -1;
    6124              :   return 0;
    6125              : }
    6126              : 
    6127              : int
    6128          510 : pattern1769 (rtx x1, machine_mode i1, machine_mode i2)
    6129              : {
    6130          510 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6131          510 :   rtx x2, x3;
    6132          510 :   int res ATTRIBUTE_UNUSED;
    6133          510 :   if (!register_operand (operands[0], i2)
    6134          510 :       || GET_MODE (x1) != i2
    6135          510 :       || !register_operand (operands[1], i2)
    6136          510 :       || !register_operand (operands[7], E_QImode)
    6137          506 :       || !vsib_mem_operator (operands[6], i1)
    6138         1016 :       || !scratch_operand (operands[2], E_QImode))
    6139            4 :     return -1;
    6140          506 :   x2 = XVECEXP (x1, 0, 2);
    6141          506 :   x3 = XEXP (x2, 0);
    6142          506 :   switch (GET_MODE (x3))
    6143              :     {
    6144            0 :     case E_SImode:
    6145            0 :       return pattern1768 (
    6146            0 : E_SImode); /* [-1, 1] */
    6147              : 
    6148          506 :     case E_DImode:
    6149          506 :       res = pattern1768 (
    6150              : E_DImode);
    6151          506 :       if (res >= 0)
    6152          476 :         return res + 2; /* [2, 3] */
    6153              :       return -1;
    6154              : 
    6155              :     default:
    6156              :       return -1;
    6157              :     }
    6158              : }
    6159              : 
    6160              : int
    6161         2614 : pattern1783 (rtx x1)
    6162              : {
    6163         2614 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6164         2614 :   rtx x2, x3, x4, x5, x6;
    6165         2614 :   int res ATTRIBUTE_UNUSED;
    6166         2614 :   x2 = XVECEXP (x1, 0, 0);
    6167         2614 :   x3 = XEXP (x2, 1);
    6168         2614 :   x4 = XEXP (x3, 0);
    6169         2614 :   switch (GET_MODE (x4))
    6170              :     {
    6171          354 :     case E_HImode:
    6172          354 :       if (!memory_operand (operands[0], E_HImode))
    6173              :         return -1;
    6174          354 :       x5 = XVECEXP (x1, 0, 1);
    6175          354 :       x6 = XEXP (x5, 0);
    6176          354 :       if (GET_MODE (x6) != E_HImode
    6177          354 :           || !nonmemory_operand (operands[1], E_HImode))
    6178            0 :         return -1;
    6179              :       return 0;
    6180              : 
    6181         1709 :     case E_SImode:
    6182         1709 :       if (!memory_operand (operands[0], E_SImode))
    6183              :         return -1;
    6184         1709 :       x5 = XVECEXP (x1, 0, 1);
    6185         1709 :       x6 = XEXP (x5, 0);
    6186         1709 :       if (GET_MODE (x6) != E_SImode
    6187         1709 :           || !nonmemory_operand (operands[1], E_SImode))
    6188            0 :         return -1;
    6189              :       return 1;
    6190              : 
    6191          551 :     case E_DImode:
    6192          551 :       if (!memory_operand (operands[0], E_DImode))
    6193              :         return -1;
    6194          551 :       x5 = XVECEXP (x1, 0, 1);
    6195          551 :       x6 = XEXP (x5, 0);
    6196          551 :       if (GET_MODE (x6) != E_DImode
    6197          551 :           || !nonmemory_operand (operands[1], E_DImode))
    6198           31 :         return -1;
    6199              :       return 2;
    6200              : 
    6201              :     default:
    6202              :       return -1;
    6203              :     }
    6204              : }
    6205              : 
    6206              : int
    6207          952 : pattern1801 (rtx x1, machine_mode i1, machine_mode i2)
    6208              : {
    6209          952 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6210          952 :   rtx x2, x3;
    6211          952 :   int res ATTRIBUTE_UNUSED;
    6212          952 :   if (!register_operand (operands[0], i1)
    6213          945 :       || GET_MODE (x1) != i1
    6214          945 :       || !vsib_mem_operator (operands[6], i2)
    6215         1897 :       || !scratch_operand (operands[1], i1))
    6216            7 :     return -1;
    6217          945 :   x2 = XVECEXP (x1, 0, 1);
    6218          945 :   x3 = XEXP (x2, 0);
    6219          945 :   switch (GET_MODE (x3))
    6220              :     {
    6221              :     case E_SImode:
    6222              :       return 0;
    6223              : 
    6224          754 :     case E_DImode:
    6225          754 :       return 1;
    6226              : 
    6227              :     default:
    6228              :       return -1;
    6229              :     }
    6230              : }
    6231              : 
    6232              : int
    6233            5 : pattern1807 (rtx x1)
    6234              : {
    6235            5 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6236            5 :   rtx x2;
    6237            5 :   int res ATTRIBUTE_UNUSED;
    6238            5 :   if (GET_MODE (x1) != E_DImode)
    6239              :     return -1;
    6240            5 :   switch (GET_CODE (x1))
    6241              :     {
    6242            4 :     case SIGN_EXTEND:
    6243            4 :       x2 = XEXP (x1, 0);
    6244            4 :       operands[4] = x2;
    6245            4 :       if (!nonimmediate_gr_operand (operands[4], E_SImode))
    6246              :         return -1;
    6247              :       return 0;
    6248              : 
    6249            0 :     case ZERO_EXTEND:
    6250            0 :       x2 = XEXP (x1, 0);
    6251            0 :       operands[4] = x2;
    6252            0 :       if (!nonimmediate_gr_operand (operands[4], E_SImode))
    6253              :         return -1;
    6254              :       return 1;
    6255              : 
    6256              :     default:
    6257              :       return -1;
    6258              :     }
    6259              : }
    6260              : 
    6261              : int
    6262          762 : pattern1817 (machine_mode i1)
    6263              : {
    6264          762 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6265          762 :   int res ATTRIBUTE_UNUSED;
    6266          762 :   if (!vsib_address_operand (operands[3], i1))
    6267              :     return -1;
    6268          746 :   switch (GET_MODE (operands[4]))
    6269              :     {
    6270          376 :     case E_V4SImode:
    6271          376 :       if (!register_operand (operands[4], E_V4SImode))
    6272              :         return -1;
    6273              :       return 0;
    6274              : 
    6275          370 :     case E_V4DImode:
    6276          370 :       if (!register_operand (operands[4], E_V4DImode))
    6277              :         return -1;
    6278              :       return 1;
    6279              : 
    6280              :     default:
    6281              :       return -1;
    6282              :     }
    6283              : }
    6284              : 
    6285              : int
    6286          292 : pattern1825 (rtx x1, machine_mode i1)
    6287              : {
    6288          292 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6289          292 :   rtx x2, x3, x4, x5, x6, x7;
    6290          292 :   int res ATTRIBUTE_UNUSED;
    6291          292 :   x2 = XVECEXP (x1, 0, 0);
    6292          292 :   x3 = XEXP (x2, 1);
    6293          292 :   x4 = XEXP (x3, 0);
    6294          292 :   x5 = XEXP (x4, 0);
    6295          292 :   if (GET_MODE (x5) != i1
    6296          292 :       || !nonimmediate_operand (operands[1], i1)
    6297          570 :       || !ix86_carry_flag_operator (operands[4], i1))
    6298           14 :     return -1;
    6299          278 :   x6 = XVECEXP (x1, 0, 1);
    6300          278 :   x7 = XEXP (x6, 1);
    6301          278 :   return pattern1822 (x7, 
    6302          278 : i1); /* [-1, 0] */
    6303              : }
    6304              : 
    6305              : int
    6306          442 : pattern1833 (rtx x1, machine_mode i1)
    6307              : {
    6308          442 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6309          442 :   rtx x2, x3, x4;
    6310          442 :   int res ATTRIBUTE_UNUSED;
    6311          442 :   operands[4] = x1;
    6312          442 :   if (!register_operand (operands[4], i1))
    6313              :     return -1;
    6314          172 :   x2 = PATTERN (peep2_next_insn (3));
    6315          172 :   if (GET_CODE (x2) != SET)
    6316              :     return -1;
    6317          172 :   x3 = XEXP (x2, 1);
    6318          172 :   if (!rtx_equal_p (x3, operands[4]))
    6319              :     return -1;
    6320            0 :   x4 = XEXP (x2, 0);
    6321            0 :   if (!rtx_equal_p (x4, operands[1]))
    6322              :     return -1;
    6323              :   return 0;
    6324              : }
    6325              : 
    6326              : int
    6327          418 : pattern1839 (rtx x1, machine_mode i1)
    6328              : {
    6329          418 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6330          418 :   rtx x2, x3, x4, x5, x6, x7;
    6331          418 :   int res ATTRIBUTE_UNUSED;
    6332          418 :   x2 = XEXP (x1, 0);
    6333          418 :   x3 = XEXP (x2, 0);
    6334          418 :   x4 = XEXP (x3, 0);
    6335          418 :   x5 = XEXP (x4, 0);
    6336          418 :   operands[2] = x5;
    6337          418 :   if (!register_operand (operands[2], i1)
    6338          418 :       || !nonimmediate_operand (operands[3], i1))
    6339            4 :     return -1;
    6340          414 :   x6 = XEXP (x2, 1);
    6341          414 :   if (!rtx_equal_p (x6, operands[3]))
    6342              :     return -1;
    6343          337 :   x7 = XEXP (x1, 1);
    6344          337 :   if (!rtx_equal_p (x7, operands[3]))
    6345              :     return -1;
    6346              :   return 0;
    6347              : }
    6348              : 
    6349              : int
    6350            0 : pattern1849 (machine_mode i1)
    6351              : {
    6352            0 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6353            0 :   int res ATTRIBUTE_UNUSED;
    6354            0 :   if (!register_operand (operands[4], i1)
    6355            0 :       || !register_operand (operands[5], i1)
    6356            0 :       || !register_operand (operands[6], i1)
    6357            0 :       || !register_operand (operands[0], i1)
    6358            0 :       || !register_operand (operands[1], i1)
    6359            0 :       || !register_operand (operands[2], i1))
    6360            0 :     return -1;
    6361              :   return 0;
    6362              : }
    6363              : 
    6364              : int
    6365       427383 : pattern1855 (rtx x1, machine_mode i1)
    6366              : {
    6367       427383 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6368       427383 :   rtx x2, x3, x4, x5;
    6369       427383 :   int res ATTRIBUTE_UNUSED;
    6370       427383 :   if (!register_operand (operands[0], i1))
    6371              :     return -1;
    6372       427383 :   x2 = XVECEXP (x1, 0, 0);
    6373       427383 :   x3 = XEXP (x2, 1);
    6374       427383 :   if (GET_MODE (x3) != i1
    6375       427383 :       || !memory_operand (operands[1], i1)
    6376       426351 :       || !register_operand (operands[2], i1)
    6377       818215 :       || !register_operand (operands[3], i1))
    6378        91451 :     return -1;
    6379       335932 :   x4 = XVECEXP (x1, 0, 1);
    6380       335932 :   x5 = XEXP (x4, 1);
    6381       335932 :   if (GET_MODE (x5) != i1)
    6382              :     return -1;
    6383              :   return 0;
    6384              : }
    6385              : 
    6386              : int
    6387          119 : pattern1862 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
    6388              : {
    6389          119 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6390          119 :   rtx x2, x3, x4;
    6391          119 :   int res ATTRIBUTE_UNUSED;
    6392          119 :   if (!register_operand (operands[0], i1)
    6393          119 :       || GET_MODE (x1) != i1)
    6394              :     return -1;
    6395          111 :   x2 = XEXP (x1, 0);
    6396          111 :   if (GET_MODE (x2) != i3
    6397          111 :       || !vsib_mem_operator (operands[6], i2)
    6398          222 :       || !register_operand (operands[4], i1))
    6399           81 :     return -1;
    6400           30 :   x3 = XVECEXP (x2, 0, 1);
    6401           30 :   x4 = XEXP (x3, 0);
    6402           30 :   switch (GET_MODE (x4))
    6403              :     {
    6404            0 :     case E_SImode:
    6405            0 :       if (!vsib_address_operand (operands[2], E_SImode))
    6406              :         return -1;
    6407              :       return 0;
    6408              : 
    6409           30 :     case E_DImode:
    6410           30 :       if (!vsib_address_operand (operands[2], E_DImode))
    6411              :         return -1;
    6412              :       return 1;
    6413              : 
    6414              :     default:
    6415              :       return -1;
    6416              :     }
    6417              : }
    6418              : 
    6419              : int
    6420          715 : pattern1869 (rtx x1, machine_mode i1)
    6421              : {
    6422          715 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6423          715 :   int res ATTRIBUTE_UNUSED;
    6424          715 :   if (!register_operand (operands[5], i1))
    6425              :     return -1;
    6426          644 :   switch (GET_MODE (x1))
    6427              :     {
    6428            0 :     case E_SImode:
    6429            0 :       if (!vsib_address_operand (operands[3], E_SImode))
    6430              :         return -1;
    6431              :       return 0;
    6432              : 
    6433          644 :     case E_DImode:
    6434          644 :       if (!vsib_address_operand (operands[3], E_DImode))
    6435              :         return -1;
    6436              :       return 1;
    6437              : 
    6438              :     default:
    6439              :       return -1;
    6440              :     }
    6441              : }
    6442              : 
    6443              : int
    6444           87 : pattern1877 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
    6445              : {
    6446           87 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6447           87 :   rtx x2, x3, x4;
    6448           87 :   int res ATTRIBUTE_UNUSED;
    6449           87 :   if (!register_operand (operands[0], i2)
    6450           87 :       || GET_MODE (x1) != i2)
    6451              :     return -1;
    6452           85 :   x2 = XEXP (x1, 0);
    6453           85 :   if (GET_MODE (x2) != i1
    6454           85 :       || !vsib_mem_operator (operands[6], i3)
    6455           85 :       || !register_operand (operands[4], i2)
    6456          105 :       || !scratch_operand (operands[1], i1))
    6457           65 :     return -1;
    6458           20 :   x3 = XVECEXP (x2, 0, 1);
    6459           20 :   x4 = XEXP (x3, 0);
    6460           20 :   switch (GET_MODE (x4))
    6461              :     {
    6462            0 :     case E_SImode:
    6463            0 :       if (!vsib_address_operand (operands[2], E_SImode))
    6464              :         return -1;
    6465              :       return 0;
    6466              : 
    6467           20 :     case E_DImode:
    6468           20 :       if (!vsib_address_operand (operands[2], E_DImode))
    6469              :         return -1;
    6470              :       return 1;
    6471              : 
    6472              :     default:
    6473              :       return -1;
    6474              :     }
    6475              : }
    6476              : 
    6477              : int
    6478          175 : pattern1887 (rtx x1)
    6479              : {
    6480          175 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6481          175 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    6482          175 :   rtx x10, x11, x12, x13, x14, x15;
    6483          175 :   int res ATTRIBUTE_UNUSED;
    6484          175 :   if (GET_CODE (x1) != SET)
    6485              :     return -1;
    6486          175 :   x2 = XEXP (x1, 1);
    6487          175 :   if (GET_CODE (x2) != GTU
    6488          116 :       || GET_MODE (x2) != E_QImode)
    6489              :     return -1;
    6490          116 :   x3 = XEXP (x2, 0);
    6491          116 :   if (GET_CODE (x3) != REG
    6492          116 :       || REGNO (x3) != 17
    6493          232 :       || GET_MODE (x3) != E_CCmode)
    6494              :     return -1;
    6495          116 :   x4 = XEXP (x2, 1);
    6496          116 :   if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    6497              :     return -1;
    6498          116 :   x5 = XEXP (x1, 0);
    6499          116 :   operands[7] = x5;
    6500          116 :   if (!register_operand (operands[7], E_QImode))
    6501              :     return -1;
    6502          116 :   x6 = PATTERN (peep2_next_insn (2));
    6503          116 :   if (GET_CODE (x6) != SET)
    6504              :     return -1;
    6505           10 :   x7 = XEXP (x6, 1);
    6506           10 :   if (GET_CODE (x7) != LTU
    6507            0 :       || GET_MODE (x7) != E_QImode)
    6508              :     return -1;
    6509            0 :   x8 = XEXP (x7, 0);
    6510            0 :   if (GET_CODE (x8) != REG
    6511            0 :       || REGNO (x8) != 17
    6512            0 :       || GET_MODE (x8) != E_CCmode)
    6513              :     return -1;
    6514            0 :   x9 = XEXP (x7, 1);
    6515            0 :   if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    6516              :     return -1;
    6517            0 :   x10 = XEXP (x6, 0);
    6518            0 :   operands[8] = x10;
    6519            0 :   if (!register_operand (operands[8], E_QImode))
    6520              :     return -1;
    6521            0 :   x11 = PATTERN (peep2_next_insn (3));
    6522            0 :   if (GET_CODE (x11) != SET)
    6523              :     return -1;
    6524            0 :   x12 = XEXP (x11, 1);
    6525            0 :   if (GET_CODE (x12) != COMPARE)
    6526              :     return -1;
    6527            0 :   x13 = XEXP (x11, 0);
    6528            0 :   if (GET_CODE (x13) != REG
    6529            0 :       || REGNO (x13) != 17)
    6530              :     return -1;
    6531            0 :   x14 = XEXP (x12, 0);
    6532            0 :   if (!rtx_equal_p (x14, operands[7]))
    6533              :     return -1;
    6534            0 :   x15 = XEXP (x12, 1);
    6535            0 :   if (!rtx_equal_p (x15, operands[8]))
    6536              :     return -1;
    6537              :   return 0;
    6538              : }
    6539              : 
    6540              : int
    6541          448 : pattern1900 ()
    6542              : {
    6543          448 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6544          448 :   int res ATTRIBUTE_UNUSED;
    6545          448 :   if (!const_0_to_15_operand (operands[4], E_VOIDmode)
    6546          432 :       || !const_0_to_15_operand (operands[5], E_VOIDmode)
    6547          432 :       || !const_0_to_15_operand (operands[6], E_VOIDmode)
    6548          432 :       || !const_0_to_15_operand (operands[7], E_VOIDmode)
    6549          432 :       || !const_0_to_15_operand (operands[8], E_VOIDmode)
    6550          432 :       || !const_0_to_15_operand (operands[9], E_VOIDmode)
    6551          432 :       || !const_0_to_15_operand (operands[10], E_VOIDmode)
    6552          432 :       || !const_16_to_31_operand (operands[11], E_VOIDmode)
    6553          432 :       || !const_16_to_31_operand (operands[12], E_VOIDmode)
    6554          432 :       || !const_16_to_31_operand (operands[13], E_VOIDmode)
    6555          432 :       || !const_16_to_31_operand (operands[14], E_VOIDmode)
    6556          432 :       || !const_16_to_31_operand (operands[15], E_VOIDmode)
    6557          432 :       || !const_16_to_31_operand (operands[16], E_VOIDmode)
    6558          432 :       || !const_16_to_31_operand (operands[17], E_VOIDmode)
    6559          880 :       || !const_16_to_31_operand (operands[18], E_VOIDmode))
    6560           16 :     return -1;
    6561              :   return 0;
    6562              : }
    6563              : 
    6564              : int
    6565           24 : pattern1912 (rtx x1)
    6566              : {
    6567           24 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6568           24 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    6569           24 :   int res ATTRIBUTE_UNUSED;
    6570           24 :   if (GET_CODE (x1) != SET)
    6571              :     return -1;
    6572           24 :   x2 = XEXP (x1, 1);
    6573           24 :   switch (GET_CODE (x2))
    6574              :     {
    6575           12 :     case NE:
    6576           12 :     case EQ:
    6577           12 :     case GE:
    6578           12 :     case GT:
    6579           12 :     case LE:
    6580           12 :     case LT:
    6581           12 :       operands[8] = x2;
    6582           12 :       if (!ix86_comparison_int_operator (operands[8], E_QImode))
    6583              :         return -1;
    6584           12 :       x3 = XEXP (x2, 0);
    6585           12 :       if (GET_CODE (x3) != REG
    6586           12 :           || REGNO (x3) != 17)
    6587              :         return -1;
    6588           12 :       x4 = XEXP (x2, 1);
    6589           12 :       if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    6590              :         return -1;
    6591           12 :       x5 = XEXP (x1, 0);
    6592           12 :       operands[7] = x5;
    6593           12 :       if (!nonimmediate_operand (operands[7], E_QImode))
    6594              :         return -1;
    6595              :       return 0;
    6596              : 
    6597           12 :     case IF_THEN_ELSE:
    6598           12 :       x3 = XEXP (x2, 0);
    6599           12 :       if (!ix86_comparison_int_operator (x3, E_VOIDmode))
    6600              :         return -1;
    6601           12 :       operands[7] = x3;
    6602           12 :       x6 = XEXP (x3, 0);
    6603           12 :       if (GET_CODE (x6) != REG
    6604           12 :           || REGNO (x6) != 17)
    6605              :         return -1;
    6606           12 :       x7 = XEXP (x3, 1);
    6607           12 :       if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    6608              :         return -1;
    6609           12 :       x4 = XEXP (x2, 1);
    6610           12 :       if (GET_CODE (x4) != LABEL_REF)
    6611              :         return -1;
    6612           12 :       x8 = XEXP (x2, 2);
    6613           12 :       if (GET_CODE (x8) != PC)
    6614              :         return -1;
    6615           12 :       x5 = XEXP (x1, 0);
    6616           12 :       if (GET_CODE (x5) != PC)
    6617              :         return -1;
    6618           12 :       x9 = XEXP (x4, 0);
    6619           12 :       operands[8] = x9;
    6620           12 :       return 1;
    6621              : 
    6622              :     default:
    6623              :       return -1;
    6624              :     }
    6625              : }
    6626              : 
    6627              :  int
    6628       103664 : recog_9 (rtx x1 ATTRIBUTE_UNUSED,
    6629              :         rtx_insn *insn ATTRIBUTE_UNUSED,
    6630              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
    6631              : {
    6632       103664 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6633       103664 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    6634       103664 :   rtx x10, x11, x12, x13, x14, x15, x16, x17;
    6635       103664 :   rtx x18, x19, x20, x21, x22, x23, x24, x25;
    6636       103664 :   rtx x26, x27, x28, x29, x30, x31, x32, x33;
    6637       103664 :   rtx x34, x35;
    6638       103664 :   int res ATTRIBUTE_UNUSED;
    6639       103664 :   x2 = XEXP (x1, 1);
    6640       103664 :   x3 = XVECEXP (x2, 0, 0);
    6641       103664 :   switch (GET_CODE (x3))
    6642              :     {
    6643        11595 :     case UNSPEC:
    6644        11595 :       x4 = XVECEXP (x2, 0, 1);
    6645        11595 :       if (!const48_operand (x4, E_SImode))
    6646              :         return -1;
    6647        11493 :       switch (XVECLEN (x3, 0))
    6648              :         {
    6649         2226 :         case 3:
    6650         2226 :           if (XINT (x3, 1) != 60)
    6651              :             return -1;
    6652         1004 :           x5 = XEXP (x1, 0);
    6653         1004 :           operands[0] = x5;
    6654         1004 :           x6 = XVECEXP (x3, 0, 0);
    6655         1004 :           operands[1] = x6;
    6656         1004 :           x7 = XVECEXP (x3, 0, 1);
    6657         1004 :           operands[2] = x7;
    6658         1004 :           x8 = XVECEXP (x3, 0, 2);
    6659         1004 :           operands[3] = x8;
    6660         1004 :           operands[4] = x4;
    6661         1004 :           switch (GET_MODE (operands[0]))
    6662              :             {
    6663          489 :             case E_HImode:
    6664          489 :               if (!register_operand (operands[0], E_HImode)
    6665          486 :                   || GET_MODE (x2) != E_HImode
    6666          975 :                   || GET_MODE (x3) != E_HImode)
    6667              :                 return -1;
    6668          486 :               switch (GET_MODE (operands[1]))
    6669              :                 {
    6670            0 :                 case E_V16SImode:
    6671            0 :                   if (!register_operand (operands[1], E_V16SImode)
    6672            0 :                       || !nonimmediate_operand (operands[2], E_V16SImode)
    6673            0 :                       || !const_0_to_7_operand (operands[3], E_SImode)
    6674            0 :                       || !(
    6675              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    6676              : (TARGET_AVX512F) && 
    6677              : #line 4621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6678              : (TARGET_AVX512F && (V16SImode == V16SFmode
    6679              :                                                                               || V16SImode == V8DFmode
    6680              :                                                                               || V16SImode == V8DImode
    6681              :                                                                               || V16SImode == V16SImode
    6682              :                                                                               || V16SImode == V32HFmode))))
    6683              :                     return -1;
    6684              :                   return 3323; /* avx512f_cmpv16si3_round */
    6685              : 
    6686              :                 case E_V16SFmode:
    6687              :                   if (!register_operand (operands[1], E_V16SFmode)
    6688              :                       || !nonimmediate_operand (operands[2], E_V16SFmode)
    6689              :                       || !const_0_to_31_operand (operands[3], E_SImode)
    6690              :                       || !(
    6691              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    6692              : (TARGET_AVX512F) && 
    6693              : #line 4621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6694              : (TARGET_AVX512F && (V16SFmode == V16SFmode
    6695              :                                                                               || V16SFmode == V8DFmode
    6696              :                                                                               || V16SFmode == V8DImode
    6697              :                                                                               || V16SFmode == V16SImode
    6698              :                                                                               || V16SFmode == V32HFmode))))
    6699              :                     return -1;
    6700              :                   return 3347; /* avx512f_cmpv16sf3_round */
    6701              : 
    6702              :                 default:
    6703              :                   return -1;
    6704              :                 }
    6705              : 
    6706              :             case E_QImode:
    6707              :               if (!register_operand (operands[0], E_QImode)
    6708              :                   || GET_MODE (x2) != E_QImode
    6709              :                   || GET_MODE (x3) != E_QImode)
    6710              :                 return -1;
    6711              :               switch (GET_MODE (operands[1]))
    6712              :                 {
    6713              :                 case E_V8DImode:
    6714              :                   if (!register_operand (operands[1], E_V8DImode)
    6715              :                       || !nonimmediate_operand (operands[2], E_V8DImode)
    6716              :                       || !const_0_to_7_operand (operands[3], E_SImode)
    6717              :                       || !(
    6718              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    6719              : (TARGET_AVX512F) && 
    6720              : #line 4621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6721              : (TARGET_AVX512F && (V8DImode == V16SFmode
    6722              :                                                                               || V8DImode == V8DFmode
    6723              :                                                                               || V8DImode == V8DImode
    6724              :                                                                               || V8DImode == V16SImode
    6725              :                                                                               || V8DImode == V32HFmode))))
    6726              :                     return -1;
    6727              :                   return 3331; /* avx512f_cmpv8di3_round */
    6728              : 
    6729              :                 case E_V8DFmode:
    6730              :                   if (!register_operand (operands[1], E_V8DFmode)
    6731              :                       || !nonimmediate_operand (operands[2], E_V8DFmode)
    6732              :                       || !const_0_to_31_operand (operands[3], E_SImode)
    6733              :                       || !(
    6734              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    6735              : (TARGET_AVX512F) && 
    6736              : #line 4621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6737              : (TARGET_AVX512F && (V8DFmode == V16SFmode
    6738              :                                                                               || V8DFmode == V8DFmode
    6739              :                                                                               || V8DFmode == V8DImode
    6740              :                                                                               || V8DFmode == V16SImode
    6741              :                                                                               || V8DFmode == V32HFmode))))
    6742              :                     return -1;
    6743              :                   return 3355; /* avx512f_cmpv8df3_round */
    6744              : 
    6745              :                 default:
    6746              :                   return -1;
    6747              :                 }
    6748              : 
    6749              :             default:
    6750              :               return -1;
    6751              :             }
    6752              : 
    6753              :         case 2:
    6754              :           if (XINT (x3, 1) != 62
    6755              :               || GET_MODE (x3) != E_CCFPmode
    6756              :               || pattern855 (x3) != 0
    6757              :               || pattern46 (x1, 
    6758              : E_CCFPmode) != 0)
    6759              :             return -1;
    6760              :           x6 = XVECEXP (x3, 0, 0);
    6761              :           x9 = XEXP (x6, 0);
    6762              :           operands[0] = x9;
    6763              :           x7 = XVECEXP (x3, 0, 1);
    6764              :           x10 = XEXP (x7, 0);
    6765              :           operands[1] = x10;
    6766              :           operands[2] = x4;
    6767              :           switch (GET_MODE (x6))
    6768              :             {
    6769              :             case E_HFmode:
    6770              :               if (!register_operand (operands[0], E_V8HFmode)
    6771              :                   || GET_MODE (x7) != E_HFmode
    6772              :                   || !register_operand (operands[1], E_V8HFmode)
    6773              :                   || !(
    6774              : #line 273 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    6775              : (TARGET_AVX512F) && (
    6776              : #line 5208 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6777              : (TARGET_AVX10_2) && 
    6778              : #line 1356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6779              : (TARGET_AVX512FP16))))
    6780              :                 return -1;
    6781              :               return 3741; /* avx10_2_comxhf_round */
    6782              : 
    6783              :             case E_SFmode:
    6784              :               if (!register_operand (operands[0], E_V4SFmode)
    6785              :                   || GET_MODE (x7) != E_SFmode
    6786              :                   || !register_operand (operands[1], E_V4SFmode)
    6787              :                   || !(
    6788              : #line 273 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    6789              : (TARGET_AVX512F) && 
    6790              : #line 5208 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6791              : (TARGET_AVX10_2)))
    6792              :                 return -1;
    6793              :               return 3745; /* avx10_2_comxsf_round */
    6794              : 
    6795              :             case E_DFmode:
    6796              :               if (!register_operand (operands[0], E_V2DFmode)
    6797              :                   || GET_MODE (x7) != E_DFmode
    6798              :                   || !register_operand (operands[1], E_V2DFmode)
    6799              :                   || !(
    6800              : #line 273 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    6801              : (TARGET_AVX512F) && 
    6802              : #line 5208 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6803              : (TARGET_AVX10_2)))
    6804              :                 return -1;
    6805              :               return 3749; /* avx10_2_comxdf_round */
    6806              : 
    6807              :             default:
    6808              :               return -1;
    6809              :             }
    6810              : 
    6811              :         case 1:
    6812              :           if (XINT (x3, 1) != 27
    6813              :               || GET_MODE (x3) != E_CCFPmode
    6814              :               || pattern46 (x1, 
    6815              : E_CCFPmode) != 0)
    6816              :             return -1;
    6817              :           x6 = XVECEXP (x3, 0, 0);
    6818              :           if (GET_MODE (x6) != E_CCFPmode)
    6819              :             return -1;
    6820              :           operands[2] = x4;
    6821              :           switch (GET_CODE (x6))
    6822              :             {
    6823              :             case UNSPEC:
    6824              :               if (XVECLEN (x6, 0) != 2
    6825              :                   || XINT (x6, 1) != 62)
    6826              :                 return -1;
    6827              :               x11 = XVECEXP (x6, 0, 0);
    6828              :               if (GET_CODE (x11) != VEC_SELECT)
    6829              :                 return -1;
    6830              :               x12 = XEXP (x11, 1);
    6831              :               if (GET_CODE (x12) != PARALLEL
    6832              :                   || XVECLEN (x12, 0) != 1)
    6833              :                 return -1;
    6834              :               x13 = XVECEXP (x12, 0, 0);
    6835              :               if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    6836              :                 return -1;
    6837              :               x14 = XVECEXP (x6, 0, 1);
    6838              :               if (GET_CODE (x14) != VEC_SELECT)
    6839              :                 return -1;
    6840              :               x15 = XEXP (x14, 1);
    6841              :               if (GET_CODE (x15) != PARALLEL
    6842              :                   || XVECLEN (x15, 0) != 1)
    6843              :                 return -1;
    6844              :               x16 = XVECEXP (x15, 0, 0);
    6845              :               if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    6846              :                 return -1;
    6847              :               x17 = XEXP (x11, 0);
    6848              :               operands[0] = x17;
    6849              :               x18 = XEXP (x14, 0);
    6850              :               operands[1] = x18;
    6851              :               switch (GET_MODE (x11))
    6852              :                 {
    6853              :                 case E_HFmode:
    6854              :                   if (!register_operand (operands[0], E_V8HFmode)
    6855              :                       || GET_MODE (x14) != E_HFmode
    6856              :                       || !register_operand (operands[1], E_V8HFmode)
    6857              :                       || !(
    6858              : #line 273 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    6859              : (TARGET_AVX512F) && (
    6860              : #line 5208 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6861              : (TARGET_AVX10_2) && 
    6862              : #line 1356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6863              : (TARGET_AVX512FP16))))
    6864              :                     return -1;
    6865              :                   return 3743; /* avx10_2_ucomxhf_round */
    6866              : 
    6867              :                 case E_SFmode:
    6868              :                   if (!register_operand (operands[0], E_V4SFmode)
    6869              :                       || GET_MODE (x14) != E_SFmode
    6870              :                       || !register_operand (operands[1], E_V4SFmode)
    6871              :                       || !(
    6872              : #line 273 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    6873              : (TARGET_AVX512F) && 
    6874              : #line 5208 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6875              : (TARGET_AVX10_2)))
    6876              :                     return -1;
    6877              :                   return 3747; /* avx10_2_ucomxsf_round */
    6878              : 
    6879              :                 case E_DFmode:
    6880              :                   if (!register_operand (operands[0], E_V2DFmode)
    6881              :                       || GET_MODE (x14) != E_DFmode
    6882              :                       || !register_operand (operands[1], E_V2DFmode)
    6883              :                       || !(
    6884              : #line 273 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    6885              : (TARGET_AVX512F) && 
    6886              : #line 5208 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6887              : (TARGET_AVX10_2)))
    6888              :                     return -1;
    6889              :                   return 3751; /* avx10_2_ucomxdf_round */
    6890              : 
    6891              :                 default:
    6892              :                   return -1;
    6893              :                 }
    6894              : 
    6895              :             case COMPARE:
    6896              :               x9 = XEXP (x6, 0);
    6897              :               if (GET_CODE (x9) != VEC_SELECT)
    6898              :                 return -1;
    6899              :               x19 = XEXP (x9, 1);
    6900              :               if (GET_CODE (x19) != PARALLEL
    6901              :                   || XVECLEN (x19, 0) != 1)
    6902              :                 return -1;
    6903              :               x20 = XVECEXP (x19, 0, 0);
    6904              :               if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    6905              :                 return -1;
    6906              :               x21 = XEXP (x6, 1);
    6907              :               if (GET_CODE (x21) != VEC_SELECT)
    6908              :                 return -1;
    6909              :               x22 = XEXP (x21, 1);
    6910              :               if (GET_CODE (x22) != PARALLEL
    6911              :                   || XVECLEN (x22, 0) != 1)
    6912              :                 return -1;
    6913              :               x23 = XVECEXP (x22, 0, 0);
    6914              :               if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    6915              :                 return -1;
    6916              :               x24 = XEXP (x9, 0);
    6917              :               operands[0] = x24;
    6918              :               x25 = XEXP (x21, 0);
    6919              :               operands[1] = x25;
    6920              :               switch (GET_MODE (x9))
    6921              :                 {
    6922              :                 case E_HFmode:
    6923              :                   if (!register_operand (operands[0], E_V8HFmode)
    6924              :                       || GET_MODE (x21) != E_HFmode
    6925              :                       || !register_operand (operands[1], E_V8HFmode)
    6926              :                       || !(
    6927              : #line 273 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    6928              : (TARGET_AVX512F) && (
    6929              : #line 5223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6930              : (SSE_FLOAT_MODE_P (HFmode) || HFmode == E_HFmode) && 
    6931              : #line 1356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6932              : (TARGET_AVX512FP16))))
    6933              :                     return -1;
    6934              :                   return 3755; /* avx512fp16_ucomi_round */
    6935              : 
    6936              :                 case E_SFmode:
    6937              :                   if (!register_operand (operands[0], E_V4SFmode)
    6938              :                       || GET_MODE (x21) != E_SFmode
    6939              :                       || !register_operand (operands[1], E_V4SFmode)
    6940              :                       || !(
    6941              : #line 273 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    6942              : (TARGET_AVX512F) && 
    6943              : #line 5223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6944              : (SSE_FLOAT_MODE_P (SFmode) || SFmode == E_HFmode)))
    6945              :                     return -1;
    6946              :                   return 3759; /* sse_ucomi_round */
    6947              : 
    6948              :                 case E_DFmode:
    6949              :                   if (!register_operand (operands[0], E_V2DFmode)
    6950              :                       || GET_MODE (x21) != E_DFmode
    6951              :                       || !register_operand (operands[1], E_V2DFmode)
    6952              :                       || !(
    6953              : #line 273 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    6954              : (TARGET_AVX512F) && 
    6955              : #line 5223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6956              : (SSE_FLOAT_MODE_P (DFmode) || DFmode == E_HFmode)))
    6957              :                     return -1;
    6958              :                   return 3763; /* sse2_ucomi_round */
    6959              : 
    6960              :                 default:
    6961              :                   return -1;
    6962              :                 }
    6963              : 
    6964              :             default:
    6965              :               return -1;
    6966              :             }
    6967              : 
    6968              :         default:
    6969              :           return -1;
    6970              :         }
    6971              : 
    6972              :     case AND:
    6973              :       x26 = XEXP (x3, 0);
    6974              :       if (GET_CODE (x26) != UNSPEC
    6975              :           || XVECLEN (x26, 0) != 3
    6976              :           || XINT (x26, 1) != 60)
    6977              :         return -1;
    6978              :       x5 = XEXP (x1, 0);
    6979              :       operands[0] = x5;
    6980              :       x27 = XVECEXP (x26, 0, 0);
    6981              :       operands[1] = x27;
    6982              :       x28 = XVECEXP (x26, 0, 1);
    6983              :       operands[2] = x28;
    6984              :       x29 = XVECEXP (x26, 0, 2);
    6985              :       operands[3] = x29;
    6986              :       x4 = XVECEXP (x2, 0, 1);
    6987              :       if (!const48_operand (x4, E_SImode))
    6988              :         return -1;
    6989              :       x30 = XEXP (x3, 1);
    6990              :       switch (GET_CODE (x30))
    6991              :         {
    6992              :         case REG:
    6993              :         case SUBREG:
    6994              :           operands[4] = x30;
    6995              :           operands[5] = x4;
    6996              :           switch (GET_MODE (operands[0]))
    6997              :             {
    6998              :             case E_HImode:
    6999              :               if (pattern1547 (x2, 
    7000              : E_HImode) != 0)
    7001              :                 return -1;
    7002              :               switch (GET_MODE (operands[1]))
    7003              :                 {
    7004              :                 case E_V16SImode:
    7005              :                   if (!register_operand (operands[1], E_V16SImode)
    7006              :                       || !nonimmediate_operand (operands[2], E_V16SImode)
    7007              :                       || !const_0_to_7_operand (operands[3], E_SImode)
    7008              :                       || !(
    7009              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    7010              : (TARGET_AVX512F) && (
    7011              : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    7012              : (TARGET_AVX512F) && 
    7013              : #line 4621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7014              : (TARGET_AVX512F && (V16SImode == V16SFmode
    7015              :                                                                               || V16SImode == V8DFmode
    7016              :                                                                               || V16SImode == V8DImode
    7017              :                                                                               || V16SImode == V16SImode
    7018              :                                                                               || V16SImode == V32HFmode)))))
    7019              :                     return -1;
    7020              :                   return 3325; /* avx512f_cmpv16si3_mask_round */
    7021              : 
    7022              :                 case E_V16SFmode:
    7023              :                   if (!register_operand (operands[1], E_V16SFmode)
    7024              :                       || !nonimmediate_operand (operands[2], E_V16SFmode)
    7025              :                       || !const_0_to_31_operand (operands[3], E_SImode)
    7026              :                       || !(
    7027              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    7028              : (TARGET_AVX512F) && (
    7029              : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    7030              : (TARGET_AVX512F) && 
    7031              : #line 4621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7032              : (TARGET_AVX512F && (V16SFmode == V16SFmode
    7033              :                                                                               || V16SFmode == V8DFmode
    7034              :                                                                               || V16SFmode == V8DImode
    7035              :                                                                               || V16SFmode == V16SImode
    7036              :                                                                               || V16SFmode == V32HFmode)))))
    7037              :                     return -1;
    7038              :                   return 3349; /* avx512f_cmpv16sf3_mask_round */
    7039              : 
    7040              :                 default:
    7041              :                   return -1;
    7042              :                 }
    7043              : 
    7044              :             case E_QImode:
    7045              :               if (pattern1547 (x2, 
    7046              : E_QImode) != 0)
    7047              :                 return -1;
    7048              :               switch (GET_MODE (operands[1]))
    7049              :                 {
    7050              :                 case E_V8DImode:
    7051              :                   if (!register_operand (operands[1], E_V8DImode)
    7052              :                       || !nonimmediate_operand (operands[2], E_V8DImode)
    7053              :                       || !const_0_to_7_operand (operands[3], E_SImode)
    7054              :                       || !(
    7055              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    7056              : (TARGET_AVX512F) && (
    7057              : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    7058              : (TARGET_AVX512F) && 
    7059              : #line 4621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7060              : (TARGET_AVX512F && (V8DImode == V16SFmode
    7061              :                                                                               || V8DImode == V8DFmode
    7062              :                                                                               || V8DImode == V8DImode
    7063              :                                                                               || V8DImode == V16SImode
    7064              :                                                                               || V8DImode == V32HFmode)))))
    7065              :                     return -1;
    7066              :                   return 3333; /* avx512f_cmpv8di3_mask_round */
    7067              : 
    7068              :                 case E_V8DFmode:
    7069              :                   if (!register_operand (operands[1], E_V8DFmode)
    7070              :                       || !nonimmediate_operand (operands[2], E_V8DFmode)
    7071              :                       || !const_0_to_31_operand (operands[3], E_SImode)
    7072              :                       || !(
    7073              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    7074              : (TARGET_AVX512F) && (
    7075              : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    7076              : (TARGET_AVX512F) && 
    7077              : #line 4621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7078              : (TARGET_AVX512F && (V8DFmode == V16SFmode
    7079              :                                                                               || V8DFmode == V8DFmode
    7080              :                                                                               || V8DFmode == V8DImode
    7081              :                                                                               || V8DFmode == V16SImode
    7082              :                                                                               || V8DFmode == V32HFmode)))))
    7083              :                     return -1;
    7084              :                   return 3357; /* avx512f_cmpv8df3_mask_round */
    7085              : 
    7086              :                 default:
    7087              :                   return -1;
    7088              :                 }
    7089              : 
    7090              :             default:
    7091              :               return -1;
    7092              :             }
    7093              : 
    7094              :         case CONST_INT:
    7095              :           if (XWINT (x30, 0) != 1L
    7096              :               || pattern1463 (x2) != 0)
    7097              :             return -1;
    7098              :           operands[4] = x4;
    7099              :           switch (pattern1714 ())
    7100              :             {
    7101              :             case 0:
    7102              :               if (!(
    7103              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    7104              : (TARGET_AVX512F) && (
    7105              : #line 5173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7106              : (TARGET_AVX512F) && 
    7107              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7108              : (TARGET_AVX512FP16))))
    7109              :                 return -1;
    7110              :               return 3729; /* avx512f_vmcmpv8hf3_round */
    7111              : 
    7112              :             case 1:
    7113              :               if (!
    7114              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    7115              : (TARGET_AVX512F))
    7116              :                 return -1;
    7117              :               return 3731; /* avx512f_vmcmpv4sf3_round */
    7118              : 
    7119              :             case 2:
    7120              :               if (!(
    7121              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    7122              : (TARGET_AVX512F) && (
    7123              : #line 5173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7124              : (TARGET_AVX512F) && 
    7125              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7126              : (TARGET_SSE2))))
    7127              :                 return -1;
    7128              :               return 3733; /* avx512f_vmcmpv2df3_round */
    7129              : 
    7130              :             default:
    7131              :               return -1;
    7132              :             }
    7133              : 
    7134              :         case AND:
    7135              :           if (GET_MODE (x30) != E_QImode)
    7136              :             return -1;
    7137              :           x31 = XEXP (x30, 1);
    7138              :           if (x31 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
    7139              :               || pattern1463 (x2) != 0)
    7140              :             return -1;
    7141              :           x32 = XEXP (x30, 0);
    7142              :           operands[4] = x32;
    7143              :           if (!register_operand (operands[4], E_QImode))
    7144              :             return -1;
    7145              :           operands[5] = x4;
    7146              :           switch (pattern1714 ())
    7147              :             {
    7148              :             case 0:
    7149              :               if (!(
    7150              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    7151              : (TARGET_AVX512F) && (
    7152              : #line 5191 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7153              : (TARGET_AVX512F) && 
    7154              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7155              : (TARGET_AVX512FP16))))
    7156              :                 return -1;
    7157              :               return 3735; /* avx512f_vmcmpv8hf3_mask_round */
    7158              : 
    7159              :             case 1:
    7160              :               if (!
    7161              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    7162              : (TARGET_AVX512F))
    7163              :                 return -1;
    7164              :               return 3737; /* avx512f_vmcmpv4sf3_mask_round */
    7165              : 
    7166              :             case 2:
    7167              :               if (!(
    7168              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    7169              : (TARGET_AVX512F) && (
    7170              : #line 5191 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7171              : (TARGET_AVX512F) && 
    7172              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7173              : (TARGET_SSE2))))
    7174              :                 return -1;
    7175              :               return 3739; /* avx512f_vmcmpv2df3_mask_round */
    7176              : 
    7177              :             default:
    7178              :               return -1;
    7179              :             }
    7180              : 
    7181              :         default:
    7182              :           return -1;
    7183              :         }
    7184              : 
    7185              :     case COMPARE:
    7186              :       if (GET_MODE (x3) != E_CCFPmode)
    7187              :         return -1;
    7188              :       x26 = XEXP (x3, 0);
    7189              :       if (GET_CODE (x26) != VEC_SELECT
    7190              :           || pattern610 (x3) != 0
    7191              :           || pattern46 (x1, 
    7192              : E_CCFPmode) != 0)
    7193              :         return -1;
    7194              :       x33 = XEXP (x26, 0);
    7195              :       operands[0] = x33;
    7196              :       x30 = XEXP (x3, 1);
    7197              :       x32 = XEXP (x30, 0);
    7198              :       operands[1] = x32;
    7199              :       x4 = XVECEXP (x2, 0, 1);
    7200              :       operands[2] = x4;
    7201              :       if (!const48_operand (operands[2], E_SImode))
    7202              :         return -1;
    7203              :       switch (GET_MODE (x26))
    7204              :         {
    7205              :         case E_HFmode:
    7206              :           if (!register_operand (operands[0], E_V8HFmode)
    7207              :               || GET_MODE (x30) != E_HFmode
    7208              :               || !register_operand (operands[1], E_V8HFmode)
    7209              :               || !(
    7210              : #line 273 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    7211              : (TARGET_AVX512F) && (
    7212              : #line 5223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7213              : (SSE_FLOAT_MODE_P (HFmode) || HFmode == E_HFmode) && 
    7214              : #line 1356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7215              : (TARGET_AVX512FP16))))
    7216              :             return -1;
    7217              :           return 3753; /* avx512fp16_comi_round */
    7218              : 
    7219              :         case E_SFmode:
    7220              :           if (!register_operand (operands[0], E_V4SFmode)
    7221              :               || GET_MODE (x30) != E_SFmode
    7222              :               || !register_operand (operands[1], E_V4SFmode)
    7223              :               || !(
    7224              : #line 273 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    7225              : (TARGET_AVX512F) && 
    7226              : #line 5223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7227              : (SSE_FLOAT_MODE_P (SFmode) || SFmode == E_HFmode)))
    7228              :             return -1;
    7229              :           return 3757; /* sse_comi_round */
    7230              : 
    7231              :         case E_DFmode:
    7232              :           if (!register_operand (operands[0], E_V2DFmode)
    7233              :               || GET_MODE (x30) != E_DFmode
    7234              :               || !register_operand (operands[1], E_V2DFmode)
    7235              :               || !(
    7236              : #line 273 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    7237              : (TARGET_AVX512F) && 
    7238              : #line 5223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7239              : (SSE_FLOAT_MODE_P (DFmode) || DFmode == E_HFmode)))
    7240              :             return -1;
    7241              :           return 3761; /* sse2_comi_round */
    7242              : 
    7243              :         default:
    7244              :           return -1;
    7245              :         }
    7246              : 
    7247              :     case FMA:
    7248              :       x26 = XEXP (x3, 0);
    7249              :       if (GET_CODE (x26) != NEG)
    7250              :         return -1;
    7251              :       x34 = XEXP (x3, 2);
    7252              :       if (GET_CODE (x34) != NEG)
    7253              :         return -1;
    7254              :       x5 = XEXP (x1, 0);
    7255              :       operands[0] = x5;
    7256              :       x33 = XEXP (x26, 0);
    7257              :       operands[1] = x33;
    7258              :       x30 = XEXP (x3, 1);
    7259              :       operands[2] = x30;
    7260              :       x35 = XEXP (x34, 0);
    7261              :       operands[3] = x35;
    7262              :       x4 = XVECEXP (x2, 0, 1);
    7263              :       operands[4] = x4;
    7264              :       if (!const_4_or_8_to_11_operand (operands[4], E_SImode))
    7265              :         return -1;
    7266              :       switch (GET_MODE (operands[0]))
    7267              :         {
    7268              :         case E_SFmode:
    7269              :           if (pattern1366 (x2, 
    7270              : E_SFmode) != 0
    7271              :               || !(
    7272              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    7273              : (TARGET_AVX512F) && 
    7274              : #line 6573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7275              : (TARGET_FMA || TARGET_FMA4)))
    7276              :             return -1;
    7277              :           return 4054; /* *fma_fnmsub_sf */
    7278              : 
    7279              :         case E_DFmode:
    7280              :           if (pattern1366 (x2, 
    7281              : E_DFmode) != 0
    7282              :               || !(
    7283              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    7284              : (TARGET_AVX512F) && 
    7285              : #line 6573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7286              : (TARGET_FMA || TARGET_FMA4)))
    7287              :             return -1;
    7288              :           return 4056; /* *fma_fnmsub_df */
    7289              : 
    7290              :         default:
    7291              :           return -1;
    7292              :         }
    7293              : 
    7294              :     default:
    7295              :       return -1;
    7296              :     }
    7297              : }
    7298              : 
    7299              :  int
    7300              : recog_28 (rtx x1 ATTRIBUTE_UNUSED,
    7301              :         rtx_insn *insn ATTRIBUTE_UNUSED,
    7302              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
    7303              : {
    7304              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    7305              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    7306              :   int res ATTRIBUTE_UNUSED;
    7307              :   x2 = XEXP (x1, 1);
    7308              :   x3 = XEXP (x2, 0);
    7309              :   switch (GET_CODE (x3))
    7310              :     {
    7311              :     case AND:
    7312              :       x4 = XEXP (x1, 0);
    7313              :       operands[0] = x4;
    7314              :       x5 = XEXP (x3, 1);
    7315              :       operands[3] = x5;
    7316              :       x6 = XEXP (x3, 0);
    7317              :       switch (GET_CODE (x6))
    7318              :         {
    7319              :         case REG:
    7320              :         case SUBREG:
    7321              :         case MEM:
    7322              :           operands[1] = x6;
    7323              :           switch (pattern75 (x2))
    7324              :             {
    7325              :             case 0:
    7326              :               if (!
    7327              : #line 3715 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7328              : (TARGET_64BIT
    7329              :    && CONST_WIDE_INT_P (operands[3])
    7330              :    && CONST_WIDE_INT_NUNITS (operands[3]) == 2
    7331              :    && CONST_WIDE_INT_ELT (operands[3], 0) == -1
    7332              :    && CONST_WIDE_INT_ELT (operands[3], 1) == 0))
    7333              :                 return -1;
    7334              :               return 149; /* *insvti_highpart_1 */
    7335              : 
    7336              :             case 1:
    7337              :               if (!
    7338              : #line 3737 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7339              : (TARGET_64BIT
    7340              :    && CONST_WIDE_INT_P (operands[3])
    7341              :    && CONST_WIDE_INT_NUNITS (operands[3]) == 2
    7342              :    && CONST_WIDE_INT_ELT (operands[3], 0) == 0
    7343              :    && CONST_WIDE_INT_ELT (operands[3], 1) == -1))
    7344              :                 return -1;
    7345              :               return 152; /* *insvti_lowpart_1 */
    7346              : 
    7347              :             case 2:
    7348              :               if (!
    7349              : #line 3759 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7350              : (!TARGET_64BIT
    7351              :    && CONST_INT_P (operands[3])
    7352              :    && UINTVAL (operands[3]) == 0xffffffff00000000ll))
    7353              :                 return -1;
    7354              :               return 155; /* *insvdi_lowpart_1 */
    7355              : 
    7356              :             default:
    7357              :               return -1;
    7358              :             }
    7359              : 
    7360              :         case XOR:
    7361              :           if (pnum_clobbers == NULL
    7362              :               || GET_MODE (x6) != E_HImode
    7363              :               || !register_operand (operands[0], E_HImode)
    7364              :               || GET_MODE (x2) != E_HImode
    7365              :               || GET_MODE (x3) != E_HImode)
    7366              :             return -1;
    7367              :           x7 = XEXP (x6, 0);
    7368              :           operands[1] = x7;
    7369              :           if (!nonimmediate_operand (operands[1], E_HImode))
    7370              :             return -1;
    7371              :           x8 = XEXP (x6, 1);
    7372              :           operands[2] = x8;
    7373              :           if (!nonimmediate_operand (operands[2], E_HImode)
    7374              :               || !nonimmediate_operand (operands[3], E_HImode))
    7375              :             return -1;
    7376              :           x9 = XEXP (x2, 1);
    7377              :           if (!rtx_equal_p (x9, operands[1])
    7378              :               || !
    7379              : #line 14004 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7380              : (TARGET_BMI && ix86_pre_reload_split ()))
    7381              :             return -1;
    7382              :           *pnum_clobbers = 1;
    7383              :           return 868; /* *xor2andn */
    7384              : 
    7385              :         default:
    7386              :           return -1;
    7387              :         }
    7388              : 
    7389              :     case ASHIFT:
    7390              :       x4 = XEXP (x1, 0);
    7391              :       operands[0] = x4;
    7392              :       x5 = XEXP (x3, 1);
    7393              :       operands[2] = x5;
    7394              :       x6 = XEXP (x3, 0);
    7395              :       switch (GET_CODE (x6))
    7396              :         {
    7397              :         case REG:
    7398              :         case SUBREG:
    7399              :           operands[1] = x6;
    7400              :           switch (pattern617 (x2))
    7401              :             {
    7402              :             case 0:
    7403              :               if (!
    7404              : #line 8048 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7405              : ((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
    7406              :    && ((unsigned HOST_WIDE_INT) INTVAL (operands[3])
    7407              :        < (HOST_WIDE_INT_1U << INTVAL (operands[2])))))
    7408              :                 return -1;
    7409              :               return 377; /* *leaqi_general_4 */
    7410              : 
    7411              :             case 1:
    7412              :               if (!
    7413              : #line 8048 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7414              : ((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
    7415              :    && ((unsigned HOST_WIDE_INT) INTVAL (operands[3])
    7416              :        < (HOST_WIDE_INT_1U << INTVAL (operands[2])))))
    7417              :                 return -1;
    7418              :               return 379; /* *leahi_general_4 */
    7419              : 
    7420              :             case 2:
    7421              :               if (!(
    7422              : #line 14473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7423              : (INTVAL (operands[2]) == 16 * BITS_PER_UNIT / 2
    7424              :    && (TImode == DImode
    7425              :        ? CONST_INT_P (operands[3])
    7426              :          && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
    7427              :        : CONST_INT_P (operands[3])
    7428              :        ? INTVAL (operands[3]) >= 0
    7429              :        : CONST_WIDE_INT_NUNITS (operands[3]) == 2
    7430              :          && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
    7431              :    && !(CONST_INT_P (operands[3])
    7432              :         ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
    7433              :         : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
    7434              :                                                                      0)),
    7435              :                                         VOIDmode))) && 
    7436              : #line 1197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7437              : (TARGET_64BIT)))
    7438              :                 return -1;
    7439              :               return 965; /* *concatditi3_5 */
    7440              : 
    7441              :             case 3:
    7442              :               if (!(
    7443              : #line 14396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7444              : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT) && 
    7445              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7446              : (TARGET_64BIT)))
    7447              :                 return -1;
    7448              :               return 929; /* *concatditi3_1 */
    7449              : 
    7450              :             default:
    7451              :               return -1;
    7452              :             }
    7453              : 
    7454              :         case SIGN_EXTEND:
    7455              :           switch (pattern427 (x2))
    7456              :             {
    7457              :             case 0:
    7458              :               if (!(
    7459              : #line 14432 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7460              : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT) && 
    7461              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7462              : (TARGET_64BIT)))
    7463              :                 return -1;
    7464              :               return 944; /* *concatditi3_3 */
    7465              : 
    7466              :             case 1:
    7467              :               if (!(
    7468              : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7469              : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT
    7470              :    && (TImode == DImode
    7471              :        ? CONST_INT_P (operands[3])
    7472              :          && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
    7473              :        : CONST_INT_P (operands[3])
    7474              :        ? INTVAL (operands[3]) >= 0
    7475              :        : CONST_WIDE_INT_NUNITS (operands[3]) == 2
    7476              :          && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
    7477              :    && !(CONST_INT_P (operands[3])
    7478              :         ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
    7479              :         : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
    7480              :                                                                      0)),
    7481              :                                         VOIDmode))) && 
    7482              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7483              : (TARGET_64BIT)))
    7484              :                 return -1;
    7485              :               return 974; /* *concatditi3_6 */
    7486              : 
    7487              :             default:
    7488              :               return -1;
    7489              :             }
    7490              : 
    7491              :         case ZERO_EXTEND:
    7492              :           switch (pattern427 (x2))
    7493              :             {
    7494              :             case 0:
    7495              :               if (!(
    7496              : #line 14432 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7497              : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT) && 
    7498              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7499              : (TARGET_64BIT)))
    7500              :                 return -1;
    7501              :               return 947; /* *concatditi3_3 */
    7502              : 
    7503              :             case 1:
    7504              :               if (!(
    7505              : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7506              : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT
    7507              :    && (TImode == DImode
    7508              :        ? CONST_INT_P (operands[3])
    7509              :          && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
    7510              :        : CONST_INT_P (operands[3])
    7511              :        ? INTVAL (operands[3]) >= 0
    7512              :        : CONST_WIDE_INT_NUNITS (operands[3]) == 2
    7513              :          && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
    7514              :    && !(CONST_INT_P (operands[3])
    7515              :         ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
    7516              :         : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
    7517              :                                                                      0)),
    7518              :                                         VOIDmode))) && 
    7519              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7520              : (TARGET_64BIT)))
    7521              :                 return -1;
    7522              :               return 977; /* *concatditi3_6 */
    7523              : 
    7524              :             default:
    7525              :               return -1;
    7526              :             }
    7527              : 
    7528              :         default:
    7529              :           return -1;
    7530              :         }
    7531              : 
    7532              :     case REG:
    7533              :     case SUBREG:
    7534              :     case MEM:
    7535              :       operands[1] = x3;
    7536              :       switch (pattern82 (x1, pnum_clobbers))
    7537              :         {
    7538              :         case 0:
    7539              :           if (
    7540              : #line 13083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7541              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
    7542              :             {
    7543              :               *pnum_clobbers = 1;
    7544              :               return 755; /* *xorqi_1_slp */
    7545              :             }
    7546              :           break;
    7547              : 
    7548              :         case 1:
    7549              :           if (
    7550              : #line 13083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7551              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
    7552              :             {
    7553              :               *pnum_clobbers = 1;
    7554              :               return 758; /* *xorhi_1_slp */
    7555              :             }
    7556              :           break;
    7557              : 
    7558              :         case 2:
    7559              :           if ((
    7560              : #line 13847 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7561              : (ix86_binary_operator_ok (XOR, TImode, operands, TARGET_APX_NDD)) && 
    7562              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7563              : (TARGET_64BIT)))
    7564              :             {
    7565              :               *pnum_clobbers = 1;
    7566              :               return 850; /* *xorti3_doubleword */
    7567              :             }
    7568              :           break;
    7569              : 
    7570              :         case 3:
    7571              :           if (
    7572              : #line 13905 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7573              : (ix86_binary_operator_ok (XOR, HImode, operands, TARGET_APX_NDD)
    7574              :    && TARGET_APX_NF))
    7575              :             return 853; /* *xorhi_1_nf */
    7576              :           if (pnum_clobbers != NULL
    7577              :               && 
    7578              : #line 13905 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7579              : (ix86_binary_operator_ok (XOR, HImode, operands, TARGET_APX_NDD)
    7580              :    && true))
    7581              :             {
    7582              :               *pnum_clobbers = 1;
    7583              :               return 854; /* *xorhi_1 */
    7584              :             }
    7585              :           break;
    7586              : 
    7587              :         case 4:
    7588              :           if (
    7589              : #line 1380 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7590              : (TARGET_MMX_WITH_SSE))
    7591              :             return 2136; /* xorv2sf3 */
    7592              :           break;
    7593              : 
    7594              :         case 5:
    7595              :           if (
    7596              : #line 2606 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7597              : (TARGET_SSE))
    7598              :             return 2170; /* xorv2bf3 */
    7599              :           break;
    7600              : 
    7601              :         case 6:
    7602              :           if ((
    7603              : #line 2606 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7604              : (TARGET_SSE) && 
    7605              : #line 2248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7606              : (TARGET_MMX_WITH_SSE)))
    7607              :             return 2173; /* xorv4bf3 */
    7608              :           break;
    7609              : 
    7610              :         case 7:
    7611              :           if (
    7612              : #line 2606 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7613              : (TARGET_SSE))
    7614              :             return 2176; /* xorv2hf3 */
    7615              :           break;
    7616              : 
    7617              :         case 8:
    7618              :           if ((
    7619              : #line 2606 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7620              : (TARGET_SSE) && 
    7621              : #line 2249 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7622              : (TARGET_MMX_WITH_SSE)))
    7623              :             return 2179; /* xorv4hf3 */
    7624              :           break;
    7625              : 
    7626              :         case 9:
    7627              :           if (
    7628              : #line 4715 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7629              : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
    7630              :    && ix86_binary_operator_ok (XOR, V8QImode, operands)))
    7631              :             return 2333; /* *mmx_xorv8qi3 */
    7632              :           break;
    7633              : 
    7634              :         case 10:
    7635              :           if (
    7636              : #line 4715 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7637              : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
    7638              :    && ix86_binary_operator_ok (XOR, V4HImode, operands)))
    7639              :             return 2336; /* *mmx_xorv4hi3 */
    7640              :           break;
    7641              : 
    7642              :         case 11:
    7643              :           if (
    7644              : #line 4715 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7645              : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
    7646              :    && ix86_binary_operator_ok (XOR, V2SImode, operands)))
    7647              :             return 2339; /* *mmx_xorv2si3 */
    7648              :           break;
    7649              : 
    7650              :         case 12:
    7651              :           if (
    7652              : #line 4741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7653              : (ix86_binary_operator_ok (XOR, V4QImode, operands)))
    7654              :             {
    7655              :               *pnum_clobbers = 1;
    7656              :               return 2342; /* *xorv4qi3 */
    7657              :             }
    7658              :           break;
    7659              : 
    7660              :         case 13:
    7661              :           if (
    7662              : #line 4741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7663              : (ix86_binary_operator_ok (XOR, V2QImode, operands)))
    7664              :             {
    7665              :               *pnum_clobbers = 1;
    7666              :               return 2345; /* *xorv2qi3 */
    7667              :             }
    7668              :           break;
    7669              : 
    7670              :         case 14:
    7671              :           if (
    7672              : #line 4741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7673              : (ix86_binary_operator_ok (XOR, V2HImode, operands)))
    7674              :             {
    7675              :               *pnum_clobbers = 1;
    7676              :               return 2348; /* *xorv2hi3 */
    7677              :             }
    7678              :           break;
    7679              : 
    7680              :         case 15:
    7681              :           if (
    7682              : #line 6017 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7683              : (TARGET_SSE))
    7684              :             return 3857; /* xorbf3 */
    7685              :           break;
    7686              : 
    7687              :         case 16:
    7688              :           if (
    7689              : #line 6017 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7690              : (TARGET_SSE))
    7691              :             return 3860; /* xorhf3 */
    7692              :           break;
    7693              : 
    7694              :         case 17:
    7695              :           if (
    7696              : #line 6017 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7697              : (TARGET_SSE))
    7698              :             return 3863; /* xorsf3 */
    7699              :           break;
    7700              : 
    7701              :         case 18:
    7702              :           if ((
    7703              : #line 6017 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7704              : (TARGET_SSE) && 
    7705              : #line 1353 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7706              : (TARGET_SSE2)))
    7707              :             return 3866; /* xordf3 */
    7708              :           break;
    7709              : 
    7710              :         case 19:
    7711              :           if (
    7712              : #line 6091 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7713              : (TARGET_SSE && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    7714              :             return 3869; /* *xortf3 */
    7715              :           break;
    7716              : 
    7717              :         default:
    7718              :           break;
    7719              :         }
    7720              :       if (pnum_clobbers != NULL
    7721              :           && pattern83 (x2) == 0)
    7722              :         {
    7723              :           x6 = XEXP (x3, 0);
    7724              :           x7 = XEXP (x6, 0);
    7725              :           operands[2] = x7;
    7726              :           switch (pattern1080 (x1))
    7727              :             {
    7728              :             case 0:
    7729              :               if (
    7730              : #line 13108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7731              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
    7732              :                 {
    7733              :                   *pnum_clobbers = 1;
    7734              :                   return 761; /* *xorqi_exthi_1_slp */
    7735              :                 }
    7736              :               break;
    7737              : 
    7738              :             case 1:
    7739              :               if (
    7740              : #line 13108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7741              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
    7742              :                 {
    7743              :                   *pnum_clobbers = 1;
    7744              :                   return 764; /* *xorqi_extsi_1_slp */
    7745              :                 }
    7746              :               break;
    7747              : 
    7748              :             case 2:
    7749              :               if ((
    7750              : #line 13108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7751              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) && 
    7752              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7753              : (TARGET_64BIT)))
    7754              :                 {
    7755              :                   *pnum_clobbers = 1;
    7756              :                   return 767; /* *xorqi_extdi_1_slp */
    7757              :                 }
    7758              :               break;
    7759              : 
    7760              :             case 3:
    7761              :               *pnum_clobbers = 1;
    7762              :               return 785; /* *xorqi_exthi_0 */
    7763              : 
    7764              :             case 4:
    7765              :               *pnum_clobbers = 1;
    7766              :               return 788; /* *xorqi_extsi_0 */
    7767              : 
    7768              :             case 5:
    7769              :               if (
    7770              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7771              : (TARGET_64BIT))
    7772              :                 {
    7773              :                   *pnum_clobbers = 1;
    7774              :                   return 791; /* *xorqi_extdi_0 */
    7775              :                 }
    7776              :               break;
    7777              : 
    7778              :             default:
    7779              :               break;
    7780              :             }
    7781              :           x9 = XEXP (x2, 1);
    7782              :           if (GET_CODE (x9) == SUBREG)
    7783              :             {
    7784              :               switch (pattern1083 (x1))
    7785              :                 {
    7786              :                 case 0:
    7787              :                   if (
    7788              : #line 13137 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7789              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
    7790              :                     {
    7791              :                       *pnum_clobbers = 1;
    7792              :                       return 770; /* *xorqi_exthi_2_slp */
    7793              :                     }
    7794              :                   break;
    7795              : 
    7796              :                 case 1:
    7797              :                   if (
    7798              : #line 13137 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7799              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
    7800              :                     {
    7801              :                       *pnum_clobbers = 1;
    7802              :                       return 773; /* *xorqi_extsi_2_slp */
    7803              :                     }
    7804              :                   break;
    7805              : 
    7806              :                 case 2:
    7807              :                   if ((
    7808              : #line 13137 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7809              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) && 
    7810              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7811              : (TARGET_64BIT)))
    7812              :                     {
    7813              :                       *pnum_clobbers = 1;
    7814              :                       return 776; /* *xorqi_extdi_2_slp */
    7815              :                     }
    7816              :                   break;
    7817              : 
    7818              :                 case 3:
    7819              :                   *pnum_clobbers = 1;
    7820              :                   return 794; /* *xorqi_ext2hi_0 */
    7821              : 
    7822              :                 case 4:
    7823              :                   *pnum_clobbers = 1;
    7824              :                   return 797; /* *xorqi_ext2si_0 */
    7825              : 
    7826              :                 case 5:
    7827              :                   if (
    7828              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7829              : (TARGET_64BIT))
    7830              :                     {
    7831              :                       *pnum_clobbers = 1;
    7832              :                       return 800; /* *xorqi_ext2di_0 */
    7833              :                     }
    7834              :                   break;
    7835              : 
    7836              :                 default:
    7837              :                   break;
    7838              :                 }
    7839              :             }
    7840              :         }
    7841              :       operands[1] = x3;
    7842              :       if (pattern84 (x1) != 0)
    7843              :         return -1;
    7844              :       if (
    7845              : #line 14095 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7846              : (ix86_binary_operator_ok (XOR, QImode, operands, TARGET_APX_NDD)
    7847              :    && TARGET_APX_NF))
    7848              :         return 897; /* *xorqi_1_nf */
    7849              :       if (pnum_clobbers == NULL
    7850              :           || !
    7851              : #line 14095 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7852              : (ix86_binary_operator_ok (XOR, QImode, operands, TARGET_APX_NDD)
    7853              :    && true))
    7854              :         return -1;
    7855              :       *pnum_clobbers = 1;
    7856              :       return 898; /* *xorqi_1 */
    7857              : 
    7858              :     case ZERO_EXTEND:
    7859              :       switch (pattern40 (x1))
    7860              :         {
    7861              :         case 0:
    7862              :           if (!(
    7863              : #line 14413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7864              : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) && 
    7865              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7866              : (TARGET_64BIT)))
    7867              :             return -1;
    7868              :           return 935; /* *concatditi3_2 */
    7869              : 
    7870              :         case 1:
    7871              :           if (!(
    7872              : #line 14457 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7873              : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) && 
    7874              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7875              : (TARGET_64BIT)))
    7876              :             return -1;
    7877              :           return 956; /* *concatditi3_4 */
    7878              : 
    7879              :         case 2:
    7880              :           if (!(
    7881              : #line 14457 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7882              : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) && 
    7883              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7884              : (TARGET_64BIT)))
    7885              :             return -1;
    7886              :           return 959; /* *concatditi3_4 */
    7887              : 
    7888              :         case 3:
    7889              :           if (!(
    7890              : #line 14534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7891              : (TImode == DImode
    7892              :    ? CONST_INT_P (operands[2])
    7893              :      && (UINTVAL (operands[2]) & GET_MODE_MASK (SImode)) == 0
    7894              :      && !ix86_endbr_immediate_operand (operands[2], VOIDmode)
    7895              :    : CONST_WIDE_INT_P (operands[2])
    7896              :      && CONST_WIDE_INT_NUNITS (operands[2]) == 2
    7897              :      && CONST_WIDE_INT_ELT (operands[2], 0) == 0
    7898              :      && !ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[2],
    7899              :                                                                     1)),
    7900              :                                        VOIDmode)) && 
    7901              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7902              : (TARGET_64BIT)))
    7903              :             return -1;
    7904              :           return 983; /* *concatditi3_7 */
    7905              : 
    7906              :         default:
    7907              :           return -1;
    7908              :         }
    7909              : 
    7910              :     default:
    7911              :       return -1;
    7912              :     }
    7913              : }
    7914              : 
    7915              :  int
    7916              : recog_47 (rtx x1 ATTRIBUTE_UNUSED,
    7917              :         rtx_insn *insn ATTRIBUTE_UNUSED,
    7918              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
    7919              : {
    7920              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    7921              :   rtx x2, x3, x4;
    7922              :   int res ATTRIBUTE_UNUSED;
    7923              :   switch (pattern2 (x1, pnum_clobbers))
    7924              :     {
    7925              :     case 0:
    7926              :       if (!
    7927              : #line 18532 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7928              : (ix86_binary_operator_ok (ROTATE, QImode, operands)
    7929              :    && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (QImode)-1))
    7930              :       == GET_MODE_BITSIZE (QImode)-1
    7931              :    && ix86_pre_reload_split ()))
    7932              :         return -1;
    7933              :       *pnum_clobbers = 1;
    7934              :       return 1324; /* *rotlqi3_mask_1 */
    7935              : 
    7936              :     case 1:
    7937              :       if (!
    7938              : #line 18532 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7939              : (ix86_binary_operator_ok (ROTATE, HImode, operands)
    7940              :    && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (HImode)-1))
    7941              :       == GET_MODE_BITSIZE (HImode)-1
    7942              :    && ix86_pre_reload_split ()))
    7943              :         return -1;
    7944              :       *pnum_clobbers = 1;
    7945              :       return 1326; /* *rotlhi3_mask_1 */
    7946              : 
    7947              :     case 2:
    7948              :       if (!
    7949              : #line 18613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7950              : (ix86_binary_operator_ok (ROTATE, QImode, operands)
    7951              :    && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
    7952              :    && ix86_pre_reload_split ()))
    7953              :         return -1;
    7954              :       *pnum_clobbers = 1;
    7955              :       return 1340; /* *rotlqi3_add_1 */
    7956              : 
    7957              :     case 3:
    7958              :       if (!
    7959              : #line 18613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7960              : (ix86_binary_operator_ok (ROTATE, HImode, operands)
    7961              :    && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
    7962              :    && ix86_pre_reload_split ()))
    7963              :         return -1;
    7964              :       *pnum_clobbers = 1;
    7965              :       return 1342; /* *rotlhi3_add_1 */
    7966              : 
    7967              :     case 4:
    7968              :       if (!
    7969              : #line 18682 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7970              : (ix86_binary_operator_ok (ROTATE, QImode, operands)
    7971              :    && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
    7972              :    && ix86_pre_reload_split ()))
    7973              :         return -1;
    7974              :       *pnum_clobbers = 1;
    7975              :       return 1356; /* *rotlqi3_sub_1 */
    7976              : 
    7977              :     case 5:
    7978              :       if (!
    7979              : #line 18682 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7980              : (ix86_binary_operator_ok (ROTATE, HImode, operands)
    7981              :    && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
    7982              :    && ix86_pre_reload_split ()))
    7983              :         return -1;
    7984              :       *pnum_clobbers = 1;
    7985              :       return 1358; /* *rotlhi3_sub_1 */
    7986              : 
    7987              :     case 6:
    7988              :       x2 = XEXP (x1, 0);
    7989              :       operands[0] = x2;
    7990              :       x3 = XEXP (x1, 1);
    7991              :       switch (pattern268 (x3, pnum_clobbers))
    7992              :         {
    7993              :         case 0:
    7994              :           if (
    7995              : #line 18484 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7996              : (ix86_binary_operator_ok (ROTATE, QImode, operands)
    7997              :    && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (QImode)-1))
    7998              :       == GET_MODE_BITSIZE (QImode)-1
    7999              :    && ix86_pre_reload_split ()))
    8000              :             {
    8001              :               *pnum_clobbers = 1;
    8002              :               return 1316; /* *rotlqi3_mask */
    8003              :             }
    8004              :           break;
    8005              : 
    8006              :         case 1:
    8007              :           if (
    8008              : #line 18484 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8009              : (ix86_binary_operator_ok (ROTATE, HImode, operands)
    8010              :    && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (HImode)-1))
    8011              :       == GET_MODE_BITSIZE (HImode)-1
    8012              :    && ix86_pre_reload_split ()))
    8013              :             {
    8014              :               *pnum_clobbers = 1;
    8015              :               return 1318; /* *rotlhi3_mask */
    8016              :             }
    8017              :           break;
    8018              : 
    8019              :         case 2:
    8020              :           if (
    8021              : #line 18577 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8022              : (ix86_binary_operator_ok (ROTATE, QImode, operands)
    8023              :    && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
    8024              :    && ix86_pre_reload_split ()))
    8025              :             {
    8026              :               *pnum_clobbers = 1;
    8027              :               return 1332; /* *rotlqi3_add */
    8028              :             }
    8029              :           break;
    8030              : 
    8031              :         case 3:
    8032              :           if (
    8033              : #line 18577 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8034              : (ix86_binary_operator_ok (ROTATE, HImode, operands)
    8035              :    && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
    8036              :    && ix86_pre_reload_split ()))
    8037              :             {
    8038              :               *pnum_clobbers = 1;
    8039              :               return 1334; /* *rotlhi3_add */
    8040              :             }
    8041              :           break;
    8042              : 
    8043              :         case 4:
    8044              :           if (
    8045              : #line 18646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8046              : (ix86_binary_operator_ok (ROTATE, QImode, operands)
    8047              :    && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
    8048              :    && ix86_pre_reload_split ()))
    8049              :             {
    8050              :               *pnum_clobbers = 1;
    8051              :               return 1348; /* *rotlqi3_sub */
    8052              :             }
    8053              :           break;
    8054              : 
    8055              :         case 5:
    8056              :           if (
    8057              : #line 18646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8058              : (ix86_binary_operator_ok (ROTATE, HImode, operands)
    8059              :    && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
    8060              :    && ix86_pre_reload_split ()))
    8061              :             {
    8062              :               *pnum_clobbers = 1;
    8063              :               return 1350; /* *rotlhi3_sub */
    8064              :             }
    8065              :           break;
    8066              : 
    8067              :         case 6:
    8068              :           if (pnum_clobbers != NULL
    8069              :               && pattern626 (x3) == 0
    8070              :               && 
    8071              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8072              : (TARGET_64BIT))
    8073              :             {
    8074              :               *pnum_clobbers = 2;
    8075              :               return 1365; /* ix86_rotlti3_doubleword */
    8076              :             }
    8077              :           x4 = XEXP (x3, 1);
    8078              :           if (XWINT (x4, 0) == 64L
    8079              :               && register_operand (operands[0], E_TImode)
    8080              :               && GET_MODE (x3) == E_TImode
    8081              :               && register_operand (operands[1], E_TImode)
    8082              :               && 
    8083              : #line 18805 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8084              : (TARGET_64BIT))
    8085              :             return 1370; /* rotl64ti2_doubleword */
    8086              :           break;
    8087              : 
    8088              :         default:
    8089              :           break;
    8090              :         }
    8091              :       x4 = XEXP (x3, 1);
    8092              :       operands[2] = x4;
    8093              :       switch (pattern269 (x1, pnum_clobbers))
    8094              :         {
    8095              :         case 0:
    8096              :           if (
    8097              : #line 19019 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8098              : (ix86_binary_operator_ok (ROTATE, QImode, operands, TARGET_APX_NDD)
    8099              :    && TARGET_APX_NF))
    8100              :             return 1405; /* *rotlqi3_1_nf */
    8101              :           if (pnum_clobbers == NULL
    8102              :               || !
    8103              : #line 19019 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8104              : (ix86_binary_operator_ok (ROTATE, QImode, operands, TARGET_APX_NDD)
    8105              :    && true))
    8106              :             return -1;
    8107              :           *pnum_clobbers = 1;
    8108              :           return 1406; /* *rotlqi3_1 */
    8109              : 
    8110              :         case 1:
    8111              :           if (
    8112              : #line 19019 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8113              : (ix86_binary_operator_ok (ROTATE, HImode, operands, TARGET_APX_NDD)
    8114              :    && TARGET_APX_NF))
    8115              :             return 1409; /* *rotlhi3_1_nf */
    8116              :           if (pnum_clobbers == NULL
    8117              :               || !
    8118              : #line 19019 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8119              : (ix86_binary_operator_ok (ROTATE, HImode, operands, TARGET_APX_NDD)
    8120              :    && true))
    8121              :             return -1;
    8122              :           *pnum_clobbers = 1;
    8123              :           return 1410; /* *rotlhi3_1 */
    8124              : 
    8125              :         case 2:
    8126              :           if (!
    8127              : #line 19050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8128              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
    8129              :             return -1;
    8130              :           *pnum_clobbers = 1;
    8131              :           return 1413; /* *rotlqi3_1_slp */
    8132              : 
    8133              :         case 3:
    8134              :           if (!
    8135              : #line 19050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8136              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
    8137              :             return -1;
    8138              :           *pnum_clobbers = 1;
    8139              :           return 1415; /* *rotlhi3_1_slp */
    8140              : 
    8141              :         default:
    8142              :           return -1;
    8143              :         }
    8144              : 
    8145              :     default:
    8146              :       return -1;
    8147              :     }
    8148              : }
    8149              : 
    8150              :  int
    8151              : recog_55 (rtx x1 ATTRIBUTE_UNUSED,
    8152              :         rtx_insn *insn ATTRIBUTE_UNUSED,
    8153              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
    8154              : {
    8155              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    8156              :   rtx x2, x3, x4;
    8157              :   int res ATTRIBUTE_UNUSED;
    8158              :   x2 = XEXP (x1, 0);
    8159              :   operands[0] = x2;
    8160              :   x3 = XEXP (x1, 1);
    8161              :   x4 = XEXP (x3, 0);
    8162              :   operands[1] = x4;
    8163              :   switch (GET_MODE (operands[0]))
    8164              :     {
    8165              :     case E_HImode:
    8166              :       if (!register_operand (operands[0], E_HImode)
    8167              :           || GET_MODE (x3) != E_HImode
    8168              :           || !nonimmediate_operand (operands[1], E_HImode))
    8169              :         return -1;
    8170              :       if (
    8171              : #line 22888 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8172              : (TARGET_POPCNT && TARGET_APX_NF))
    8173              :         return 1672; /* popcounthi2_nf */
    8174              :       if (pnum_clobbers == NULL
    8175              :           || !
    8176              : #line 22888 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8177              : (TARGET_POPCNT && true))
    8178              :         return -1;
    8179              :       *pnum_clobbers = 1;
    8180              :       return 1673; /* popcounthi2 */
    8181              : 
    8182              :     case E_V8QImode:
    8183              :       if (!register_operand (operands[0], E_V8QImode)
    8184              :           || GET_MODE (x3) != E_V8QImode
    8185              :           || !register_operand (operands[1], E_V8QImode)
    8186              :           || !(
    8187              : #line 6959 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8188              : (TARGET_AVX512VL && TARGET_AVX512BITALG) && 
    8189              : #line 76 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8190              : (TARGET_MMX_WITH_SSE)))
    8191              :         return -1;
    8192              :       return 2446; /* popcountv8qi2 */
    8193              : 
    8194              :     case E_V4QImode:
    8195              :       if (!register_operand (operands[0], E_V4QImode)
    8196              :           || GET_MODE (x3) != E_V4QImode
    8197              :           || !register_operand (operands[1], E_V4QImode)
    8198              :           || !
    8199              : #line 6959 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8200              : (TARGET_AVX512VL && TARGET_AVX512BITALG))
    8201              :         return -1;
    8202              :       return 2447; /* popcountv4qi2 */
    8203              : 
    8204              :     case E_V2QImode:
    8205              :       if (!register_operand (operands[0], E_V2QImode)
    8206              :           || GET_MODE (x3) != E_V2QImode
    8207              :           || !register_operand (operands[1], E_V2QImode)
    8208              :           || !
    8209              : #line 6959 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8210              : (TARGET_AVX512VL && TARGET_AVX512BITALG))
    8211              :         return -1;
    8212              :       return 2448; /* popcountv2qi2 */
    8213              : 
    8214              :     case E_V4HImode:
    8215              :       if (!register_operand (operands[0], E_V4HImode)
    8216              :           || GET_MODE (x3) != E_V4HImode
    8217              :           || !register_operand (operands[1], E_V4HImode)
    8218              :           || !(
    8219              : #line 6966 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8220              : (TARGET_AVX512VL && TARGET_AVX512BITALG) && 
    8221              : #line 73 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8222              : (TARGET_MMX_WITH_SSE)))
    8223              :         return -1;
    8224              :       return 2449; /* popcountv4hi2 */
    8225              : 
    8226              :     case E_V2HImode:
    8227              :       if (!register_operand (operands[0], E_V2HImode)
    8228              :           || GET_MODE (x3) != E_V2HImode
    8229              :           || !register_operand (operands[1], E_V2HImode)
    8230              :           || !
    8231              : #line 6966 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8232              : (TARGET_AVX512VL && TARGET_AVX512BITALG))
    8233              :         return -1;
    8234              :       return 2450; /* popcountv2hi2 */
    8235              : 
    8236              :     case E_V2SImode:
    8237              :       if (!register_operand (operands[0], E_V2SImode)
    8238              :           || GET_MODE (x3) != E_V2SImode
    8239              :           || !register_operand (operands[1], E_V2SImode)
    8240              :           || !
    8241              : #line 6973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8242              : (TARGET_AVX512VPOPCNTDQ && TARGET_AVX512VL && TARGET_MMX_WITH_SSE))
    8243              :         return -1;
    8244              :       return 2451; /* popcountv2si2 */
    8245              : 
    8246              :     default:
    8247              :       return -1;
    8248              :     }
    8249              : }
    8250              : 
    8251              :  int
    8252              : recog_61 (rtx x1 ATTRIBUTE_UNUSED,
    8253              :         rtx_insn *insn ATTRIBUTE_UNUSED,
    8254              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
    8255              : {
    8256              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    8257              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    8258              :   rtx x10, x11, x12, x13;
    8259              :   int res ATTRIBUTE_UNUSED;
    8260              :   x2 = XEXP (x1, 0);
    8261              :   operands[0] = x2;
    8262              :   x3 = XEXP (x1, 1);
    8263              :   x4 = XEXP (x3, 0);
    8264              :   switch (GET_CODE (x4))
    8265              :     {
    8266              :     case REG:
    8267              :     case SUBREG:
    8268              :     case MEM:
    8269              :       operands[1] = x4;
    8270              :       x5 = XEXP (x3, 1);
    8271              :       operands[2] = x5;
    8272              :       switch (GET_MODE (operands[0]))
    8273              :         {
    8274              :         case E_HImode:
    8275              :           if (!register_operand (operands[0], E_HImode)
    8276              :               || GET_MODE (x3) != E_HImode
    8277              :               || !nonimmediate_operand (operands[1], E_HImode)
    8278              :               || !general_operand (operands[2], E_HImode))
    8279              :             return -1;
    8280              :           if ((
    8281              : #line 10947 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8282              : (!(MEM_P (operands[1]) && MEM_P (operands[2]))
    8283              :    && TARGET_APX_NF) && 
    8284              : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8285              : (TARGET_HIMODE_MATH)))
    8286              :             return 618; /* *mulhi3_1_nf */
    8287              :           if (pnum_clobbers == NULL
    8288              :               || !(
    8289              : #line 10947 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8290              : (!(MEM_P (operands[1]) && MEM_P (operands[2]))
    8291              :    && true) && 
    8292              : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8293              : (TARGET_HIMODE_MATH)))
    8294              :             return -1;
    8295              :           *pnum_clobbers = 1;
    8296              :           return 619; /* *mulhi3_1 */
    8297              : 
    8298              :         case E_QImode:
    8299              :           if (pattern3 (x3, 
    8300              : E_QImode) != 0)
    8301              :             return -1;
    8302              :           if (
    8303              : #line 11034 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8304              : (TARGET_QIMODE_MATH
    8305              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))
    8306              :    && TARGET_APX_NF))
    8307              :             return 630; /* *mulqi3_1_nf */
    8308              :           if (pnum_clobbers == NULL
    8309              :               || !
    8310              : #line 11034 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8311              : (TARGET_QIMODE_MATH
    8312              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))
    8313              :    && true))
    8314              :             return -1;
    8315              :           *pnum_clobbers = 1;
    8316              :           return 631; /* *mulqi3_1 */
    8317              : 
    8318              :         case E_HFmode:
    8319              :           if (pattern3 (x3, 
    8320              : E_HFmode) != 0
    8321              :               || !
    8322              : #line 23830 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8323              : (TARGET_AVX512FP16
    8324              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    8325              :             return -1;
    8326              :           return 1712; /* *mulhf */
    8327              : 
    8328              :         case E_V2SImode:
    8329              :           if (pattern5 (x3, 
    8330              : E_V2SImode) != 0
    8331              :               || !
    8332              : #line 3380 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8333              : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
    8334              :             return -1;
    8335              :           return 2215; /* mulv2si3 */
    8336              : 
    8337              :         case E_V4HImode:
    8338              :           if (pattern6 (x3, 
    8339              : E_V4HImode) != 0
    8340              :               || !
    8341              : #line 3409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8342              : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
    8343              :    && ix86_binary_operator_ok (MULT, V4HImode, operands)))
    8344              :             return -1;
    8345              :           return 2216; /* *mmx_mulv4hi3 */
    8346              : 
    8347              :         case E_V2HImode:
    8348              :           if (pattern5 (x3, 
    8349              : E_V2HImode) != 0
    8350              :               || !
    8351              : #line 3424 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8352              : (TARGET_SSE2))
    8353              :             return -1;
    8354              :           return 2217; /* mulv2hi3 */
    8355              : 
    8356              :         default:
    8357              :           return -1;
    8358              :         }
    8359              : 
    8360              :     case ZERO_EXTEND:
    8361              :       x5 = XEXP (x3, 1);
    8362              :       if (GET_CODE (x5) != ZERO_EXTEND)
    8363              :         return -1;
    8364              :       x6 = XEXP (x4, 0);
    8365              :       switch (GET_CODE (x6))
    8366              :         {
    8367              :         case REG:
    8368              :         case SUBREG:
    8369              :           operands[1] = x6;
    8370              :           x7 = XEXP (x5, 0);
    8371              :           operands[2] = x7;
    8372              :           switch (GET_MODE (operands[0]))
    8373              :             {
    8374              :             case E_TImode:
    8375              :               if (pnum_clobbers == NULL
    8376              :                   || pattern866 (x3, 
    8377              : E_DImode, 
    8378              : E_TImode) != 0
    8379              :                   || !(
    8380              : #line 11337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8381              : (!(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
    8382              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8383              : (TARGET_64BIT)))
    8384              :                 return -1;
    8385              :               *pnum_clobbers = 1;
    8386              :               return 646; /* *umulditi3_1 */
    8387              : 
    8388              :             case E_HImode:
    8389              :               if (pattern866 (x3, 
    8390              : E_QImode, 
    8391              : E_HImode) != 0)
    8392              :                 return -1;
    8393              :               if (
    8394              : #line 11403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8395              : (TARGET_QIMODE_MATH
    8396              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))
    8397              :    && TARGET_APX_NF))
    8398              :                 return 653; /* *umulqihi3_1_nf */
    8399              :               if (pnum_clobbers == NULL
    8400              :                   || !
    8401              : #line 11403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8402              : (TARGET_QIMODE_MATH
    8403              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))
    8404              :    && true))
    8405              :                 return -1;
    8406              :               *pnum_clobbers = 1;
    8407              :               return 654; /* *umulqihi3_1 */
    8408              : 
    8409              :             default:
    8410              :               return -1;
    8411              :             }
    8412              : 
    8413              :         case VEC_SELECT:
    8414              :           if (GET_MODE (x6) != E_V1SImode)
    8415              :             return -1;
    8416              :           x8 = XEXP (x6, 1);
    8417              :           if (GET_CODE (x8) != PARALLEL
    8418              :               || XVECLEN (x8, 0) != 1)
    8419              :             return -1;
    8420              :           x9 = XVECEXP (x8, 0, 0);
    8421              :           if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    8422              :             return -1;
    8423              :           x7 = XEXP (x5, 0);
    8424              :           if (GET_CODE (x7) != VEC_SELECT
    8425              :               || GET_MODE (x7) != E_V1SImode)
    8426              :             return -1;
    8427              :           x10 = XEXP (x7, 1);
    8428              :           if (GET_CODE (x10) != PARALLEL
    8429              :               || XVECLEN (x10, 0) != 1)
    8430              :             return -1;
    8431              :           x11 = XVECEXP (x10, 0, 0);
    8432              :           if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
    8433              :               || !register_operand (operands[0], E_V1DImode)
    8434              :               || GET_MODE (x3) != E_V1DImode
    8435              :               || GET_MODE (x4) != E_V1DImode)
    8436              :             return -1;
    8437              :           x12 = XEXP (x6, 0);
    8438              :           operands[1] = x12;
    8439              :           if (!register_mmxmem_operand (operands[1], E_V2SImode)
    8440              :               || GET_MODE (x5) != E_V1DImode)
    8441              :             return -1;
    8442              :           x13 = XEXP (x7, 0);
    8443              :           operands[2] = x13;
    8444              :           if (!register_mmxmem_operand (operands[2], E_V2SImode)
    8445              :               || !
    8446              : #line 3664 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8447              : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
    8448              :    && TARGET_SSE2
    8449              :    && ix86_binary_operator_ok (MULT, V2SImode, operands)))
    8450              :             return -1;
    8451              :           return 2224; /* *sse2_umulv1siv1di3 */
    8452              : 
    8453              :         default:
    8454              :           return -1;
    8455              :         }
    8456              : 
    8457              :     case SIGN_EXTEND:
    8458              :       x5 = XEXP (x3, 1);
    8459              :       if (GET_CODE (x5) != SIGN_EXTEND)
    8460              :         return -1;
    8461              :       x6 = XEXP (x4, 0);
    8462              :       operands[1] = x6;
    8463              :       x7 = XEXP (x5, 0);
    8464              :       operands[2] = x7;
    8465              :       switch (GET_MODE (operands[0]))
    8466              :         {
    8467              :         case E_TImode:
    8468              :           if (pattern866 (x3, 
    8469              : E_DImode, 
    8470              : E_TImode) != 0)
    8471              :             return -1;
    8472              :           if ((
    8473              : #line 11383 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8474              : (!(MEM_P (operands[1]) && MEM_P (operands[2]))
    8475              :    && TARGET_APX_NF) && 
    8476              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8477              : (TARGET_64BIT)))
    8478              :             return 649; /* *mulditi3_1_nf */
    8479              :           if (pnum_clobbers == NULL
    8480              :               || !(
    8481              : #line 1200 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8482              : (TARGET_64BIT) && (
    8483              : #line 11383 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8484              : (!(MEM_P (operands[1]) && MEM_P (operands[2]))
    8485              :    && true) && 
    8486              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8487              : (TARGET_64BIT))))
    8488              :             return -1;
    8489              :           *pnum_clobbers = 1;
    8490              :           return 650; /* *mulditi3_1 */
    8491              : 
    8492              :         case E_HImode:
    8493              :           if (pattern866 (x3, 
    8494              : E_QImode, 
    8495              : E_HImode) != 0)
    8496              :             return -1;
    8497              :           if (
    8498              : #line 11403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8499              : (TARGET_QIMODE_MATH
    8500              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))
    8501              :    && TARGET_APX_NF))
    8502              :             return 651; /* *mulqihi3_1_nf */
    8503              :           if (pnum_clobbers == NULL
    8504              :               || !
    8505              : #line 11403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8506              : (TARGET_QIMODE_MATH
    8507              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))
    8508              :    && true))
    8509              :             return -1;
    8510              :           *pnum_clobbers = 1;
    8511              :           return 652; /* *mulqihi3_1 */
    8512              : 
    8513              :         default:
    8514              :           return -1;
    8515              :         }
    8516              : 
    8517              :     default:
    8518              :       return -1;
    8519              :     }
    8520              : }
    8521              : 
    8522              :  int
    8523              : recog_69 (rtx x1 ATTRIBUTE_UNUSED,
    8524              :         rtx_insn *insn ATTRIBUTE_UNUSED,
    8525              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
    8526              : {
    8527              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    8528              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    8529              :   rtx x10, x11, x12, x13, x14, x15, x16, x17;
    8530              :   rtx x18, x19;
    8531              :   int res ATTRIBUTE_UNUSED;
    8532              :   x2 = XEXP (x1, 0);
    8533              :   operands[0] = x2;
    8534              :   x3 = XEXP (x1, 1);
    8535              :   x4 = XEXP (x3, 0);
    8536              :   switch (GET_CODE (x4))
    8537              :     {
    8538              :     case REG:
    8539              :     case SUBREG:
    8540              :     case MEM:
    8541              :       switch (pattern47 (x3))
    8542              :         {
    8543              :         case 0:
    8544              :           if (!
    8545              : #line 3351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8546              : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
    8547              :    && ix86_binary_operator_ok (SS_PLUS, V8QImode, operands)))
    8548              :             return -1;
    8549              :           return 2195; /* *mmx_ssaddv8qi3 */
    8550              : 
    8551              :         case 1:
    8552              :           if (!
    8553              : #line 3351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8554              : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
    8555              :    && ix86_binary_operator_ok (SS_PLUS, V4HImode, operands)))
    8556              :             return -1;
    8557              :           return 2199; /* *mmx_ssaddv4hi3 */
    8558              : 
    8559              :         case 2:
    8560              :           if (!
    8561              : #line 3367 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8562              : (TARGET_SSE2))
    8563              :             return -1;
    8564              :           return 2203; /* ssaddv4qi3 */
    8565              : 
    8566              :         case 3:
    8567              :           if (!
    8568              : #line 3367 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8569              : (TARGET_SSE2))
    8570              :             return -1;
    8571              :           return 2207; /* ssaddv2qi3 */
    8572              : 
    8573              :         case 4:
    8574              :           if (!
    8575              : #line 3367 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8576              : (TARGET_SSE2))
    8577              :             return -1;
    8578              :           return 2211; /* ssaddv2hi3 */
    8579              : 
    8580              :         default:
    8581              :           return -1;
    8582              :         }
    8583              : 
    8584              :     case VEC_SELECT:
    8585              :       if (pattern108 (x3) != 0
    8586              :           || !
    8587              : #line 22970 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8588              : ((TARGET_MMX || TARGET_MMX_WITH_SSE) && TARGET_SSSE3))
    8589              :         return -1;
    8590              :       return 8641; /* ssse3_phaddswv4hi3 */
    8591              : 
    8592              :     case MULT:
    8593              :       if (GET_MODE (x4) != E_V4HImode)
    8594              :         return -1;
    8595              :       x5 = XEXP (x4, 0);
    8596              :       if (GET_CODE (x5) != ZERO_EXTEND
    8597              :           || GET_MODE (x5) != E_V4HImode)
    8598              :         return -1;
    8599              :       x6 = XEXP (x5, 0);
    8600              :       if (GET_CODE (x6) != VEC_SELECT
    8601              :           || GET_MODE (x6) != E_V4QImode)
    8602              :         return -1;
    8603              :       x7 = XEXP (x6, 1);
    8604              :       if (GET_CODE (x7) != PARALLEL
    8605              :           || XVECLEN (x7, 0) != 4
    8606              :           || pattern1092 (x7, 
    8607              : 6, 
    8608              : 4, 
    8609              : 2, 
    8610              : 0) != 0)
    8611              :         return -1;
    8612              :       x8 = XEXP (x4, 1);
    8613              :       if (pattern1275 (x8, 
    8614              : E_V4QImode, 
    8615              : E_V4HImode) != 0)
    8616              :         return -1;
    8617              :       x9 = XEXP (x8, 0);
    8618              :       x10 = XEXP (x9, 1);
    8619              :       if (pattern1633 (x10, 
    8620              : 6, 
    8621              : 4, 
    8622              : 2, 
    8623              : 0) != 0)
    8624              :         return -1;
    8625              :       x11 = XEXP (x3, 1);
    8626              :       if (pattern1808 (x11, 
    8627              : E_V4QImode, 
    8628              : E_V4HImode, 
    8629              : ZERO_EXTEND) != 0
    8630              :           || !register_operand (operands[0], E_V4HImode)
    8631              :           || GET_MODE (x3) != E_V4HImode)
    8632              :         return -1;
    8633              :       x12 = XEXP (x6, 0);
    8634              :       operands[1] = x12;
    8635              :       if (!register_operand (operands[1], E_V8QImode))
    8636              :         return -1;
    8637              :       x13 = XEXP (x9, 0);
    8638              :       operands[2] = x13;
    8639              :       if (!register_mmxmem_operand (operands[2], E_V8QImode))
    8640              :         return -1;
    8641              :       x14 = XEXP (x11, 0);
    8642              :       x15 = XEXP (x14, 0);
    8643              :       x16 = XEXP (x15, 0);
    8644              :       if (!rtx_equal_p (x16, operands[1]))
    8645              :         return -1;
    8646              :       x17 = XEXP (x11, 1);
    8647              :       x18 = XEXP (x17, 0);
    8648              :       x19 = XEXP (x18, 0);
    8649              :       if (!rtx_equal_p (x19, operands[2])
    8650              :           || !
    8651              : #line 23254 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8652              : ((TARGET_MMX || TARGET_MMX_WITH_SSE) && TARGET_SSSE3))
    8653              :         return -1;
    8654              :       return 8660; /* ssse3_pmaddubsw */
    8655              : 
    8656              :     default:
    8657              :       return -1;
    8658              :     }
    8659              : }
    8660              : 
    8661              :  int
    8662              : recog_73 (rtx x1 ATTRIBUTE_UNUSED,
    8663              :         rtx_insn *insn ATTRIBUTE_UNUSED,
    8664              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
    8665              : {
    8666              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    8667              :   rtx x2, x3, x4, x5;
    8668              :   int res ATTRIBUTE_UNUSED;
    8669              :   x2 = XEXP (x1, 1);
    8670              :   if (GET_MODE (x2) != E_DImode)
    8671              :     return -1;
    8672              :   x3 = XEXP (x2, 0);
    8673              :   x4 = XEXP (x3, 0);
    8674              :   operands[1] = x4;
    8675              :   if (!nonimmediate_operand (operands[1], E_SImode))
    8676              :     return -1;
    8677              :   x5 = XEXP (x3, 1);
    8678              :   operands[2] = x5;
    8679              :   switch (GET_CODE (operands[2]))
    8680              :     {
    8681              :     case CONST_INT:
    8682              :       if (pnum_clobbers == NULL
    8683              :           || !const_int_operand (operands[2], E_QImode)
    8684              :           || !
    8685              : #line 17602 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8686              : (TARGET_64BIT && INTVAL (operands[2]) == 31
    8687              :    && (TARGET_USE_CLTD || optimize_function_for_size_p (cfun))
    8688              :    && ix86_binary_operator_ok (ASHIFTRT, SImode, operands, TARGET_APX_NDD)))
    8689              :         return -1;
    8690              :       *pnum_clobbers = 1;
    8691              :       return 1202; /* *ashrsi3_cvt_zext */
    8692              : 
    8693              :     case REG:
    8694              :     case SUBREG:
    8695              :       if (!register_operand (operands[2], E_SImode)
    8696              :           || !
    8697              : #line 17781 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8698              : (TARGET_64BIT && TARGET_BMI2))
    8699              :         return -1;
    8700              :       return 1217; /* *bmi2_ashrsi3_1_zext */
    8701              : 
    8702              :     default:
    8703              :       return -1;
    8704              :     }
    8705              : }
    8706              : 
    8707              :  int
    8708              : recog_74 (rtx x1 ATTRIBUTE_UNUSED,
    8709              :         rtx_insn *insn ATTRIBUTE_UNUSED,
    8710              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
    8711              : {
    8712              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    8713              :   rtx x2, x3, x4, x5, x6;
    8714              :   int res ATTRIBUTE_UNUSED;
    8715              :   x2 = XEXP (x1, 1);
    8716              :   x3 = XEXP (x2, 0);
    8717              :   switch (XVECLEN (x3, 0))
    8718              :     {
    8719              :     case 1:
    8720              :       if (!register_operand (operands[0], E_DImode)
    8721              :           || GET_MODE (x2) != E_DImode
    8722              :           || GET_MODE (x3) != E_SImode)
    8723              :         return -1;
    8724              :       switch (XINT (x3, 1))
    8725              :         {
    8726              :         case 20:
    8727              :           x4 = XVECEXP (x3, 0, 0);
    8728              :           if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
    8729              :               || !
    8730              : #line 23579 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8731              : (TARGET_X32))
    8732              :             return -1;
    8733              :           return 1694; /* *load_tp_x32_zext */
    8734              : 
    8735              :         case 50:
    8736              :           x4 = XVECEXP (x3, 0, 0);
    8737              :           switch (GET_CODE (x4))
    8738              :             {
    8739              :             case REG:
    8740              :             case SUBREG:
    8741              :               operands[1] = x4;
    8742              :               switch (GET_MODE (operands[1]))
    8743              :                 {
    8744              :                 case E_V8SFmode:
    8745              :                   if (register_operand (operands[1], E_V8SFmode)
    8746              :                       && (
    8747              : #line 22299 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8748              : (TARGET_64BIT && TARGET_SSE) && 
    8749              : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8750              : (TARGET_AVX)))
    8751              :                     return 8558; /* *avx_movmskps256_uext */
    8752              :                   break;
    8753              : 
    8754              :                 case E_V4SFmode:
    8755              :                   if (register_operand (operands[1], E_V4SFmode)
    8756              :                       && 
    8757              : #line 22299 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8758              : (TARGET_64BIT && TARGET_SSE))
    8759              :                     return 8560; /* *sse_movmskps_uext */
    8760              :                   break;
    8761              : 
    8762              :                 case E_V4DFmode:
    8763              :                   if (register_operand (operands[1], E_V4DFmode)
    8764              :                       && (
    8765              : #line 22299 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8766              : (TARGET_64BIT && TARGET_SSE) && 
    8767              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8768              : (TARGET_AVX)))
    8769              :                     return 8562; /* *avx_movmskpd256_uext */
    8770              :                   break;
    8771              : 
    8772              :                 case E_V2DFmode:
    8773              :                   if (register_operand (operands[1], E_V2DFmode)
    8774              :                       && (
    8775              : #line 22299 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8776              : (TARGET_64BIT && TARGET_SSE) && 
    8777              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8778              : (TARGET_SSE2)))
    8779              :                     return 8564; /* *sse2_movmskpd_uext */
    8780              :                   break;
    8781              : 
    8782              :                 case E_V32QImode:
    8783              :                   if (register_operand (operands[1], E_V32QImode)
    8784              :                       && (
    8785              : #line 22454 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8786              : (TARGET_64BIT && TARGET_SSE2) && 
    8787              : #line 623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8788              : (TARGET_AVX2)))
    8789              :                     return 8603; /* *avx2_pmovmskb_zext */
    8790              :                   break;
    8791              : 
    8792              :                 case E_V16QImode:
    8793              :                   if (register_operand (operands[1], E_V16QImode)
    8794              :                       && 
    8795              : #line 22454 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8796              : (TARGET_64BIT && TARGET_SSE2))
    8797              :                     return 8604; /* *sse2_pmovmskb_zext */
    8798              :                   break;
    8799              : 
    8800              :                 default:
    8801              :                   break;
    8802              :                 }
    8803              :               if (GET_CODE (x4) != SUBREG)
    8804              :                 return -1;
    8805              :               switch (pattern1098 (x4))
    8806              :                 {
    8807              :                 case 0:
    8808              :                   if (!(
    8809              : #line 22381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8810              : (TARGET_64BIT && TARGET_SSE) && 
    8811              : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8812              : (TARGET_AVX)))
    8813              :                     return -1;
    8814              :                   return 8582; /* *avx_movmskps256_uext_lt_avx512 */
    8815              : 
    8816              :                 case 1:
    8817              :                   if (!
    8818              : #line 22381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8819              : (TARGET_64BIT && TARGET_SSE))
    8820              :                     return -1;
    8821              :                   return 8584; /* *sse_movmskps_uext_lt_avx512 */
    8822              : 
    8823              :                 case 2:
    8824              :                   if (!(
    8825              : #line 22381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8826              : (TARGET_64BIT && TARGET_SSE) && 
    8827              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8828              : (TARGET_AVX)))
    8829              :                     return -1;
    8830              :                   return 8586; /* *avx_movmskpd256_uext_lt_avx512 */
    8831              : 
    8832              :                 case 3:
    8833              :                   if (!(
    8834              : #line 22381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8835              : (TARGET_64BIT && TARGET_SSE) && 
    8836              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8837              : (TARGET_SSE2)))
    8838              :                     return -1;
    8839              :                   return 8588; /* *sse2_movmskpd_uext_lt_avx512 */
    8840              : 
    8841              :                 case 4:
    8842              :                   if (!(
    8843              : #line 22420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8844              : (TARGET_64BIT && TARGET_SSE) && 
    8845              : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8846              : (TARGET_AVX)))
    8847              :                     return -1;
    8848              :                   return 8594; /* *avx_movmskps256_uext_shift */
    8849              : 
    8850              :                 case 5:
    8851              :                   if (!
    8852              : #line 22420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8853              : (TARGET_64BIT && TARGET_SSE))
    8854              :                     return -1;
    8855              :                   return 8596; /* *sse_movmskps_uext_shift */
    8856              : 
    8857              :                 case 6:
    8858              :                   if (!(
    8859              : #line 22420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8860              : (TARGET_64BIT && TARGET_SSE) && 
    8861              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8862              : (TARGET_AVX)))
    8863              :                     return -1;
    8864              :                   return 8598; /* *avx_movmskpd256_uext_shift */
    8865              : 
    8866              :                 case 7:
    8867              :                   if (!(
    8868              : #line 22420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8869              : (TARGET_64BIT && TARGET_SSE) && 
    8870              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8871              : (TARGET_SSE2)))
    8872              :                     return -1;
    8873              :                   return 8600; /* *sse2_movmskpd_uext_shift */
    8874              : 
    8875              :                 default:
    8876              :                   return -1;
    8877              :                 }
    8878              : 
    8879              :             case LT:
    8880              :               switch (pattern983 (x4))
    8881              :                 {
    8882              :                 case 0:
    8883              :                   if (!(
    8884              : #line 22356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8885              : (TARGET_64BIT && TARGET_SSE) && 
    8886              : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8887              : (TARGET_AVX)))
    8888              :                     return -1;
    8889              :                   return 8574; /* *avx_movmskps256_uext_lt */
    8890              : 
    8891              :                 case 1:
    8892              :                   if (!
    8893              : #line 22356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8894              : (TARGET_64BIT && TARGET_SSE))
    8895              :                     return -1;
    8896              :                   return 8576; /* *sse_movmskps_uext_lt */
    8897              : 
    8898              :                 case 2:
    8899              :                   if (!(
    8900              : #line 22356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8901              : (TARGET_64BIT && TARGET_SSE) && 
    8902              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8903              : (TARGET_AVX)))
    8904              :                     return -1;
    8905              :                   return 8578; /* *avx_movmskpd256_uext_lt */
    8906              : 
    8907              :                 case 3:
    8908              :                   if (!(
    8909              : #line 22356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8910              : (TARGET_64BIT && TARGET_SSE) && 
    8911              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8912              : (TARGET_SSE2)))
    8913              :                     return -1;
    8914              :                   return 8580; /* *sse2_movmskpd_uext_lt */
    8915              : 
    8916              :                 case 4:
    8917              :                   if (!(
    8918              : #line 22616 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8919              : (TARGET_64BIT && TARGET_SSE2) && 
    8920              : #line 623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8921              : (TARGET_AVX2)))
    8922              :                     return -1;
    8923              :                   return 8611; /* *avx2_pmovmskb_zext_lt */
    8924              : 
    8925              :                 case 5:
    8926              :                   if (!
    8927              : #line 22616 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8928              : (TARGET_64BIT && TARGET_SSE2))
    8929              :                     return -1;
    8930              :                   return 8612; /* *sse2_pmovmskb_zext_lt */
    8931              : 
    8932              :                 default:
    8933              :                   return -1;
    8934              :                 }
    8935              : 
    8936              :             case VEC_MERGE:
    8937              :               switch (pattern985 (x4))
    8938              :                 {
    8939              :                 case 0:
    8940              :                   if (!(
    8941              : #line 22645 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8942              : (TARGET_64BIT && TARGET_SSE2) && 
    8943              : #line 623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8944              : (TARGET_AVX2)))
    8945              :                     return -1;
    8946              :                   return 8613; /* *avx2_pmovmskb_zext_lt_avx512 */
    8947              : 
    8948              :                 case 1:
    8949              :                   if (!
    8950              : #line 22645 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8951              : (TARGET_64BIT && TARGET_SSE2))
    8952              :                     return -1;
    8953              :                   return 8614; /* *sse2_pmovmskb_zext_lt_avx512 */
    8954              : 
    8955              :                 default:
    8956              :                   return -1;
    8957              :                 }
    8958              : 
    8959              :             default:
    8960              :               return -1;
    8961              :             }
    8962              : 
    8963              :         default:
    8964              :           return -1;
    8965              :         }
    8966              : 
    8967              :     case 2:
    8968              :       x4 = XVECEXP (x3, 0, 0);
    8969              :       operands[1] = x4;
    8970              :       x5 = XVECEXP (x3, 0, 1);
    8971              :       operands[2] = x5;
    8972              :       switch (XINT (x3, 1))
    8973              :         {
    8974              :         case 96:
    8975              :           if (GET_MODE (x3) != E_SImode
    8976              :               || !register_operand (operands[0], E_DImode)
    8977              :               || GET_MODE (x2) != E_DImode
    8978              :               || !register_operand (operands[1], E_SImode)
    8979              :               || !nonimmediate_operand (operands[2], E_DImode)
    8980              :               || !
    8981              : #line 29756 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8982              : (TARGET_64BIT && TARGET_CRC32))
    8983              :             return -1;
    8984              :           return 1948; /* sse4_2_crc32di */
    8985              : 
    8986              :         case 159:
    8987              :           switch (GET_MODE (operands[0]))
    8988              :             {
    8989              :             case E_DImode:
    8990              :               switch (pattern880 (x2, 
    8991              : E_DImode))
    8992              :                 {
    8993              :                 case 0:
    8994              :                   if (!(
    8995              : #line 19413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8996              : (TARGET_AVX512BW
    8997              :    && (8
    8998              :        > GET_MODE_SIZE (DImode))) && 
    8999              : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9000              : (TARGET_AVX512BW)))
    9001              :                     return -1;
    9002              :                   return 8202; /* *avx512bw_testmv64qi3_zext */
    9003              : 
    9004              :                 case 1:
    9005              :                   if (!(
    9006              : #line 19413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9007              : (TARGET_AVX512BW
    9008              :    && (8
    9009              :        > GET_MODE_SIZE (SImode))) && ((
    9010              : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9011              : (TARGET_AVX512BW) && 
    9012              : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9013              : (TARGET_AVX512VL && TARGET_AVX512BW)) && 
    9014              : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9015              : (TARGET_AVX512VL && TARGET_AVX512BW))))
    9016              :                     return -1;
    9017              :                   return 8205; /* *avx512vl_testmv32qi3_zext */
    9018              : 
    9019              :                 case 2:
    9020              :                   if (!(
    9021              : #line 19413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9022              : (TARGET_AVX512BW
    9023              :    && (8
    9024              :        > GET_MODE_SIZE (SImode))) && 
    9025              : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9026              : (TARGET_AVX512BW)))
    9027              :                     return -1;
    9028              :                   return 8211; /* *avx512bw_testmv32hi3_zext */
    9029              : 
    9030              :                 case 3:
    9031              :                   if (!(
    9032              : #line 19413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9033              : (TARGET_AVX512BW
    9034              :    && (8
    9035              :        > GET_MODE_SIZE (HImode))) && ((
    9036              : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9037              : (TARGET_AVX512BW) && 
    9038              : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9039              : (TARGET_AVX512VL && TARGET_AVX512BW)) && 
    9040              : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9041              : (TARGET_AVX512VL && TARGET_AVX512BW))))
    9042              :                     return -1;
    9043              :                   return 8208; /* *avx512vl_testmv16qi3_zext */
    9044              : 
    9045              :                 case 4:
    9046              :                   if (!(
    9047              : #line 19413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9048              : (TARGET_AVX512BW
    9049              :    && (8
    9050              :        > GET_MODE_SIZE (HImode))) && ((
    9051              : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9052              : (TARGET_AVX512BW) && 
    9053              : #line 504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9054              : (TARGET_AVX512VL && TARGET_AVX512BW)) && 
    9055              : #line 504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9056              : (TARGET_AVX512VL && TARGET_AVX512BW))))
    9057              :                     return -1;
    9058              :                   return 8214; /* *avx512vl_testmv16hi3_zext */
    9059              : 
    9060              :                 case 5:
    9061              :                   if (!(
    9062              : #line 19413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9063              : (TARGET_AVX512BW
    9064              :    && (8
    9065              :        > GET_MODE_SIZE (HImode))) && 
    9066              : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9067              : (TARGET_AVX512BW)))
    9068              :                     return -1;
    9069              :                   return 8220; /* *avx512f_testmv16si3_zext */
    9070              : 
    9071              :                 case 6:
    9072              :                   if (!(
    9073              : #line 19413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9074              : (TARGET_AVX512BW
    9075              :    && (8
    9076              :        > GET_MODE_SIZE (QImode))) && ((
    9077              : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9078              : (TARGET_AVX512BW) && 
    9079              : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9080              : (TARGET_AVX512VL && TARGET_AVX512BW)) && 
    9081              : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9082              : (TARGET_AVX512VL && TARGET_AVX512BW))))
    9083              :                     return -1;
    9084              :                   return 8217; /* *avx512vl_testmv8hi3_zext */
    9085              : 
    9086              :                 case 7:
    9087              :                   if (!(
    9088              : #line 19413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9089              : (TARGET_AVX512BW
    9090              :    && (8
    9091              :        > GET_MODE_SIZE (QImode))) && ((
    9092              : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9093              : (TARGET_AVX512BW) && 
    9094              : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9095              : (TARGET_AVX512VL)) && 
    9096              : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9097              : (TARGET_AVX512VL))))
    9098              :                     return -1;
    9099              :                   return 8223; /* *avx512vl_testmv8si3_zext */
    9100              : 
    9101              :                 case 8:
    9102              :                   if (!(
    9103              : #line 19413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9104              : (TARGET_AVX512BW
    9105              :    && (8
    9106              :        > GET_MODE_SIZE (QImode))) && ((
    9107              : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9108              : (TARGET_AVX512BW) && 
    9109              : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9110              : (TARGET_AVX512VL)) && 
    9111              : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9112              : (TARGET_AVX512VL))))
    9113              :                     return -1;
    9114              :                   return 8226; /* *avx512vl_testmv4si3_zext */
    9115              : 
    9116              :                 case 9:
    9117              :                   if (!(
    9118              : #line 19413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9119              : (TARGET_AVX512BW
    9120              :    && (8
    9121              :        > GET_MODE_SIZE (QImode))) && 
    9122              : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9123              : (TARGET_AVX512BW)))
    9124              :                     return -1;
    9125              :                   return 8229; /* *avx512f_testmv8di3_zext */
    9126              : 
    9127              :                 case 10:
    9128              :                   if (!(
    9129              : #line 19413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9130              : (TARGET_AVX512BW
    9131              :    && (8
    9132              :        > GET_MODE_SIZE (QImode))) && ((
    9133              : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9134              : (TARGET_AVX512BW) && 
    9135              : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9136              : (TARGET_AVX512VL)) && 
    9137              : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9138              : (TARGET_AVX512VL))))
    9139              :                     return -1;
    9140              :                   return 8232; /* *avx512vl_testmv4di3_zext */
    9141              : 
    9142              :                 case 11:
    9143              :                   if (!(
    9144              : #line 19413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9145              : (TARGET_AVX512BW
    9146              :    && (8
    9147              :        > GET_MODE_SIZE (QImode))) && ((
    9148              : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9149              : (TARGET_AVX512BW) && 
    9150              : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9151              : (TARGET_AVX512VL)) && 
    9152              : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9153              : (TARGET_AVX512VL))))
    9154              :                     return -1;
    9155              :                   return 8235; /* *avx512vl_testmv2di3_zext */
    9156              : 
    9157              :                 default:
    9158              :                   return -1;
    9159              :                 }
    9160              : 
    9161              :             case E_SImode:
    9162              :               switch (pattern880 (x2, 
    9163              : E_SImode))
    9164              :                 {
    9165              :                 case 0:
    9166              :                   if (!(
    9167              : #line 19413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9168              : (TARGET_AVX512BW
    9169              :    && (4
    9170              :        > GET_MODE_SIZE (DImode))) && 
    9171              : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9172              : (TARGET_AVX512BW)))
    9173              :                     return -1;
    9174              :                   return 8203; /* *avx512bw_testmv64qi3_zext */
    9175              : 
    9176              :                 case 1:
    9177              :                   if (!(
    9178              : #line 19413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9179              : (TARGET_AVX512BW
    9180              :    && (4
    9181              :        > GET_MODE_SIZE (SImode))) && ((
    9182              : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9183              : (TARGET_AVX512BW) && 
    9184              : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9185              : (TARGET_AVX512VL && TARGET_AVX512BW)) && 
    9186              : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9187              : (TARGET_AVX512VL && TARGET_AVX512BW))))
    9188              :                     return -1;
    9189              :                   return 8206; /* *avx512vl_testmv32qi3_zext */
    9190              : 
    9191              :                 case 2:
    9192              :                   if (!(
    9193              : #line 19413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9194              : (TARGET_AVX512BW
    9195              :    && (4
    9196              :        > GET_MODE_SIZE (SImode))) && 
    9197              : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9198              : (TARGET_AVX512BW)))
    9199              :                     return -1;
    9200              :                   return 8212; /* *avx512bw_testmv32hi3_zext */
    9201              : 
    9202              :                 case 3:
    9203              :                   if (!(
    9204              : #line 19413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9205              : (TARGET_AVX512BW
    9206              :    && (4
    9207              :        > GET_MODE_SIZE (HImode))) && ((
    9208              : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9209              : (TARGET_AVX512BW) && 
    9210              : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9211              : (TARGET_AVX512VL && TARGET_AVX512BW)) && 
    9212              : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9213              : (TARGET_AVX512VL && TARGET_AVX512BW))))
    9214              :                     return -1;
    9215              :                   return 8209; /* *avx512vl_testmv16qi3_zext */
    9216              : 
    9217              :                 case 4:
    9218              :                   if (!(
    9219              : #line 19413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9220              : (TARGET_AVX512BW
    9221              :    && (4
    9222              :        > GET_MODE_SIZE (HImode))) && ((
    9223              : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9224              : (TARGET_AVX512BW) && 
    9225              : #line 504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9226              : (TARGET_AVX512VL && TARGET_AVX512BW)) && 
    9227              : #line 504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9228              : (TARGET_AVX512VL && TARGET_AVX512BW))))
    9229              :                     return -1;
    9230              :                   return 8215; /* *avx512vl_testmv16hi3_zext */
    9231              : 
    9232              :                 case 5:
    9233              :                   if (!(
    9234              : #line 19413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9235              : (TARGET_AVX512BW
    9236              :    && (4
    9237              :        > GET_MODE_SIZE (HImode))) && 
    9238              : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9239              : (TARGET_AVX512BW)))
    9240              :                     return -1;
    9241              :                   return 8221; /* *avx512f_testmv16si3_zext */
    9242              : 
    9243              :                 case 6:
    9244              :                   if (!(
    9245              : #line 19413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9246              : (TARGET_AVX512BW
    9247              :    && (4
    9248              :        > GET_MODE_SIZE (QImode))) && ((
    9249              : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9250              : (TARGET_AVX512BW) && 
    9251              : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9252              : (TARGET_AVX512VL && TARGET_AVX512BW)) && 
    9253              : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9254              : (TARGET_AVX512VL && TARGET_AVX512BW))))
    9255              :                     return -1;
    9256              :                   return 8218; /* *avx512vl_testmv8hi3_zext */
    9257              : 
    9258              :                 case 7:
    9259              :                   if (!(
    9260              : #line 19413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9261              : (TARGET_AVX512BW
    9262              :    && (4
    9263              :        > GET_MODE_SIZE (QImode))) && ((
    9264              : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9265              : (TARGET_AVX512BW) && 
    9266              : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9267              : (TARGET_AVX512VL)) && 
    9268              : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9269              : (TARGET_AVX512VL))))
    9270              :                     return -1;
    9271              :                   return 8224; /* *avx512vl_testmv8si3_zext */
    9272              : 
    9273              :                 case 8:
    9274              :                   if (!(
    9275              : #line 19413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9276              : (TARGET_AVX512BW
    9277              :    && (4
    9278              :        > GET_MODE_SIZE (QImode))) && ((
    9279              : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9280              : (TARGET_AVX512BW) && 
    9281              : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9282              : (TARGET_AVX512VL)) && 
    9283              : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9284              : (TARGET_AVX512VL))))
    9285              :                     return -1;
    9286              :                   return 8227; /* *avx512vl_testmv4si3_zext */
    9287              : 
    9288              :                 case 9:
    9289              :                   if (!(
    9290              : #line 19413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9291              : (TARGET_AVX512BW
    9292              :    && (4
    9293              :        > GET_MODE_SIZE (QImode))) && 
    9294              : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9295              : (TARGET_AVX512BW)))
    9296              :                     return -1;
    9297              :                   return 8230; /* *avx512f_testmv8di3_zext */
    9298              : 
    9299              :                 case 10:
    9300              :                   if (!(
    9301              : #line 19413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9302              : (TARGET_AVX512BW
    9303              :    && (4
    9304              :        > GET_MODE_SIZE (QImode))) && ((
    9305              : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9306              : (TARGET_AVX512BW) && 
    9307              : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9308              : (TARGET_AVX512VL)) && 
    9309              : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9310              : (TARGET_AVX512VL))))
    9311              :                     return -1;
    9312              :                   return 8233; /* *avx512vl_testmv4di3_zext */
    9313              : 
    9314              :                 case 11:
    9315              :                   if (!(
    9316              : #line 19413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9317              : (TARGET_AVX512BW
    9318              :    && (4
    9319              :        > GET_MODE_SIZE (QImode))) && ((
    9320              : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9321              : (TARGET_AVX512BW) && 
    9322              : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9323              : (TARGET_AVX512VL)) && 
    9324              : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9325              : (TARGET_AVX512VL))))
    9326              :                     return -1;
    9327              :                   return 8236; /* *avx512vl_testmv2di3_zext */
    9328              : 
    9329              :                 default:
    9330              :                   return -1;
    9331              :                 }
    9332              : 
    9333              :             default:
    9334              :               return -1;
    9335              :             }
    9336              : 
    9337              :         case 160:
    9338              :           switch (GET_MODE (operands[0]))
    9339              :             {
    9340              :             case E_DImode:
    9341              :               switch (pattern880 (x2, 
    9342              : E_DImode))
    9343              :                 {
    9344              :                 case 0:
    9345              :                   if (!(
    9346              : #line 19443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9347              : (TARGET_AVX512BW
    9348              :    && (8
    9349              :        > GET_MODE_SIZE (DImode))) && 
    9350              : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9351              : (TARGET_AVX512BW)))
    9352              :                     return -1;
    9353              :                   return 8274; /* *avx512bw_testnmv64qi3_zext */
    9354              : 
    9355              :                 case 1:
    9356              :                   if (!(
    9357              : #line 19443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9358              : (TARGET_AVX512BW
    9359              :    && (8
    9360              :        > GET_MODE_SIZE (SImode))) && ((
    9361              : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9362              : (TARGET_AVX512BW) && 
    9363              : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9364              : (TARGET_AVX512VL && TARGET_AVX512BW)) && 
    9365              : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9366              : (TARGET_AVX512VL && TARGET_AVX512BW))))
    9367              :                     return -1;
    9368              :                   return 8277; /* *avx512vl_testnmv32qi3_zext */
    9369              : 
    9370              :                 case 2:
    9371              :                   if (!(
    9372              : #line 19443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9373              : (TARGET_AVX512BW
    9374              :    && (8
    9375              :        > GET_MODE_SIZE (SImode))) && 
    9376              : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9377              : (TARGET_AVX512BW)))
    9378              :                     return -1;
    9379              :                   return 8283; /* *avx512bw_testnmv32hi3_zext */
    9380              : 
    9381              :                 case 3:
    9382              :                   if (!(
    9383              : #line 19443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9384              : (TARGET_AVX512BW
    9385              :    && (8
    9386              :        > GET_MODE_SIZE (HImode))) && ((
    9387              : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9388              : (TARGET_AVX512BW) && 
    9389              : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9390              : (TARGET_AVX512VL && TARGET_AVX512BW)) && 
    9391              : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9392              : (TARGET_AVX512VL && TARGET_AVX512BW))))
    9393              :                     return -1;
    9394              :                   return 8280; /* *avx512vl_testnmv16qi3_zext */
    9395              : 
    9396              :                 case 4:
    9397              :                   if (!(
    9398              : #line 19443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9399              : (TARGET_AVX512BW
    9400              :    && (8
    9401              :        > GET_MODE_SIZE (HImode))) && ((
    9402              : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9403              : (TARGET_AVX512BW) && 
    9404              : #line 504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9405              : (TARGET_AVX512VL && TARGET_AVX512BW)) && 
    9406              : #line 504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9407              : (TARGET_AVX512VL && TARGET_AVX512BW))))
    9408              :                     return -1;
    9409              :                   return 8286; /* *avx512vl_testnmv16hi3_zext */
    9410              : 
    9411              :                 case 5:
    9412              :                   if (!(
    9413              : #line 19443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9414              : (TARGET_AVX512BW
    9415              :    && (8
    9416              :        > GET_MODE_SIZE (HImode))) && 
    9417              : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9418              : (TARGET_AVX512BW)))
    9419              :                     return -1;
    9420              :                   return 8292; /* *avx512f_testnmv16si3_zext */
    9421              : 
    9422              :                 case 6:
    9423              :                   if (!(
    9424              : #line 19443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9425              : (TARGET_AVX512BW
    9426              :    && (8
    9427              :        > GET_MODE_SIZE (QImode))) && ((
    9428              : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9429              : (TARGET_AVX512BW) && 
    9430              : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9431              : (TARGET_AVX512VL && TARGET_AVX512BW)) && 
    9432              : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9433              : (TARGET_AVX512VL && TARGET_AVX512BW))))
    9434              :                     return -1;
    9435              :                   return 8289; /* *avx512vl_testnmv8hi3_zext */
    9436              : 
    9437              :                 case 7:
    9438              :                   if (!(
    9439              : #line 19443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9440              : (TARGET_AVX512BW
    9441              :    && (8
    9442              :        > GET_MODE_SIZE (QImode))) && ((
    9443              : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9444              : (TARGET_AVX512BW) && 
    9445              : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9446              : (TARGET_AVX512VL)) && 
    9447              : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9448              : (TARGET_AVX512VL))))
    9449              :                     return -1;
    9450              :                   return 8295; /* *avx512vl_testnmv8si3_zext */
    9451              : 
    9452              :                 case 8:
    9453              :                   if (!(
    9454              : #line 19443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9455              : (TARGET_AVX512BW
    9456              :    && (8
    9457              :        > GET_MODE_SIZE (QImode))) && ((
    9458              : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9459              : (TARGET_AVX512BW) && 
    9460              : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9461              : (TARGET_AVX512VL)) && 
    9462              : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9463              : (TARGET_AVX512VL))))
    9464              :                     return -1;
    9465              :                   return 8298; /* *avx512vl_testnmv4si3_zext */
    9466              : 
    9467              :                 case 9:
    9468              :                   if (!(
    9469              : #line 19443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9470              : (TARGET_AVX512BW
    9471              :    && (8
    9472              :        > GET_MODE_SIZE (QImode))) && 
    9473              : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9474              : (TARGET_AVX512BW)))
    9475              :                     return -1;
    9476              :                   return 8301; /* *avx512f_testnmv8di3_zext */
    9477              : 
    9478              :                 case 10:
    9479              :                   if (!(
    9480              : #line 19443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9481              : (TARGET_AVX512BW
    9482              :    && (8
    9483              :        > GET_MODE_SIZE (QImode))) && ((
    9484              : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9485              : (TARGET_AVX512BW) && 
    9486              : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9487              : (TARGET_AVX512VL)) && 
    9488              : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9489              : (TARGET_AVX512VL))))
    9490              :                     return -1;
    9491              :                   return 8304; /* *avx512vl_testnmv4di3_zext */
    9492              : 
    9493              :                 case 11:
    9494              :                   if (!(
    9495              : #line 19443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9496              : (TARGET_AVX512BW
    9497              :    && (8
    9498              :        > GET_MODE_SIZE (QImode))) && ((
    9499              : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9500              : (TARGET_AVX512BW) && 
    9501              : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9502              : (TARGET_AVX512VL)) && 
    9503              : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9504              : (TARGET_AVX512VL))))
    9505              :                     return -1;
    9506              :                   return 8307; /* *avx512vl_testnmv2di3_zext */
    9507              : 
    9508              :                 default:
    9509              :                   return -1;
    9510              :                 }
    9511              : 
    9512              :             case E_SImode:
    9513              :               switch (pattern880 (x2, 
    9514              : E_SImode))
    9515              :                 {
    9516              :                 case 0:
    9517              :                   if (!(
    9518              : #line 19443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9519              : (TARGET_AVX512BW
    9520              :    && (4
    9521              :        > GET_MODE_SIZE (DImode))) && 
    9522              : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9523              : (TARGET_AVX512BW)))
    9524              :                     return -1;
    9525              :                   return 8275; /* *avx512bw_testnmv64qi3_zext */
    9526              : 
    9527              :                 case 1:
    9528              :                   if (!(
    9529              : #line 19443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9530              : (TARGET_AVX512BW
    9531              :    && (4
    9532              :        > GET_MODE_SIZE (SImode))) && ((
    9533              : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9534              : (TARGET_AVX512BW) && 
    9535              : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9536              : (TARGET_AVX512VL && TARGET_AVX512BW)) && 
    9537              : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9538              : (TARGET_AVX512VL && TARGET_AVX512BW))))
    9539              :                     return -1;
    9540              :                   return 8278; /* *avx512vl_testnmv32qi3_zext */
    9541              : 
    9542              :                 case 2:
    9543              :                   if (!(
    9544              : #line 19443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9545              : (TARGET_AVX512BW
    9546              :    && (4
    9547              :        > GET_MODE_SIZE (SImode))) && 
    9548              : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9549              : (TARGET_AVX512BW)))
    9550              :                     return -1;
    9551              :                   return 8284; /* *avx512bw_testnmv32hi3_zext */
    9552              : 
    9553              :                 case 3:
    9554              :                   if (!(
    9555              : #line 19443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9556              : (TARGET_AVX512BW
    9557              :    && (4
    9558              :        > GET_MODE_SIZE (HImode))) && ((
    9559              : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9560              : (TARGET_AVX512BW) && 
    9561              : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9562              : (TARGET_AVX512VL && TARGET_AVX512BW)) && 
    9563              : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9564              : (TARGET_AVX512VL && TARGET_AVX512BW))))
    9565              :                     return -1;
    9566              :                   return 8281; /* *avx512vl_testnmv16qi3_zext */
    9567              : 
    9568              :                 case 4:
    9569              :                   if (!(
    9570              : #line 19443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9571              : (TARGET_AVX512BW
    9572              :    && (4
    9573              :        > GET_MODE_SIZE (HImode))) && ((
    9574              : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9575              : (TARGET_AVX512BW) && 
    9576              : #line 504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9577              : (TARGET_AVX512VL && TARGET_AVX512BW)) && 
    9578              : #line 504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9579              : (TARGET_AVX512VL && TARGET_AVX512BW))))
    9580              :                     return -1;
    9581              :                   return 8287; /* *avx512vl_testnmv16hi3_zext */
    9582              : 
    9583              :                 case 5:
    9584              :                   if (!(
    9585              : #line 19443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9586              : (TARGET_AVX512BW
    9587              :    && (4
    9588              :        > GET_MODE_SIZE (HImode))) && 
    9589              : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9590              : (TARGET_AVX512BW)))
    9591              :                     return -1;
    9592              :                   return 8293; /* *avx512f_testnmv16si3_zext */
    9593              : 
    9594              :                 case 6:
    9595              :                   if (!(
    9596              : #line 19443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9597              : (TARGET_AVX512BW
    9598              :    && (4
    9599              :        > GET_MODE_SIZE (QImode))) && ((
    9600              : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9601              : (TARGET_AVX512BW) && 
    9602              : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9603              : (TARGET_AVX512VL && TARGET_AVX512BW)) && 
    9604              : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9605              : (TARGET_AVX512VL && TARGET_AVX512BW))))
    9606              :                     return -1;
    9607              :                   return 8290; /* *avx512vl_testnmv8hi3_zext */
    9608              : 
    9609              :                 case 7:
    9610              :                   if (!(
    9611              : #line 19443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9612              : (TARGET_AVX512BW
    9613              :    && (4
    9614              :        > GET_MODE_SIZE (QImode))) && ((
    9615              : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9616              : (TARGET_AVX512BW) && 
    9617              : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9618              : (TARGET_AVX512VL)) && 
    9619              : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9620              : (TARGET_AVX512VL))))
    9621              :                     return -1;
    9622              :                   return 8296; /* *avx512vl_testnmv8si3_zext */
    9623              : 
    9624              :                 case 8:
    9625              :                   if (!(
    9626              : #line 19443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9627              : (TARGET_AVX512BW
    9628              :    && (4
    9629              :        > GET_MODE_SIZE (QImode))) && ((
    9630              : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9631              : (TARGET_AVX512BW) && 
    9632              : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9633              : (TARGET_AVX512VL)) && 
    9634              : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9635              : (TARGET_AVX512VL))))
    9636              :                     return -1;
    9637              :                   return 8299; /* *avx512vl_testnmv4si3_zext */
    9638              : 
    9639              :                 case 9:
    9640              :                   if (!(
    9641              : #line 19443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9642              : (TARGET_AVX512BW
    9643              :    && (4
    9644              :        > GET_MODE_SIZE (QImode))) && 
    9645              : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9646              : (TARGET_AVX512BW)))
    9647              :                     return -1;
    9648              :                   return 8302; /* *avx512f_testnmv8di3_zext */
    9649              : 
    9650              :                 case 10:
    9651              :                   if (!(
    9652              : #line 19443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9653              : (TARGET_AVX512BW
    9654              :    && (4
    9655              :        > GET_MODE_SIZE (QImode))) && ((
    9656              : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9657              : (TARGET_AVX512BW) && 
    9658              : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9659              : (TARGET_AVX512VL)) && 
    9660              : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9661              : (TARGET_AVX512VL))))
    9662              :                     return -1;
    9663              :                   return 8305; /* *avx512vl_testnmv4di3_zext */
    9664              : 
    9665              :                 case 11:
    9666              :                   if (!(
    9667              : #line 19443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9668              : (TARGET_AVX512BW
    9669              :    && (4
    9670              :        > GET_MODE_SIZE (QImode))) && ((
    9671              : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9672              : (TARGET_AVX512BW) && 
    9673              : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9674              : (TARGET_AVX512VL)) && 
    9675              : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9676              : (TARGET_AVX512VL))))
    9677              :                     return -1;
    9678              :                   return 8308; /* *avx512vl_testnmv2di3_zext */
    9679              : 
    9680              :                 default:
    9681              :                   return -1;
    9682              :                 }
    9683              : 
    9684              :             default:
    9685              :               return -1;
    9686              :             }
    9687              : 
    9688              :         default:
    9689              :           return -1;
    9690              :         }
    9691              : 
    9692              :     case 3:
    9693              :       x4 = XVECEXP (x3, 0, 0);
    9694              :       operands[1] = x4;
    9695              :       x5 = XVECEXP (x3, 0, 1);
    9696              :       operands[2] = x5;
    9697              :       x6 = XVECEXP (x3, 0, 2);
    9698              :       operands[3] = x6;
    9699              :       switch (XINT (x3, 1))
    9700              :         {
    9701              :         case 60:
    9702              :           switch (GET_MODE (operands[0]))
    9703              :             {
    9704              :             case E_SImode:
    9705              :               switch (pattern987 (x2, 
    9706              : E_SImode))
    9707              :                 {
    9708              :                 case 0:
    9709              :                   if (!
    9710              : #line 4638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9711              : (TARGET_AVX512F
    9712              :    && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
    9713              :    && (GET_MODE_NUNITS (V16SImode)
    9714              :       < GET_MODE_PRECISION (SImode))))
    9715              :                     return -1;
    9716              :                   return 3363; /* *avx512f_cmpv16si3_zero_extendsi */
    9717              : 
    9718              :                 case 1:
    9719              :                   if (!(
    9720              : #line 4638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9721              : (TARGET_AVX512F
    9722              :    && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
    9723              :    && (GET_MODE_NUNITS (V16HFmode)
    9724              :       < GET_MODE_PRECISION (SImode))) && 
    9725              : #line 321 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9726              : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
    9727              :                     return -1;
    9728              :                   return 3384; /* *avx512vl_cmpv16hf3_zero_extendsi */
    9729              : 
    9730              :                 case 2:
    9731              :                   if (!
    9732              : #line 4638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9733              : (TARGET_AVX512F
    9734              :    && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
    9735              :    && (GET_MODE_NUNITS (V16SFmode)
    9736              :       < GET_MODE_PRECISION (SImode))))
    9737              :                     return -1;
    9738              :                   return 3390; /* *avx512f_cmpv16sf3_zero_extendsi */
    9739              : 
    9740              :                 case 3:
    9741              :                   if (!(
    9742              : #line 4830 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9743              : (TARGET_AVX512BW
    9744              :    && (GET_MODE_NUNITS (V16QImode)
    9745              :        < GET_MODE_PRECISION (SImode))) && 
    9746              : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9747              : (TARGET_AVX512VL)))
    9748              :                     return -1;
    9749              :                   return 3498; /* *avx512vl_cmpv16qi3_zero_extendsi */
    9750              : 
    9751              :                 case 4:
    9752              :                   if (!(
    9753              : #line 4830 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9754              : (TARGET_AVX512BW
    9755              :    && (GET_MODE_NUNITS (V16HImode)
    9756              :        < GET_MODE_PRECISION (SImode))) && 
    9757              : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9758              : (TARGET_AVX512VL)))
    9759              :                     return -1;
    9760              :                   return 3507; /* *avx512vl_cmpv16hi3_zero_extendsi */
    9761              : 
    9762              :                 case 5:
    9763              :                   if (!(
    9764              : #line 4638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9765              : (TARGET_AVX512F
    9766              :    && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
    9767              :    && (GET_MODE_NUNITS (V8SImode)
    9768              :       < GET_MODE_PRECISION (SImode))) && 
    9769              : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9770              : (TARGET_AVX512VL)))
    9771              :                     return -1;
    9772              :                   return 3366; /* *avx512vl_cmpv8si3_zero_extendsi */
    9773              : 
    9774              :                 case 6:
    9775              :                   if (!(
    9776              : #line 4638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9777              : (TARGET_AVX512F
    9778              :    && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
    9779              :    && (GET_MODE_NUNITS (V4SImode)
    9780              :       < GET_MODE_PRECISION (SImode))) && 
    9781              : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9782              : (TARGET_AVX512VL)))
    9783              :                     return -1;
    9784              :                   return 3369; /* *avx512vl_cmpv4si3_zero_extendsi */
    9785              : 
    9786              :                 case 7:
    9787              :                   if (!
    9788              : #line 4638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9789              : (TARGET_AVX512F
    9790              :    && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
    9791              :    && (GET_MODE_NUNITS (V8DImode)
    9792              :       < GET_MODE_PRECISION (SImode))))
    9793              :                     return -1;
    9794              :                   return 3372; /* *avx512f_cmpv8di3_zero_extendsi */
    9795              : 
    9796              :                 case 8:
    9797              :                   if (!(
    9798              : #line 4638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9799              : (TARGET_AVX512F
    9800              :    && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
    9801              :    && (GET_MODE_NUNITS (V4DImode)
    9802              :       < GET_MODE_PRECISION (SImode))) && 
    9803              : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9804              : (TARGET_AVX512VL)))
    9805              :                     return -1;
    9806              :                   return 3375; /* *avx512vl_cmpv4di3_zero_extendsi */
    9807              : 
    9808              :                 case 9:
    9809              :                   if (!(
    9810              : #line 4638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9811              : (TARGET_AVX512F
    9812              :    && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
    9813              :    && (GET_MODE_NUNITS (V2DImode)
    9814              :       < GET_MODE_PRECISION (SImode))) && 
    9815              : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9816              : (TARGET_AVX512VL)))
    9817              :                     return -1;
    9818              :                   return 3378; /* *avx512vl_cmpv2di3_zero_extendsi */
    9819              : 
    9820              :                 case 10:
    9821              :                   if (!(
    9822              : #line 4638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9823              : (TARGET_AVX512F
    9824              :    && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
    9825              :    && (GET_MODE_NUNITS (V8HFmode)
    9826              :       < GET_MODE_PRECISION (SImode))) && 
    9827              : #line 322 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9828              : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
    9829              :                     return -1;
    9830              :                   return 3387; /* *avx512fp16_cmpv8hf3_zero_extendsi */
    9831              : 
    9832              :                 case 11:
    9833              :                   if (!(
    9834              : #line 4638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9835              : (TARGET_AVX512F
    9836              :    && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
    9837              :    && (GET_MODE_NUNITS (V8SFmode)
    9838              :       < GET_MODE_PRECISION (SImode))) && 
    9839              : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9840              : (TARGET_AVX512VL)))
    9841              :                     return -1;
    9842              :                   return 3393; /* *avx512vl_cmpv8sf3_zero_extendsi */
    9843              : 
    9844              :                 case 12:
    9845              :                   if (!(
    9846              : #line 4638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9847              : (TARGET_AVX512F
    9848              :    && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
    9849              :    && (GET_MODE_NUNITS (V4SFmode)
    9850              :       < GET_MODE_PRECISION (SImode))) && 
    9851              : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9852              : (TARGET_AVX512VL)))
    9853              :                     return -1;
    9854              :                   return 3396; /* *avx512vl_cmpv4sf3_zero_extendsi */
    9855              : 
    9856              :                 case 13:
    9857              :                   if (!
    9858              : #line 4638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9859              : (TARGET_AVX512F
    9860              :    && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
    9861              :    && (GET_MODE_NUNITS (V8DFmode)
    9862              :       < GET_MODE_PRECISION (SImode))))
    9863              :                     return -1;
    9864              :                   return 3399; /* *avx512f_cmpv8df3_zero_extendsi */
    9865              : 
    9866              :                 case 14:
    9867              :                   if (!(
    9868              : #line 4638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9869              : (TARGET_AVX512F
    9870              :    && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
    9871              :    && (GET_MODE_NUNITS (V4DFmode)
    9872              :       < GET_MODE_PRECISION (SImode))) && 
    9873              : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9874              : (TARGET_AVX512VL)))
    9875              :                     return -1;
    9876              :                   return 3402; /* *avx512vl_cmpv4df3_zero_extendsi */
    9877              : 
    9878              :                 case 15:
    9879              :                   if (!(
    9880              : #line 4638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9881              : (TARGET_AVX512F
    9882              :    && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
    9883              :    && (GET_MODE_NUNITS (V2DFmode)
    9884              :       < GET_MODE_PRECISION (SImode))) && 
    9885              : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9886              : (TARGET_AVX512VL)))
    9887              :                     return -1;
    9888              :                   return 3405; /* *avx512vl_cmpv2df3_zero_extendsi */
    9889              : 
    9890              :                 case 16:
    9891              :                   if (!(
    9892              : #line 4830 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9893              : (TARGET_AVX512BW
    9894              :    && (GET_MODE_NUNITS (V8HImode)
    9895              :        < GET_MODE_PRECISION (SImode))) && 
    9896              : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9897              : (TARGET_AVX512VL)))
    9898              :                     return -1;
    9899              :                   return 3510; /* *avx512vl_cmpv8hi3_zero_extendsi */
    9900              : 
    9901              :                 case 17:
    9902              :                   if (!(
    9903              : #line 4638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9904              : (TARGET_AVX512F
    9905              :    && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
    9906              :    && (GET_MODE_NUNITS (V32HFmode)
    9907              :       < GET_MODE_PRECISION (SImode))) && 
    9908              : #line 320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9909              : (TARGET_AVX512FP16)))
    9910              :                     return -1;
    9911              :                   return 3381; /* *avx512bw_cmpv32hf3_zero_extendsi */
    9912              : 
    9913              :                 case 18:
    9914              :                   if (!(
    9915              : #line 4830 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9916              : (TARGET_AVX512BW
    9917              :    && (GET_MODE_NUNITS (V32QImode)
    9918              :        < GET_MODE_PRECISION (SImode))) && 
    9919              : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9920              : (TARGET_AVX512VL)))
    9921              :                     return -1;
    9922              :                   return 3501; /* *avx512vl_cmpv32qi3_zero_extendsi */
    9923              : 
    9924              :                 case 19:
    9925              :                   if (!
    9926              : #line 4830 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9927              : (TARGET_AVX512BW
    9928              :    && (GET_MODE_NUNITS (V32HImode)
    9929              :        < GET_MODE_PRECISION (SImode))))
    9930              :                     return -1;
    9931              :                   return 3504; /* *avx512bw_cmpv32hi3_zero_extendsi */
    9932              : 
    9933              :                 case 20:
    9934              :                   if (!
    9935              : #line 4830 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9936              : (TARGET_AVX512BW
    9937              :    && (GET_MODE_NUNITS (V64QImode)
    9938              :        < GET_MODE_PRECISION (SImode))))
    9939              :                     return -1;
    9940              :                   return 3495; /* *avx512bw_cmpv64qi3_zero_extendsi */
    9941              : 
    9942              :                 default:
    9943              :                   return -1;
    9944              :                 }
    9945              : 
    9946              :             case E_DImode:
    9947              :               switch (pattern987 (x2, 
    9948              : E_DImode))
    9949              :                 {
    9950              :                 case 0:
    9951              :                   if (!
    9952              : #line 4638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9953              : (TARGET_AVX512F
    9954              :    && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
    9955              :    && (GET_MODE_NUNITS (V16SImode)
    9956              :       < GET_MODE_PRECISION (DImode))))
    9957              :                     return -1;
    9958              :                   return 3364; /* *avx512f_cmpv16si3_zero_extenddi */
    9959              : 
    9960              :                 case 1:
    9961              :                   if (!(
    9962              : #line 4638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9963              : (TARGET_AVX512F
    9964              :    && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
    9965              :    && (GET_MODE_NUNITS (V16HFmode)
    9966              :       < GET_MODE_PRECISION (DImode))) && 
    9967              : #line 321 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9968              : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
    9969              :                     return -1;
    9970              :                   return 3385; /* *avx512vl_cmpv16hf3_zero_extenddi */
    9971              : 
    9972              :                 case 2:
    9973              :                   if (!
    9974              : #line 4638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9975              : (TARGET_AVX512F
    9976              :    && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
    9977              :    && (GET_MODE_NUNITS (V16SFmode)
    9978              :       < GET_MODE_PRECISION (DImode))))
    9979              :                     return -1;
    9980              :                   return 3391; /* *avx512f_cmpv16sf3_zero_extenddi */
    9981              : 
    9982              :                 case 3:
    9983              :                   if (!(
    9984              : #line 4830 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9985              : (TARGET_AVX512BW
    9986              :    && (GET_MODE_NUNITS (V16QImode)
    9987              :        < GET_MODE_PRECISION (DImode))) && 
    9988              : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9989              : (TARGET_AVX512VL)))
    9990              :                     return -1;
    9991              :                   return 3499; /* *avx512vl_cmpv16qi3_zero_extenddi */
    9992              : 
    9993              :                 case 4:
    9994              :                   if (!(
    9995              : #line 4830 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9996              : (TARGET_AVX512BW
    9997              :    && (GET_MODE_NUNITS (V16HImode)
    9998              :        < GET_MODE_PRECISION (DImode))) && 
    9999              : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10000              : (TARGET_AVX512VL)))
   10001              :                     return -1;
   10002              :                   return 3508; /* *avx512vl_cmpv16hi3_zero_extenddi */
   10003              : 
   10004              :                 case 5:
   10005              :                   if (!(
   10006              : #line 4638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10007              : (TARGET_AVX512F
   10008              :    && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
   10009              :    && (GET_MODE_NUNITS (V8SImode)
   10010              :       < GET_MODE_PRECISION (DImode))) && 
   10011              : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10012              : (TARGET_AVX512VL)))
   10013              :                     return -1;
   10014              :                   return 3367; /* *avx512vl_cmpv8si3_zero_extenddi */
   10015              : 
   10016              :                 case 6:
   10017              :                   if (!(
   10018              : #line 4638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10019              : (TARGET_AVX512F
   10020              :    && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
   10021              :    && (GET_MODE_NUNITS (V4SImode)
   10022              :       < GET_MODE_PRECISION (DImode))) && 
   10023              : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10024              : (TARGET_AVX512VL)))
   10025              :                     return -1;
   10026              :                   return 3370; /* *avx512vl_cmpv4si3_zero_extenddi */
   10027              : 
   10028              :                 case 7:
   10029              :                   if (!
   10030              : #line 4638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10031              : (TARGET_AVX512F
   10032              :    && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
   10033              :    && (GET_MODE_NUNITS (V8DImode)
   10034              :       < GET_MODE_PRECISION (DImode))))
   10035              :                     return -1;
   10036              :                   return 3373; /* *avx512f_cmpv8di3_zero_extenddi */
   10037              : 
   10038              :                 case 8:
   10039              :                   if (!(
   10040              : #line 4638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10041              : (TARGET_AVX512F
   10042              :    && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
   10043              :    && (GET_MODE_NUNITS (V4DImode)
   10044              :       < GET_MODE_PRECISION (DImode))) && 
   10045              : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10046              : (TARGET_AVX512VL)))
   10047              :                     return -1;
   10048              :                   return 3376; /* *avx512vl_cmpv4di3_zero_extenddi */
   10049              : 
   10050              :                 case 9:
   10051              :                   if (!(
   10052              : #line 4638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10053              : (TARGET_AVX512F
   10054              :    && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
   10055              :    && (GET_MODE_NUNITS (V2DImode)
   10056              :       < GET_MODE_PRECISION (DImode))) && 
   10057              : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10058              : (TARGET_AVX512VL)))
   10059              :                     return -1;
   10060              :                   return 3379; /* *avx512vl_cmpv2di3_zero_extenddi */
   10061              : 
   10062              :                 case 10:
   10063              :                   if (!(
   10064              : #line 4638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10065              : (TARGET_AVX512F
   10066              :    && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
   10067              :    && (GET_MODE_NUNITS (V8HFmode)
   10068              :       < GET_MODE_PRECISION (DImode))) && 
   10069              : #line 322 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10070              : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
   10071              :                     return -1;
   10072              :                   return 3388; /* *avx512fp16_cmpv8hf3_zero_extenddi */
   10073              : 
   10074              :                 case 11:
   10075              :                   if (!(
   10076              : #line 4638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10077              : (TARGET_AVX512F
   10078              :    && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
   10079              :    && (GET_MODE_NUNITS (V8SFmode)
   10080              :       < GET_MODE_PRECISION (DImode))) && 
   10081              : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10082              : (TARGET_AVX512VL)))
   10083              :                     return -1;
   10084              :                   return 3394; /* *avx512vl_cmpv8sf3_zero_extenddi */
   10085              : 
   10086              :                 case 12:
   10087              :                   if (!(
   10088              : #line 4638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10089              : (TARGET_AVX512F
   10090              :    && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
   10091              :    && (GET_MODE_NUNITS (V4SFmode)
   10092              :       < GET_MODE_PRECISION (DImode))) && 
   10093              : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10094              : (TARGET_AVX512VL)))
   10095              :                     return -1;
   10096              :                   return 3397; /* *avx512vl_cmpv4sf3_zero_extenddi */
   10097              : 
   10098              :                 case 13:
   10099              :                   if (!
   10100              : #line 4638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10101              : (TARGET_AVX512F
   10102              :    && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
   10103              :    && (GET_MODE_NUNITS (V8DFmode)
   10104              :       < GET_MODE_PRECISION (DImode))))
   10105              :                     return -1;
   10106              :                   return 3400; /* *avx512f_cmpv8df3_zero_extenddi */
   10107              : 
   10108              :                 case 14:
   10109              :                   if (!(
   10110              : #line 4638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10111              : (TARGET_AVX512F
   10112              :    && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
   10113              :    && (GET_MODE_NUNITS (V4DFmode)
   10114              :       < GET_MODE_PRECISION (DImode))) && 
   10115              : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10116              : (TARGET_AVX512VL)))
   10117              :                     return -1;
   10118              :                   return 3403; /* *avx512vl_cmpv4df3_zero_extenddi */
   10119              : 
   10120              :                 case 15:
   10121              :                   if (!(
   10122              : #line 4638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10123              : (TARGET_AVX512F
   10124              :    && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
   10125              :    && (GET_MODE_NUNITS (V2DFmode)
   10126              :       < GET_MODE_PRECISION (DImode))) && 
   10127              : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10128              : (TARGET_AVX512VL)))
   10129              :                     return -1;
   10130              :                   return 3406; /* *avx512vl_cmpv2df3_zero_extenddi */
   10131              : 
   10132              :                 case 16:
   10133              :                   if (!(
   10134              : #line 4830 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10135              : (TARGET_AVX512BW
   10136              :    && (GET_MODE_NUNITS (V8HImode)
   10137              :        < GET_MODE_PRECISION (DImode))) && 
   10138              : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10139              : (TARGET_AVX512VL)))
   10140              :                     return -1;
   10141              :                   return 3511; /* *avx512vl_cmpv8hi3_zero_extenddi */
   10142              : 
   10143              :                 case 17:
   10144              :                   if (!(
   10145              : #line 4638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10146              : (TARGET_AVX512F
   10147              :    && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
   10148              :    && (GET_MODE_NUNITS (V32HFmode)
   10149              :       < GET_MODE_PRECISION (DImode))) && 
   10150              : #line 320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10151              : (TARGET_AVX512FP16)))
   10152              :                     return -1;
   10153              :                   return 3382; /* *avx512bw_cmpv32hf3_zero_extenddi */
   10154              : 
   10155              :                 case 18:
   10156              :                   if (!(
   10157              : #line 4830 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10158              : (TARGET_AVX512BW
   10159              :    && (GET_MODE_NUNITS (V32QImode)
   10160              :        < GET_MODE_PRECISION (DImode))) && 
   10161              : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10162              : (TARGET_AVX512VL)))
   10163              :                     return -1;
   10164              :                   return 3502; /* *avx512vl_cmpv32qi3_zero_extenddi */
   10165              : 
   10166              :                 case 19:
   10167              :                   if (!
   10168              : #line 4830 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10169              : (TARGET_AVX512BW
   10170              :    && (GET_MODE_NUNITS (V32HImode)
   10171              :        < GET_MODE_PRECISION (DImode))))
   10172              :                     return -1;
   10173              :                   return 3505; /* *avx512bw_cmpv32hi3_zero_extenddi */
   10174              : 
   10175              :                 case 20:
   10176              :                   if (!
   10177              : #line 4830 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10178              : (TARGET_AVX512BW
   10179              :    && (GET_MODE_NUNITS (V64QImode)
   10180              :        < GET_MODE_PRECISION (DImode))))
   10181              :                     return -1;
   10182              :                   return 3496; /* *avx512bw_cmpv64qi3_zero_extenddi */
   10183              : 
   10184              :                 default:
   10185              :                   return -1;
   10186              :                 }
   10187              : 
   10188              :             default:
   10189              :               return -1;
   10190              :             }
   10191              : 
   10192              :         case 158:
   10193              :           if (!const_0_to_7_operand (operands[3], E_SImode))
   10194              :             return -1;
   10195              :           switch (GET_MODE (operands[0]))
   10196              :             {
   10197              :             case E_SImode:
   10198              :               switch (pattern1100 (x2, 
   10199              : E_SImode))
   10200              :                 {
   10201              :                 case 0:
   10202              :                   if (!
   10203              : #line 4965 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10204              : (TARGET_AVX512BW
   10205              :   && (GET_MODE_NUNITS (V64QImode)
   10206              :       < GET_MODE_PRECISION (SImode))))
   10207              :                     return -1;
   10208              :                   return 3603; /* *avx512bw_ucmpv64qi3_zero_extendsi */
   10209              : 
   10210              :                 case 1:
   10211              :                   if (!(
   10212              : #line 4965 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10213              : (TARGET_AVX512BW
   10214              :   && (GET_MODE_NUNITS (V16QImode)
   10215              :       < GET_MODE_PRECISION (SImode))) && 
   10216              : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10217              : (TARGET_AVX512VL)))
   10218              :                     return -1;
   10219              :                   return 3606; /* *avx512vl_ucmpv16qi3_zero_extendsi */
   10220              : 
   10221              :                 case 2:
   10222              :                   if (!(
   10223              : #line 4965 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10224              : (TARGET_AVX512BW
   10225              :   && (GET_MODE_NUNITS (V16HImode)
   10226              :       < GET_MODE_PRECISION (SImode))) && 
   10227              : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10228              : (TARGET_AVX512VL)))
   10229              :                     return -1;
   10230              :                   return 3615; /* *avx512vl_ucmpv16hi3_zero_extendsi */
   10231              : 
   10232              :                 case 3:
   10233              :                   if (!
   10234              : #line 5054 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10235              : (TARGET_AVX512F
   10236              :    && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
   10237              :    && (GET_MODE_NUNITS (V16SImode)
   10238              :       < GET_MODE_PRECISION (SImode))))
   10239              :                     return -1;
   10240              :                   return 3680; /* *avx512f_ucmpv16si3_zero_extendsi */
   10241              : 
   10242              :                 case 4:
   10243              :                   if (!(
   10244              : #line 4965 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10245              : (TARGET_AVX512BW
   10246              :   && (GET_MODE_NUNITS (V32QImode)
   10247              :       < GET_MODE_PRECISION (SImode))) && 
   10248              : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10249              : (TARGET_AVX512VL)))
   10250              :                     return -1;
   10251              :                   return 3609; /* *avx512vl_ucmpv32qi3_zero_extendsi */
   10252              : 
   10253              :                 case 5:
   10254              :                   if (!
   10255              : #line 4965 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10256              : (TARGET_AVX512BW
   10257              :   && (GET_MODE_NUNITS (V32HImode)
   10258              :       < GET_MODE_PRECISION (SImode))))
   10259              :                     return -1;
   10260              :                   return 3612; /* *avx512bw_ucmpv32hi3_zero_extendsi */
   10261              : 
   10262              :                 case 6:
   10263              :                   if (!(
   10264              : #line 4965 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10265              : (TARGET_AVX512BW
   10266              :   && (GET_MODE_NUNITS (V8HImode)
   10267              :       < GET_MODE_PRECISION (SImode))) && 
   10268              : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10269              : (TARGET_AVX512VL)))
   10270              :                     return -1;
   10271              :                   return 3618; /* *avx512vl_ucmpv8hi3_zero_extendsi */
   10272              : 
   10273              :                 case 7:
   10274              :                   if (!(
   10275              : #line 5054 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10276              : (TARGET_AVX512F
   10277              :    && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
   10278              :    && (GET_MODE_NUNITS (V8SImode)
   10279              :       < GET_MODE_PRECISION (SImode))) && 
   10280              : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10281              : (TARGET_AVX512VL)))
   10282              :                     return -1;
   10283              :                   return 3681; /* *avx512vl_ucmpv8si3_zero_extendsi */
   10284              : 
   10285              :                 case 8:
   10286              :                   if (!(
   10287              : #line 5054 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10288              : (TARGET_AVX512F
   10289              :    && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
   10290              :    && (GET_MODE_NUNITS (V4SImode)
   10291              :       < GET_MODE_PRECISION (SImode))) && 
   10292              : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10293              : (TARGET_AVX512VL)))
   10294              :                     return -1;
   10295              :                   return 3682; /* *avx512vl_ucmpv4si3_zero_extendsi */
   10296              : 
   10297              :                 case 9:
   10298              :                   if (!
   10299              : #line 5054 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10300              : (TARGET_AVX512F
   10301              :    && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
   10302              :    && (GET_MODE_NUNITS (V8DImode)
   10303              :       < GET_MODE_PRECISION (SImode))))
   10304              :                     return -1;
   10305              :                   return 3683; /* *avx512f_ucmpv8di3_zero_extendsi */
   10306              : 
   10307              :                 case 10:
   10308              :                   if (!(
   10309              : #line 5054 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10310              : (TARGET_AVX512F
   10311              :    && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
   10312              :    && (GET_MODE_NUNITS (V4DImode)
   10313              :       < GET_MODE_PRECISION (SImode))) && 
   10314              : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10315              : (TARGET_AVX512VL)))
   10316              :                     return -1;
   10317              :                   return 3684; /* *avx512vl_ucmpv4di3_zero_extendsi */
   10318              : 
   10319              :                 case 11:
   10320              :                   if (!(
   10321              : #line 5054 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10322              : (TARGET_AVX512F
   10323              :    && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
   10324              :    && (GET_MODE_NUNITS (V2DImode)
   10325              :       < GET_MODE_PRECISION (SImode))) && 
   10326              : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10327              : (TARGET_AVX512VL)))
   10328              :                     return -1;
   10329              :                   return 3685; /* *avx512vl_ucmpv2di3_zero_extendsi */
   10330              : 
   10331              :                 default:
   10332              :                   return -1;
   10333              :                 }
   10334              : 
   10335              :             case E_DImode:
   10336              :               switch (pattern1100 (x2, 
   10337              : E_DImode))
   10338              :                 {
   10339              :                 case 0:
   10340              :                   if (!
   10341              : #line 4965 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10342              : (TARGET_AVX512BW
   10343              :   && (GET_MODE_NUNITS (V64QImode)
   10344              :       < GET_MODE_PRECISION (DImode))))
   10345              :                     return -1;
   10346              :                   return 3604; /* *avx512bw_ucmpv64qi3_zero_extenddi */
   10347              : 
   10348              :                 case 1:
   10349              :                   if (!(
   10350              : #line 4965 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10351              : (TARGET_AVX512BW
   10352              :   && (GET_MODE_NUNITS (V16QImode)
   10353              :       < GET_MODE_PRECISION (DImode))) && 
   10354              : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10355              : (TARGET_AVX512VL)))
   10356              :                     return -1;
   10357              :                   return 3607; /* *avx512vl_ucmpv16qi3_zero_extenddi */
   10358              : 
   10359              :                 case 2:
   10360              :                   if (!(
   10361              : #line 4965 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10362              : (TARGET_AVX512BW
   10363              :   && (GET_MODE_NUNITS (V16HImode)
   10364              :       < GET_MODE_PRECISION (DImode))) && 
   10365              : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10366              : (TARGET_AVX512VL)))
   10367              :                     return -1;
   10368              :                   return 3616; /* *avx512vl_ucmpv16hi3_zero_extenddi */
   10369              : 
   10370              :                 case 3:
   10371              :                   if (!
   10372              : #line 5054 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10373              : (TARGET_AVX512F
   10374              :    && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
   10375              :    && (GET_MODE_NUNITS (V16SImode)
   10376              :       < GET_MODE_PRECISION (DImode))))
   10377              :                     return -1;
   10378              :                   return 3686; /* *avx512f_ucmpv16si3_zero_extenddi */
   10379              : 
   10380              :                 case 4:
   10381              :                   if (!(
   10382              : #line 4965 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10383              : (TARGET_AVX512BW
   10384              :   && (GET_MODE_NUNITS (V32QImode)
   10385              :       < GET_MODE_PRECISION (DImode))) && 
   10386              : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10387              : (TARGET_AVX512VL)))
   10388              :                     return -1;
   10389              :                   return 3610; /* *avx512vl_ucmpv32qi3_zero_extenddi */
   10390              : 
   10391              :                 case 5:
   10392              :                   if (!
   10393              : #line 4965 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10394              : (TARGET_AVX512BW
   10395              :   && (GET_MODE_NUNITS (V32HImode)
   10396              :       < GET_MODE_PRECISION (DImode))))
   10397              :                     return -1;
   10398              :                   return 3613; /* *avx512bw_ucmpv32hi3_zero_extenddi */
   10399              : 
   10400              :                 case 6:
   10401              :                   if (!(
   10402              : #line 4965 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10403              : (TARGET_AVX512BW
   10404              :   && (GET_MODE_NUNITS (V8HImode)
   10405              :       < GET_MODE_PRECISION (DImode))) && 
   10406              : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10407              : (TARGET_AVX512VL)))
   10408              :                     return -1;
   10409              :                   return 3619; /* *avx512vl_ucmpv8hi3_zero_extenddi */
   10410              : 
   10411              :                 case 7:
   10412              :                   if (!(
   10413              : #line 5054 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10414              : (TARGET_AVX512F
   10415              :    && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
   10416              :    && (GET_MODE_NUNITS (V8SImode)
   10417              :       < GET_MODE_PRECISION (DImode))) && 
   10418              : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10419              : (TARGET_AVX512VL)))
   10420              :                     return -1;
   10421              :                   return 3687; /* *avx512vl_ucmpv8si3_zero_extenddi */
   10422              : 
   10423              :                 case 8:
   10424              :                   if (!(
   10425              : #line 5054 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10426              : (TARGET_AVX512F
   10427              :    && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
   10428              :    && (GET_MODE_NUNITS (V4SImode)
   10429              :       < GET_MODE_PRECISION (DImode))) && 
   10430              : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10431              : (TARGET_AVX512VL)))
   10432              :                     return -1;
   10433              :                   return 3688; /* *avx512vl_ucmpv4si3_zero_extenddi */
   10434              : 
   10435              :                 case 9:
   10436              :                   if (!
   10437              : #line 5054 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10438              : (TARGET_AVX512F
   10439              :    && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
   10440              :    && (GET_MODE_NUNITS (V8DImode)
   10441              :       < GET_MODE_PRECISION (DImode))))
   10442              :                     return -1;
   10443              :                   return 3689; /* *avx512f_ucmpv8di3_zero_extenddi */
   10444              : 
   10445              :                 case 10:
   10446              :                   if (!(
   10447              : #line 5054 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10448              : (TARGET_AVX512F
   10449              :    && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
   10450              :    && (GET_MODE_NUNITS (V4DImode)
   10451              :       < GET_MODE_PRECISION (DImode))) && 
   10452              : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10453              : (TARGET_AVX512VL)))
   10454              :                     return -1;
   10455              :                   return 3690; /* *avx512vl_ucmpv4di3_zero_extenddi */
   10456              : 
   10457              :                 case 11:
   10458              :                   if (!(
   10459              : #line 5054 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10460              : (TARGET_AVX512F
   10461              :    && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
   10462              :    && (GET_MODE_NUNITS (V2DImode)
   10463              :       < GET_MODE_PRECISION (DImode))) && 
   10464              : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10465              : (TARGET_AVX512VL)))
   10466              :                     return -1;
   10467              :                   return 3691; /* *avx512vl_ucmpv2di3_zero_extenddi */
   10468              : 
   10469              :                 default:
   10470              :                   return -1;
   10471              :                 }
   10472              : 
   10473              :             default:
   10474              :               return -1;
   10475              :             }
   10476              : 
   10477              :         default:
   10478              :           return -1;
   10479              :         }
   10480              : 
   10481              :     default:
   10482              :       return -1;
   10483              :     }
   10484              : }
   10485              : 
   10486              :  int
   10487              : recog_134 (rtx x1 ATTRIBUTE_UNUSED,
   10488              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   10489              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   10490              : {
   10491              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   10492              :   rtx x2, x3, x4, x5, x6, x7;
   10493              :   int res ATTRIBUTE_UNUSED;
   10494              :   x2 = XEXP (x1, 1);
   10495              :   x3 = XEXP (x2, 0);
   10496              :   x4 = XVECEXP (x3, 0, 0);
   10497              :   operands[1] = x4;
   10498              :   x5 = XVECEXP (x3, 0, 1);
   10499              :   operands[2] = x5;
   10500              :   x6 = XEXP (x2, 2);
   10501              :   switch (GET_CODE (x6))
   10502              :     {
   10503              :     case CONST_INT:
   10504              :       if (XWINT (x6, 0) != 1L)
   10505              :         return -1;
   10506              :       switch (pattern460 (x2))
   10507              :         {
   10508              :         case 0:
   10509              :           if (!(
   10510              : #line 13937 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10511              : (TARGET_AVX512F) && 
   10512              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10513              : (TARGET_AVX512FP16)))
   10514              :             return -1;
   10515              :           return 5430; /* avx512f_vmscalefv8hf */
   10516              : 
   10517              :         case 1:
   10518              :           if (!
   10519              : #line 13937 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10520              : (TARGET_AVX512F))
   10521              :             return -1;
   10522              :           return 5434; /* avx512f_vmscalefv4sf */
   10523              : 
   10524              :         case 2:
   10525              :           if (!(
   10526              : #line 13937 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10527              : (TARGET_AVX512F) && 
   10528              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10529              : (TARGET_SSE2)))
   10530              :             return -1;
   10531              :           return 5438; /* avx512f_vmscalefv2df */
   10532              : 
   10533              :         default:
   10534              :           return -1;
   10535              :         }
   10536              : 
   10537              :     case REG:
   10538              :     case SUBREG:
   10539              :       operands[4] = x6;
   10540              :       x7 = XEXP (x2, 1);
   10541              :       operands[3] = x7;
   10542              :       switch (GET_MODE (operands[0]))
   10543              :         {
   10544              :         case E_V32HFmode:
   10545              :           if (pattern1120 (x2, 
   10546              : E_V32HFmode, 
   10547              : E_SImode) != 0
   10548              :               || !(
   10549              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10550              : (TARGET_AVX512F) && (
   10551              : #line 13948 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10552              : (TARGET_AVX512F) && 
   10553              : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10554              : (TARGET_AVX512FP16))))
   10555              :             return -1;
   10556              :           return 5444; /* avx512bw_scalefv32hf_mask */
   10557              : 
   10558              :         case E_V16HFmode:
   10559              :           if (pattern1120 (x2, 
   10560              : E_V16HFmode, 
   10561              : E_HImode) != 0
   10562              :               || !(
   10563              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10564              : (TARGET_AVX512F) && (
   10565              : #line 13948 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10566              : (TARGET_AVX512F) && 
   10567              : #line 515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10568              : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
   10569              :             return -1;
   10570              :           return 5448; /* avx512vl_scalefv16hf_mask */
   10571              : 
   10572              :         case E_V8HFmode:
   10573              :           if (pattern1120 (x2, 
   10574              : E_V8HFmode, 
   10575              : E_QImode) != 0
   10576              :               || !(
   10577              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10578              : (TARGET_AVX512F) && (
   10579              : #line 13948 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10580              : (TARGET_AVX512F) && 
   10581              : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10582              : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
   10583              :             return -1;
   10584              :           return 5452; /* avx512fp16_scalefv8hf_mask */
   10585              : 
   10586              :         case E_V16SFmode:
   10587              :           if (pattern1120 (x2, 
   10588              : E_V16SFmode, 
   10589              : E_HImode) != 0
   10590              :               || !
   10591              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10592              : (TARGET_AVX512F))
   10593              :             return -1;
   10594              :           return 5456; /* avx512f_scalefv16sf_mask */
   10595              : 
   10596              :         case E_V8SFmode:
   10597              :           if (pattern1120 (x2, 
   10598              : E_V8SFmode, 
   10599              : E_QImode) != 0
   10600              :               || !(
   10601              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10602              : (TARGET_AVX512F) && (
   10603              : #line 13948 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10604              : (TARGET_AVX512F) && 
   10605              : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10606              : (TARGET_AVX512VL))))
   10607              :             return -1;
   10608              :           return 5460; /* avx512vl_scalefv8sf_mask */
   10609              : 
   10610              :         case E_V4SFmode:
   10611              :           if (pattern1120 (x2, 
   10612              : E_V4SFmode, 
   10613              : E_QImode) != 0
   10614              :               || !(
   10615              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10616              : (TARGET_AVX512F) && (
   10617              : #line 13948 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10618              : (TARGET_AVX512F) && 
   10619              : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10620              : (TARGET_AVX512VL))))
   10621              :             return -1;
   10622              :           return 5464; /* avx512vl_scalefv4sf_mask */
   10623              : 
   10624              :         case E_V8DFmode:
   10625              :           if (pattern1120 (x2, 
   10626              : E_V8DFmode, 
   10627              : E_QImode) != 0
   10628              :               || !
   10629              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10630              : (TARGET_AVX512F))
   10631              :             return -1;
   10632              :           return 5468; /* avx512f_scalefv8df_mask */
   10633              : 
   10634              :         case E_V4DFmode:
   10635              :           if (pattern1120 (x2, 
   10636              : E_V4DFmode, 
   10637              : E_QImode) != 0
   10638              :               || !(
   10639              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10640              : (TARGET_AVX512F) && (
   10641              : #line 13948 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10642              : (TARGET_AVX512F) && 
   10643              : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10644              : (TARGET_AVX512VL))))
   10645              :             return -1;
   10646              :           return 5472; /* avx512vl_scalefv4df_mask */
   10647              : 
   10648              :         case E_V2DFmode:
   10649              :           if (pattern1120 (x2, 
   10650              : E_V2DFmode, 
   10651              : E_QImode) != 0
   10652              :               || !(
   10653              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10654              : (TARGET_AVX512F) && (
   10655              : #line 13948 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10656              : (TARGET_AVX512F) && 
   10657              : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10658              : (TARGET_AVX512VL))))
   10659              :             return -1;
   10660              :           return 5476; /* avx512vl_scalefv2df_mask */
   10661              : 
   10662              :         default:
   10663              :           return -1;
   10664              :         }
   10665              : 
   10666              :     default:
   10667              :       return -1;
   10668              :     }
   10669              : }
   10670              : 
   10671              :  int
   10672              : recog_141 (rtx x1 ATTRIBUTE_UNUSED,
   10673              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   10674              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   10675              : {
   10676              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   10677              :   rtx x2, x3, x4, x5, x6, x7, x8;
   10678              :   int res ATTRIBUTE_UNUSED;
   10679              :   x2 = XEXP (x1, 1);
   10680              :   x3 = XEXP (x2, 0);
   10681              :   x4 = XVECEXP (x3, 0, 0);
   10682              :   operands[1] = x4;
   10683              :   x5 = XVECEXP (x3, 0, 1);
   10684              :   operands[2] = x5;
   10685              :   x6 = XVECEXP (x3, 0, 2);
   10686              :   operands[3] = x6;
   10687              :   if (!const_0_to_15_operand (operands[3], E_SImode))
   10688              :     return -1;
   10689              :   x7 = XEXP (x2, 2);
   10690              :   switch (GET_CODE (x7))
   10691              :     {
   10692              :     case REG:
   10693              :     case SUBREG:
   10694              :       operands[5] = x7;
   10695              :       x8 = XEXP (x2, 1);
   10696              :       operands[4] = x8;
   10697              :       switch (GET_MODE (operands[0]))
   10698              :         {
   10699              :         case E_V16SFmode:
   10700              :           if (pattern475 (x2, 
   10701              : E_V16SFmode, 
   10702              : E_HImode) != 0
   10703              :               || !(
   10704              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10705              : (TARGET_AVX512F) && 
   10706              : #line 30513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10707              : (TARGET_AVX512DQ && 1)))
   10708              :             return -1;
   10709              :           return 10034; /* avx512dq_rangepv16sf_mask */
   10710              : 
   10711              :         case E_V8SFmode:
   10712              :           if (pattern475 (x2, 
   10713              : E_V8SFmode, 
   10714              : E_QImode) != 0
   10715              :               || !(
   10716              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10717              : (TARGET_AVX512F) && (
   10718              : #line 30513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10719              : (TARGET_AVX512DQ && 1) && 
   10720              : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10721              : (TARGET_AVX512VL))))
   10722              :             return -1;
   10723              :           return 10037; /* avx512dq_rangepv8sf_mask */
   10724              : 
   10725              :         case E_V4SFmode:
   10726              :           if (pattern475 (x2, 
   10727              : E_V4SFmode, 
   10728              : E_QImode) != 0
   10729              :               || !(
   10730              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10731              : (TARGET_AVX512F) && (
   10732              : #line 30513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10733              : (TARGET_AVX512DQ && 1) && 
   10734              : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10735              : (TARGET_AVX512VL))))
   10736              :             return -1;
   10737              :           return 10039; /* avx512dq_rangepv4sf_mask */
   10738              : 
   10739              :         case E_V8DFmode:
   10740              :           if (pattern475 (x2, 
   10741              : E_V8DFmode, 
   10742              : E_QImode) != 0
   10743              :               || !(
   10744              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10745              : (TARGET_AVX512F) && 
   10746              : #line 30513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10747              : (TARGET_AVX512DQ && 1)))
   10748              :             return -1;
   10749              :           return 10042; /* avx512dq_rangepv8df_mask */
   10750              : 
   10751              :         case E_V4DFmode:
   10752              :           if (pattern475 (x2, 
   10753              : E_V4DFmode, 
   10754              : E_QImode) != 0
   10755              :               || !(
   10756              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10757              : (TARGET_AVX512F) && (
   10758              : #line 30513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10759              : (TARGET_AVX512DQ && 1) && 
   10760              : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10761              : (TARGET_AVX512VL))))
   10762              :             return -1;
   10763              :           return 10045; /* avx512dq_rangepv4df_mask */
   10764              : 
   10765              :         case E_V2DFmode:
   10766              :           if (pattern475 (x2, 
   10767              : E_V2DFmode, 
   10768              : E_QImode) != 0
   10769              :               || !(
   10770              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10771              : (TARGET_AVX512F) && (
   10772              : #line 30513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10773              : (TARGET_AVX512DQ && 1) && 
   10774              : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10775              : (TARGET_AVX512VL))))
   10776              :             return -1;
   10777              :           return 10047; /* avx512dq_rangepv2df_mask */
   10778              : 
   10779              :         default:
   10780              :           return -1;
   10781              :         }
   10782              : 
   10783              :     case CONST_INT:
   10784              :       if (XWINT (x7, 0) != 1L)
   10785              :         return -1;
   10786              :       switch (pattern1121 (x2))
   10787              :         {
   10788              :         case 0:
   10789              :           if (!
   10790              : #line 30536 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10791              : (TARGET_AVX512DQ))
   10792              :             return -1;
   10793              :           return 10048; /* avx512dq_rangesv4sf */
   10794              : 
   10795              :         case 1:
   10796              :           if (!(
   10797              : #line 30536 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10798              : (TARGET_AVX512DQ) && 
   10799              : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10800              : (TARGET_SSE2)))
   10801              :             return -1;
   10802              :           return 10052; /* avx512dq_rangesv2df */
   10803              : 
   10804              :         default:
   10805              :           return -1;
   10806              :         }
   10807              : 
   10808              :     default:
   10809              :       return -1;
   10810              :     }
   10811              : }
   10812              : 
   10813              :  int
   10814              : recog_146 (rtx x1 ATTRIBUTE_UNUSED,
   10815              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   10816              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   10817              : {
   10818              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   10819              :   rtx x2;
   10820              :   int res ATTRIBUTE_UNUSED;
   10821              :   x2 = XEXP (x1, 1);
   10822              :   switch (pattern481 (x2))
   10823              :     {
   10824              :     case 0:
   10825              :       if (!(
   10826              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10827              : (TARGET_AVX512F) && 
   10828              : #line 31108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10829              : (TARGET_AVX512VBMI2)))
   10830              :         return -1;
   10831              :       return 10276; /* vpshld_v32hi_mask */
   10832              : 
   10833              :     case 1:
   10834              :       if (!(
   10835              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10836              : (TARGET_AVX512F) && 
   10837              : #line 31108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10838              : (TARGET_AVX512VBMI2)))
   10839              :         return -1;
   10840              :       return 10278; /* vpshld_v16si_mask */
   10841              : 
   10842              :     case 2:
   10843              :       if (!(
   10844              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10845              : (TARGET_AVX512F) && 
   10846              : #line 31108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10847              : (TARGET_AVX512VBMI2)))
   10848              :         return -1;
   10849              :       return 10280; /* vpshld_v8di_mask */
   10850              : 
   10851              :     case 3:
   10852              :       if (!(
   10853              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10854              : (TARGET_AVX512F) && (
   10855              : #line 31108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10856              : (TARGET_AVX512VBMI2) && 
   10857              : #line 751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10858              : (TARGET_AVX512VL))))
   10859              :         return -1;
   10860              :       return 10282; /* vpshld_v16hi_mask */
   10861              : 
   10862              :     case 4:
   10863              :       if (!(
   10864              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10865              : (TARGET_AVX512F) && (
   10866              : #line 31108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10867              : (TARGET_AVX512VBMI2) && 
   10868              : #line 751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10869              : (TARGET_AVX512VL))))
   10870              :         return -1;
   10871              :       return 10284; /* vpshld_v8si_mask */
   10872              : 
   10873              :     case 5:
   10874              :       if (!(
   10875              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10876              : (TARGET_AVX512F) && (
   10877              : #line 31108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10878              : (TARGET_AVX512VBMI2) && 
   10879              : #line 752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10880              : (TARGET_AVX512VL))))
   10881              :         return -1;
   10882              :       return 10286; /* vpshld_v4di_mask */
   10883              : 
   10884              :     case 6:
   10885              :       if (!(
   10886              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10887              : (TARGET_AVX512F) && (
   10888              : #line 31108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10889              : (TARGET_AVX512VBMI2) && 
   10890              : #line 752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10891              : (TARGET_AVX512VL))))
   10892              :         return -1;
   10893              :       return 10288; /* vpshld_v8hi_mask */
   10894              : 
   10895              :     case 7:
   10896              :       if (!(
   10897              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10898              : (TARGET_AVX512F) && (
   10899              : #line 31108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10900              : (TARGET_AVX512VBMI2) && 
   10901              : #line 753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10902              : (TARGET_AVX512VL))))
   10903              :         return -1;
   10904              :       return 10290; /* vpshld_v4si_mask */
   10905              : 
   10906              :     case 8:
   10907              :       if (!(
   10908              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10909              : (TARGET_AVX512F) && (
   10910              : #line 31108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10911              : (TARGET_AVX512VBMI2) && 
   10912              : #line 753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10913              : (TARGET_AVX512VL))))
   10914              :         return -1;
   10915              :       return 10292; /* vpshld_v2di_mask */
   10916              : 
   10917              :     default:
   10918              :       return -1;
   10919              :     }
   10920              : }
   10921              : 
   10922              :  int
   10923              : recog_153 (rtx x1 ATTRIBUTE_UNUSED,
   10924              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   10925              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   10926              : {
   10927              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   10928              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   10929              :   rtx x10;
   10930              :   int res ATTRIBUTE_UNUSED;
   10931              :   x2 = XEXP (x1, 1);
   10932              :   x3 = XEXP (x2, 0);
   10933              :   x4 = XEXP (x3, 0);
   10934              :   x5 = XEXP (x4, 1);
   10935              :   if (GET_CODE (x5) != PARALLEL)
   10936              :     return -1;
   10937              :   switch (XVECLEN (x5, 0))
   10938              :     {
   10939              :     case 1:
   10940              :       x6 = XVECEXP (x5, 0, 0);
   10941              :       if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   10942              :         return -1;
   10943              :       x7 = XEXP (x2, 2);
   10944              :       switch (GET_CODE (x7))
   10945              :         {
   10946              :         case CONST_INT:
   10947              :           if (XWINT (x7, 0) != 1L)
   10948              :             return -1;
   10949              :           switch (pattern1014 (x2))
   10950              :             {
   10951              :             case 0:
   10952              :               if (!
   10953              : #line 12366 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10954              : (TARGET_SSE2 && ix86_pre_reload_split ()))
   10955              :                 return -1;
   10956              :               return 5316; /* *vec_setv8hi_0_1 */
   10957              : 
   10958              :             case 1:
   10959              :               if (!
   10960              : #line 12366 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10961              : (TARGET_SSE2 && ix86_pre_reload_split ()))
   10962              :                 return -1;
   10963              :               return 5317; /* *vec_setv8hf_0_1 */
   10964              : 
   10965              :             case 2:
   10966              :               if (!
   10967              : #line 12366 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10968              : (TARGET_SSE2 && ix86_pre_reload_split ()))
   10969              :                 return -1;
   10970              :               return 5318; /* *vec_setv8bf_0_1 */
   10971              : 
   10972              :             default:
   10973              :               return -1;
   10974              :             }
   10975              : 
   10976              :         case REG:
   10977              :         case SUBREG:
   10978              :           operands[3] = x7;
   10979              :           x8 = XEXP (x4, 0);
   10980              :           operands[1] = x8;
   10981              :           x9 = XEXP (x2, 1);
   10982              :           operands[2] = x9;
   10983              :           switch (GET_MODE (operands[0]))
   10984              :             {
   10985              :             case E_V16SImode:
   10986              :               if (pattern1291 (x2, 
   10987              : E_V16SImode, 
   10988              : E_HImode, 
   10989              : E_V4SImode, 
   10990              : E_SImode) != 0
   10991              :                   || !
   10992              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10993              : (TARGET_AVX512F))
   10994              :                 return -1;
   10995              :               return 9253; /* avx512f_vec_dupv16si_mask */
   10996              : 
   10997              :             case E_V8SImode:
   10998              :               if (pattern1291 (x2, 
   10999              : E_V8SImode, 
   11000              : E_QImode, 
   11001              : E_V4SImode, 
   11002              : E_SImode) != 0
   11003              :                   || !(
   11004              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11005              : (TARGET_AVX512F) && (
   11006              : #line 28403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11007              : (TARGET_AVX512F) && 
   11008              : #line 299 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11009              : (TARGET_AVX512VL))))
   11010              :                 return -1;
   11011              :               return 9255; /* avx512vl_vec_dupv8si_mask */
   11012              : 
   11013              :             case E_V4SImode:
   11014              :               if (pattern1292 (x2, 
   11015              : E_V4SImode, 
   11016              : E_SImode, 
   11017              : E_QImode) != 0
   11018              :                   || !(
   11019              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11020              : (TARGET_AVX512F) && (
   11021              : #line 28403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11022              : (TARGET_AVX512F) && 
   11023              : #line 299 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11024              : (TARGET_AVX512VL))))
   11025              :                 return -1;
   11026              :               return 9257; /* avx512vl_vec_dupv4si_mask */
   11027              : 
   11028              :             case E_V8DImode:
   11029              :               if (pattern1291 (x2, 
   11030              : E_V8DImode, 
   11031              : E_QImode, 
   11032              : E_V2DImode, 
   11033              : E_DImode) != 0
   11034              :                   || !
   11035              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11036              : (TARGET_AVX512F))
   11037              :                 return -1;
   11038              :               return 9259; /* avx512f_vec_dupv8di_mask */
   11039              : 
   11040              :             case E_V4DImode:
   11041              :               if (pattern1291 (x2, 
   11042              : E_V4DImode, 
   11043              : E_QImode, 
   11044              : E_V2DImode, 
   11045              : E_DImode) != 0
   11046              :                   || !(
   11047              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11048              : (TARGET_AVX512F) && (
   11049              : #line 28403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11050              : (TARGET_AVX512F) && 
   11051              : #line 300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11052              : (TARGET_AVX512VL))))
   11053              :                 return -1;
   11054              :               return 9261; /* avx512vl_vec_dupv4di_mask */
   11055              : 
   11056              :             case E_V2DImode:
   11057              :               if (pattern1292 (x2, 
   11058              : E_V2DImode, 
   11059              : E_DImode, 
   11060              : E_QImode) != 0
   11061              :                   || !(
   11062              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11063              : (TARGET_AVX512F) && (
   11064              : #line 28403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11065              : (TARGET_AVX512F) && 
   11066              : #line 300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11067              : (TARGET_AVX512VL))))
   11068              :                 return -1;
   11069              :               return 9263; /* avx512vl_vec_dupv2di_mask */
   11070              : 
   11071              :             case E_V16SFmode:
   11072              :               if (pattern1291 (x2, 
   11073              : E_V16SFmode, 
   11074              : E_HImode, 
   11075              : E_V4SFmode, 
   11076              : E_SFmode) != 0
   11077              :                   || !
   11078              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11079              : (TARGET_AVX512F))
   11080              :                 return -1;
   11081              :               return 9265; /* avx512f_vec_dupv16sf_mask */
   11082              : 
   11083              :             case E_V8SFmode:
   11084              :               if (pattern1291 (x2, 
   11085              : E_V8SFmode, 
   11086              : E_QImode, 
   11087              : E_V4SFmode, 
   11088              : E_SFmode) != 0
   11089              :                   || !(
   11090              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11091              : (TARGET_AVX512F) && (
   11092              : #line 28403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11093              : (TARGET_AVX512F) && 
   11094              : #line 301 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11095              : (TARGET_AVX512VL))))
   11096              :                 return -1;
   11097              :               return 9267; /* avx512vl_vec_dupv8sf_mask */
   11098              : 
   11099              :             case E_V4SFmode:
   11100              :               if (pattern1292 (x2, 
   11101              : E_V4SFmode, 
   11102              : E_SFmode, 
   11103              : E_QImode) != 0
   11104              :                   || !(
   11105              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11106              : (TARGET_AVX512F) && (
   11107              : #line 28403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11108              : (TARGET_AVX512F) && 
   11109              : #line 301 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11110              : (TARGET_AVX512VL))))
   11111              :                 return -1;
   11112              :               return 9269; /* avx512vl_vec_dupv4sf_mask */
   11113              : 
   11114              :             case E_V8DFmode:
   11115              :               if (pattern1291 (x2, 
   11116              : E_V8DFmode, 
   11117              : E_QImode, 
   11118              : E_V2DFmode, 
   11119              : E_DFmode) != 0
   11120              :                   || !
   11121              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11122              : (TARGET_AVX512F))
   11123              :                 return -1;
   11124              :               return 9271; /* avx512f_vec_dupv8df_mask */
   11125              : 
   11126              :             case E_V4DFmode:
   11127              :               if (pattern1291 (x2, 
   11128              : E_V4DFmode, 
   11129              : E_QImode, 
   11130              : E_V2DFmode, 
   11131              : E_DFmode) != 0
   11132              :                   || !(
   11133              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11134              : (TARGET_AVX512F) && (
   11135              : #line 28403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11136              : (TARGET_AVX512F) && 
   11137              : #line 302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11138              : (TARGET_AVX512VL))))
   11139              :                 return -1;
   11140              :               return 9273; /* avx512vl_vec_dupv4df_mask */
   11141              : 
   11142              :             case E_V2DFmode:
   11143              :               if (pattern1292 (x2, 
   11144              : E_V2DFmode, 
   11145              : E_DFmode, 
   11146              : E_QImode) != 0
   11147              :                   || !(
   11148              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11149              : (TARGET_AVX512F) && (
   11150              : #line 28403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11151              : (TARGET_AVX512F) && 
   11152              : #line 302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11153              : (TARGET_AVX512VL))))
   11154              :                 return -1;
   11155              :               return 9275; /* avx512vl_vec_dupv2df_mask */
   11156              : 
   11157              :             case E_V64QImode:
   11158              :               if (pattern1291 (x2, 
   11159              : E_V64QImode, 
   11160              : E_DImode, 
   11161              : E_V16QImode, 
   11162              : E_QImode) != 0
   11163              :                   || !(
   11164              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11165              : (TARGET_AVX512F) && 
   11166              : #line 28422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11167              : (TARGET_AVX512BW)))
   11168              :                 return -1;
   11169              :               return 9277; /* avx512bw_vec_dupv64qi_mask */
   11170              : 
   11171              :             case E_V16QImode:
   11172              :               if (pattern1292 (x2, 
   11173              : E_V16QImode, 
   11174              : E_QImode, 
   11175              : E_HImode) != 0
   11176              :                   || !(
   11177              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11178              : (TARGET_AVX512F) && (
   11179              : #line 28422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11180              : (TARGET_AVX512BW) && 
   11181              : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11182              : (TARGET_AVX512VL))))
   11183              :                 return -1;
   11184              :               return 9279; /* avx512vl_vec_dupv16qi_mask */
   11185              : 
   11186              :             case E_V32QImode:
   11187              :               if (pattern1291 (x2, 
   11188              : E_V32QImode, 
   11189              : E_SImode, 
   11190              : E_V16QImode, 
   11191              : E_QImode) != 0
   11192              :                   || !(
   11193              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11194              : (TARGET_AVX512F) && (
   11195              : #line 28422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11196              : (TARGET_AVX512BW) && 
   11197              : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11198              : (TARGET_AVX512VL))))
   11199              :                 return -1;
   11200              :               return 9281; /* avx512vl_vec_dupv32qi_mask */
   11201              : 
   11202              :             case E_V32HImode:
   11203              :               if (pattern1291 (x2, 
   11204              : E_V32HImode, 
   11205              : E_SImode, 
   11206              : E_V8HImode, 
   11207              : E_HImode) != 0
   11208              :                   || !(
   11209              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11210              : (TARGET_AVX512F) && 
   11211              : #line 28422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11212              : (TARGET_AVX512BW)))
   11213              :                 return -1;
   11214              :               return 9283; /* avx512bw_vec_dupv32hi_mask */
   11215              : 
   11216              :             case E_V16HImode:
   11217              :               if (pattern778 (x2, 
   11218              : E_HImode, 
   11219              : E_V16HImode) != 0
   11220              :                   || !nonimmediate_operand (operands[1], E_V8HImode)
   11221              :                   || !nonimm_or_0_operand (operands[2], E_V16HImode)
   11222              :                   || !register_operand (operands[3], E_HImode)
   11223              :                   || !(
   11224              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11225              : (TARGET_AVX512F) && (
   11226              : #line 28422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11227              : (TARGET_AVX512BW) && 
   11228              : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11229              : (TARGET_AVX512VL))))
   11230              :                 return -1;
   11231              :               return 9285; /* avx512vl_vec_dupv16hi_mask */
   11232              : 
   11233              :             case E_V8HImode:
   11234              :               if (pattern1292 (x2, 
   11235              : E_V8HImode, 
   11236              : E_HImode, 
   11237              : E_QImode) != 0
   11238              :                   || !(
   11239              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11240              : (TARGET_AVX512F) && (
   11241              : #line 28422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11242              : (TARGET_AVX512BW) && 
   11243              : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11244              : (TARGET_AVX512VL))))
   11245              :                 return -1;
   11246              :               return 9287; /* avx512vl_vec_dupv8hi_mask */
   11247              : 
   11248              :             case E_V32HFmode:
   11249              :               if (pattern1291 (x2, 
   11250              : E_V32HFmode, 
   11251              : E_SImode, 
   11252              : E_V8HFmode, 
   11253              : E_HFmode) != 0
   11254              :                   || !(
   11255              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11256              : (TARGET_AVX512F) && 
   11257              : #line 28422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11258              : (TARGET_AVX512BW)))
   11259              :                 return -1;
   11260              :               return 9289; /* avx512bw_vec_dupv32hf_mask */
   11261              : 
   11262              :             case E_V16HFmode:
   11263              :               if (pattern1291 (x2, 
   11264              : E_V16HFmode, 
   11265              : E_HImode, 
   11266              : E_V8HFmode, 
   11267              : E_HFmode) != 0
   11268              :                   || !(
   11269              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11270              : (TARGET_AVX512F) && (
   11271              : #line 28422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11272              : (TARGET_AVX512BW) && 
   11273              : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11274              : (TARGET_AVX512VL))))
   11275              :                 return -1;
   11276              :               return 9291; /* avx512vl_vec_dupv16hf_mask */
   11277              : 
   11278              :             case E_V8HFmode:
   11279              :               if (pattern1292 (x2, 
   11280              : E_V8HFmode, 
   11281              : E_HFmode, 
   11282              : E_QImode) != 0
   11283              :                   || !(
   11284              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11285              : (TARGET_AVX512F) && (
   11286              : #line 28422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11287              : (TARGET_AVX512BW) && 
   11288              : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11289              : (TARGET_AVX512VL))))
   11290              :                 return -1;
   11291              :               return 9293; /* avx512fp16_vec_dupv8hf_mask */
   11292              : 
   11293              :             case E_V32BFmode:
   11294              :               if (pattern1291 (x2, 
   11295              : E_V32BFmode, 
   11296              : E_SImode, 
   11297              : E_V8BFmode, 
   11298              : E_BFmode) != 0
   11299              :                   || !(
   11300              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11301              : (TARGET_AVX512F) && 
   11302              : #line 28422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11303              : (TARGET_AVX512BW)))
   11304              :                 return -1;
   11305              :               return 9295; /* avx512bw_vec_dupv32bf_mask */
   11306              : 
   11307              :             case E_V16BFmode:
   11308              :               if (pattern1291 (x2, 
   11309              : E_V16BFmode, 
   11310              : E_HImode, 
   11311              : E_V8BFmode, 
   11312              : E_BFmode) != 0
   11313              :                   || !(
   11314              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11315              : (TARGET_AVX512F) && (
   11316              : #line 28422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11317              : (TARGET_AVX512BW) && 
   11318              : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11319              : (TARGET_AVX512VL))))
   11320              :                 return -1;
   11321              :               return 9297; /* avx512vl_vec_dupv16bf_mask */
   11322              : 
   11323              :             case E_V8BFmode:
   11324              :               if (pattern1292 (x2, 
   11325              : E_V8BFmode, 
   11326              : E_BFmode, 
   11327              : E_QImode) != 0
   11328              :                   || !(
   11329              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11330              : (TARGET_AVX512F) && (
   11331              : #line 28422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11332              : (TARGET_AVX512BW) && 
   11333              : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11334              : (TARGET_AVX512VL))))
   11335              :                 return -1;
   11336              :               return 9299; /* avx512vl_vec_dupv8bf_mask */
   11337              : 
   11338              :             default:
   11339              :               return -1;
   11340              :             }
   11341              : 
   11342              :         default:
   11343              :           return -1;
   11344              :         }
   11345              : 
   11346              :     case 2:
   11347              :       x6 = XVECEXP (x5, 0, 0);
   11348              :       if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   11349              :         return -1;
   11350              :       x10 = XVECEXP (x5, 0, 1);
   11351              :       if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   11352              :         return -1;
   11353              :       x8 = XEXP (x4, 0);
   11354              :       operands[1] = x8;
   11355              :       x9 = XEXP (x2, 1);
   11356              :       operands[2] = x9;
   11357              :       x7 = XEXP (x2, 2);
   11358              :       operands[3] = x7;
   11359              :       switch (GET_MODE (operands[0]))
   11360              :         {
   11361              :         case E_V16SImode:
   11362              :           if (pattern1291 (x2, 
   11363              : E_V16SImode, 
   11364              : E_HImode, 
   11365              : E_V4SImode, 
   11366              : E_V2SImode) != 0
   11367              :               || !(
   11368              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11369              : (TARGET_AVX512F) && 
   11370              : #line 28743 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11371              : (TARGET_AVX512DQ)))
   11372              :             return -1;
   11373              :           return 9395; /* avx512dq_broadcastv16si_mask */
   11374              : 
   11375              :         case E_V8SImode:
   11376              :           if (pattern1291 (x2, 
   11377              : E_V8SImode, 
   11378              : E_QImode, 
   11379              : E_V4SImode, 
   11380              : E_V2SImode) != 0
   11381              :               || !(
   11382              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11383              : (TARGET_AVX512F) && (
   11384              : #line 28743 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11385              : (TARGET_AVX512DQ) && 
   11386              : #line 28727 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11387              : (TARGET_AVX512VL))))
   11388              :             return -1;
   11389              :           return 9397; /* avx512dq_broadcastv8si_mask */
   11390              : 
   11391              :         case E_V4SImode:
   11392              :           if (pattern1292 (x2, 
   11393              : E_V4SImode, 
   11394              : E_V2SImode, 
   11395              : E_QImode) != 0
   11396              :               || !(
   11397              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11398              : (TARGET_AVX512F) && (
   11399              : #line 28743 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11400              : (TARGET_AVX512DQ) && 
   11401              : #line 28727 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11402              : (TARGET_AVX512VL))))
   11403              :             return -1;
   11404              :           return 9399; /* avx512dq_broadcastv4si_mask */
   11405              : 
   11406              :         case E_V16SFmode:
   11407              :           if (pattern1291 (x2, 
   11408              : E_V16SFmode, 
   11409              : E_HImode, 
   11410              : E_V4SFmode, 
   11411              : E_V2SFmode) != 0
   11412              :               || !(
   11413              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11414              : (TARGET_AVX512F) && 
   11415              : #line 28743 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11416              : (TARGET_AVX512DQ)))
   11417              :             return -1;
   11418              :           return 9401; /* avx512dq_broadcastv16sf_mask */
   11419              : 
   11420              :         case E_V8SFmode:
   11421              :           if (pattern1291 (x2, 
   11422              : E_V8SFmode, 
   11423              : E_QImode, 
   11424              : E_V4SFmode, 
   11425              : E_V2SFmode) != 0
   11426              :               || !(
   11427              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11428              : (TARGET_AVX512F) && (
   11429              : #line 28743 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11430              : (TARGET_AVX512DQ) && 
   11431              : #line 28728 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11432              : (TARGET_AVX512VL))))
   11433              :             return -1;
   11434              :           return 9403; /* avx512dq_broadcastv8sf_mask */
   11435              : 
   11436              :         default:
   11437              :           return -1;
   11438              :         }
   11439              : 
   11440              :     default:
   11441              :       return -1;
   11442              :     }
   11443              : }
   11444              : 
   11445              :  int
   11446              : recog_160 (rtx x1 ATTRIBUTE_UNUSED,
   11447              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   11448              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   11449              : {
   11450              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   11451              :   rtx x2, x3, x4, x5, x6, x7;
   11452              :   int res ATTRIBUTE_UNUSED;
   11453              :   x2 = XEXP (x1, 1);
   11454              :   x3 = XEXP (x2, 1);
   11455              :   switch (GET_CODE (x3))
   11456              :     {
   11457              :     case CONST_INT:
   11458              :     case CONST_WIDE_INT:
   11459              :     case CONST_POLY_INT:
   11460              :     case CONST_FIXED:
   11461              :     case CONST_DOUBLE:
   11462              :     case CONST_VECTOR:
   11463              :     case CONST:
   11464              :     case REG:
   11465              :     case SUBREG:
   11466              :     case MEM:
   11467              :     case LABEL_REF:
   11468              :     case SYMBOL_REF:
   11469              :     case HIGH:
   11470              :       x4 = XEXP (x2, 2);
   11471              :       switch (GET_CODE (x4))
   11472              :         {
   11473              :         case REG:
   11474              :         case SUBREG:
   11475              :           return recog_159 (x1, insn, pnum_clobbers);
   11476              : 
   11477              :         case CONST_INT:
   11478              :           if (XWINT (x4, 0) == 1L)
   11479              :             {
   11480              :               switch (GET_MODE (operands[0]))
   11481              :                 {
   11482              :                 case E_V2DImode:
   11483              :                   if (GET_MODE (x2) == E_V2DImode)
   11484              :                     {
   11485              :                       x5 = XEXP (x2, 0);
   11486              :                       if (nonimmediate_operand (x5, E_V2DImode))
   11487              :                         {
   11488              :                           operands[1] = x5;
   11489              :                           if (register_operand (operands[0], E_V2DImode))
   11490              :                             {
   11491              :                               operands[2] = x3;
   11492              :                               if (const0_operand (operands[2], E_V2DImode)
   11493              :                                   && 
   11494              : #line 1883 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11495              : (TARGET_SSE2))
   11496              :                                 return 2619; /* *sse2_movq128_v2di_1 */
   11497              :                             }
   11498              :                           operands[2] = x5;
   11499              :                           if (nonimmediate_operand (operands[0], E_V2DImode))
   11500              :                             {
   11501              :                               operands[1] = x3;
   11502              :                               if (nonimmediate_operand (operands[1], E_V2DImode)
   11503              :                                   && 
   11504              : #line 15171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11505              : (TARGET_SSE2))
   11506              :                                 return 7253; /* sse2_movsd_v2di */
   11507              :                             }
   11508              :                         }
   11509              :                     }
   11510              :                   break;
   11511              : 
   11512              :                 case E_V2DFmode:
   11513              :                   if (GET_MODE (x2) == E_V2DFmode)
   11514              :                     {
   11515              :                       x5 = XEXP (x2, 0);
   11516              :                       if (nonimmediate_operand (x5, E_V2DFmode))
   11517              :                         {
   11518              :                           operands[1] = x5;
   11519              :                           if (register_operand (operands[0], E_V2DFmode))
   11520              :                             {
   11521              :                               operands[2] = x3;
   11522              :                               if (const0_operand (operands[2], E_V2DFmode)
   11523              :                                   && 
   11524              : #line 1883 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11525              : (TARGET_SSE2))
   11526              :                                 return 2620; /* *sse2_movq128_v2df_1 */
   11527              :                             }
   11528              :                           operands[2] = x5;
   11529              :                           if (nonimmediate_operand (operands[0], E_V2DFmode))
   11530              :                             {
   11531              :                               operands[1] = x3;
   11532              :                               if (nonimmediate_operand (operands[1], E_V2DFmode)
   11533              :                                   && 
   11534              : #line 15171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11535              : (TARGET_SSE2))
   11536              :                                 return 7254; /* sse2_movsd_v2df */
   11537              :                             }
   11538              :                         }
   11539              :                     }
   11540              :                   break;
   11541              : 
   11542              :                 case E_V4SImode:
   11543              :                   if (pattern900 (x2, 
   11544              : E_V4SImode) == 0
   11545              :                       && 
   11546              : #line 12026 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11547              : (TARGET_SSE))
   11548              :                     return 5293; /* sse_movss_v4si */
   11549              :                   break;
   11550              : 
   11551              :                 case E_V4SFmode:
   11552              :                   if (pattern900 (x2, 
   11553              : E_V4SFmode) == 0
   11554              :                       && 
   11555              : #line 12026 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11556              : (TARGET_SSE))
   11557              :                     return 5294; /* sse_movss_v4sf */
   11558              :                   break;
   11559              : 
   11560              :                 case E_V8HImode:
   11561              :                   if (pattern900 (x2, 
   11562              : E_V8HImode) == 0
   11563              :                       && 
   11564              : #line 12444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11565              : (TARGET_AVX512FP16
   11566              :   || (TARGET_AVX10_2 && const0_operand (operands[1], V8HImode))))
   11567              :                     return 5332; /* avx512fp16_movv8hi */
   11568              :                   break;
   11569              : 
   11570              :                 case E_V8HFmode:
   11571              :                   if (pattern900 (x2, 
   11572              : E_V8HFmode) == 0
   11573              :                       && 
   11574              : #line 12444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11575              : (TARGET_AVX512FP16
   11576              :   || (TARGET_AVX10_2 && const0_operand (operands[1], V8HFmode))))
   11577              :                     return 5333; /* avx512fp16_movv8hf */
   11578              :                   break;
   11579              : 
   11580              :                 case E_V8BFmode:
   11581              :                   if (pattern900 (x2, 
   11582              : E_V8BFmode) == 0
   11583              :                       && 
   11584              : #line 12444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11585              : (TARGET_AVX512FP16
   11586              :   || (TARGET_AVX10_2 && const0_operand (operands[1], V8BFmode))))
   11587              :                     return 5334; /* avx512fp16_movv8bf */
   11588              :                   break;
   11589              : 
   11590              :                 default:
   11591              :                   break;
   11592              :                 }
   11593              :             }
   11594              :           operands[3] = x4;
   11595              :           x5 = XEXP (x2, 0);
   11596              :           operands[2] = x5;
   11597              :           operands[1] = x3;
   11598              :           switch (GET_MODE (operands[0]))
   11599              :             {
   11600              :             case E_V8SFmode:
   11601              :               if (pattern1128 (x2, 
   11602              : E_V8SFmode) != 0
   11603              :                   || !(
   11604              : #line 23851 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11605              : (TARGET_SSE4_1) && 
   11606              : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11607              : (TARGET_AVX)))
   11608              :                 return -1;
   11609              :               return 8724; /* avx_blendps256 */
   11610              : 
   11611              :             case E_V4SFmode:
   11612              :               if (pattern1129 (x2, 
   11613              : E_V4SFmode) != 0
   11614              :                   || !
   11615              : #line 23851 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11616              : (TARGET_SSE4_1))
   11617              :                 return -1;
   11618              :               return 8725; /* sse4_1_blendps */
   11619              : 
   11620              :             case E_V4DFmode:
   11621              :               if (pattern1129 (x2, 
   11622              : E_V4DFmode) != 0
   11623              :                   || !(
   11624              : #line 23851 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11625              : (TARGET_SSE4_1) && 
   11626              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11627              : (TARGET_AVX)))
   11628              :                 return -1;
   11629              :               return 8726; /* avx_blendpd256 */
   11630              : 
   11631              :             case E_V2DFmode:
   11632              :               if (!register_operand (operands[0], E_V2DFmode)
   11633              :                   || GET_MODE (x2) != E_V2DFmode
   11634              :                   || !vector_operand (operands[2], E_V2DFmode)
   11635              :                   || !register_operand (operands[1], E_V2DFmode)
   11636              :                   || !const_0_to_3_operand (operands[3], E_SImode)
   11637              :                   || !(
   11638              : #line 23851 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11639              : (TARGET_SSE4_1) && 
   11640              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11641              : (TARGET_SSE2)))
   11642              :                 return -1;
   11643              :               return 8727; /* sse4_1_blendpd */
   11644              : 
   11645              :             case E_V8HImode:
   11646              :               if (pattern1128 (x2, 
   11647              : E_V8HImode) != 0
   11648              :                   || !
   11649              : #line 24349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11650              : (TARGET_SSE4_1))
   11651              :                 return -1;
   11652              :               return 8789; /* sse4_1_pblendw */
   11653              : 
   11654              :             case E_V8HFmode:
   11655              :               if (pattern1128 (x2, 
   11656              : E_V8HFmode) != 0
   11657              :                   || !
   11658              : #line 24349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11659              : (TARGET_SSE4_1))
   11660              :                 return -1;
   11661              :               return 8790; /* sse4_1_pblendph */
   11662              : 
   11663              :             case E_V8BFmode:
   11664              :               if (pattern1128 (x2, 
   11665              : E_V8BFmode) != 0
   11666              :                   || !
   11667              : #line 24349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11668              : (TARGET_SSE4_1))
   11669              :                 return -1;
   11670              :               return 8791; /* sse4_1_pblendbf */
   11671              : 
   11672              :             case E_V16HImode:
   11673              :               if (pattern1130 (x2, 
   11674              : E_V16HImode) != 0
   11675              :                   || !
   11676              : #line 24422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11677              : (TARGET_AVX2))
   11678              :                 return -1;
   11679              :               return 8792; /* *avx2_pblendw */
   11680              : 
   11681              :             case E_V16HFmode:
   11682              :               if (pattern1130 (x2, 
   11683              : E_V16HFmode) != 0
   11684              :                   || !
   11685              : #line 24422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11686              : (TARGET_AVX2))
   11687              :                 return -1;
   11688              :               return 8793; /* *avx2_pblendph */
   11689              : 
   11690              :             case E_V16BFmode:
   11691              :               if (pattern1130 (x2, 
   11692              : E_V16BFmode) != 0
   11693              :                   || !
   11694              : #line 24422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11695              : (TARGET_AVX2))
   11696              :                 return -1;
   11697              :               return 8794; /* *avx2_pblendbf */
   11698              : 
   11699              :             case E_V8SImode:
   11700              :               if (pattern1131 (x2, 
   11701              : E_V8SImode) != 0
   11702              :                   || !
   11703              : #line 24440 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11704              : (TARGET_AVX2))
   11705              :                 return -1;
   11706              :               return 8795; /* avx2_pblenddv8si */
   11707              : 
   11708              :             case E_V4SImode:
   11709              :               if (pattern1131 (x2, 
   11710              : E_V4SImode) != 0
   11711              :                   || !
   11712              : #line 24440 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11713              : (TARGET_AVX2))
   11714              :                 return -1;
   11715              :               return 8796; /* avx2_pblenddv4si */
   11716              : 
   11717              :             default:
   11718              :               return -1;
   11719              :             }
   11720              : 
   11721              :         case UNSPEC:
   11722              :           if (XVECLEN (x4, 0) != 3
   11723              :               || XINT (x4, 1) != 60)
   11724              :             return -1;
   11725              :           x5 = XEXP (x2, 0);
   11726              :           operands[1] = x5;
   11727              :           switch (pattern1017 (x2))
   11728              :             {
   11729              :             case 0:
   11730              :               x6 = XVECEXP (x4, 0, 0);
   11731              :               operands[3] = x6;
   11732              :               switch (pattern1476 (x2))
   11733              :                 {
   11734              :                 case 0:
   11735              :                   if ((
   11736              : #line 3352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11737              : (TARGET_SSE && ix86_pre_reload_split ()
   11738              :    && ((rtx_equal_p (operands[1], operands[3])
   11739              :         && rtx_equal_p (operands[2], operands[4]))
   11740              :        || (rtx_equal_p (operands[1], operands[4])
   11741              :            && rtx_equal_p (operands[2], operands[3])))
   11742              :    && (INTVAL (operands[5]) == 1 || INTVAL (operands[5]) == 14)) && 
   11743              : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11744              : (TARGET_AVX512FP16)))
   11745              :                     return 3093; /* *minmaxv32hf3_1 */
   11746              :                   break;
   11747              : 
   11748              :                 case 1:
   11749              :                   if ((
   11750              : #line 3352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11751              : (TARGET_SSE && ix86_pre_reload_split ()
   11752              :    && ((rtx_equal_p (operands[1], operands[3])
   11753              :         && rtx_equal_p (operands[2], operands[4]))
   11754              :        || (rtx_equal_p (operands[1], operands[4])
   11755              :            && rtx_equal_p (operands[2], operands[3])))
   11756              :    && (INTVAL (operands[5]) == 1 || INTVAL (operands[5]) == 14)) && 
   11757              : #line 394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11758              : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
   11759              :                     return 3094; /* *minmaxv16hf3_1 */
   11760              :                   break;
   11761              : 
   11762              :                 case 2:
   11763              :                   if ((
   11764              : #line 3352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11765              : (TARGET_SSE && ix86_pre_reload_split ()
   11766              :    && ((rtx_equal_p (operands[1], operands[3])
   11767              :         && rtx_equal_p (operands[2], operands[4]))
   11768              :        || (rtx_equal_p (operands[1], operands[4])
   11769              :            && rtx_equal_p (operands[2], operands[3])))
   11770              :    && (INTVAL (operands[5]) == 1 || INTVAL (operands[5]) == 14)) && 
   11771              : #line 395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11772              : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
   11773              :                     return 3095; /* *minmaxv8hf3_1 */
   11774              :                   break;
   11775              : 
   11776              :                 case 3:
   11777              :                   if ((
   11778              : #line 3352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11779              : (TARGET_SSE && ix86_pre_reload_split ()
   11780              :    && ((rtx_equal_p (operands[1], operands[3])
   11781              :         && rtx_equal_p (operands[2], operands[4]))
   11782              :        || (rtx_equal_p (operands[1], operands[4])
   11783              :            && rtx_equal_p (operands[2], operands[3])))
   11784              :    && (INTVAL (operands[5]) == 1 || INTVAL (operands[5]) == 14)) && 
   11785              : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11786              : (TARGET_AVX512F)))
   11787              :                     return 3096; /* *minmaxv16sf3_1 */
   11788              :                   break;
   11789              : 
   11790              :                 case 4:
   11791              :                   if (nonimmediate_operand (operands[1], E_V8SFmode)
   11792              :                       && pattern1686 (
   11793              : E_V8SFmode) == 0
   11794              :                       && (
   11795              : #line 3352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11796              : (TARGET_SSE && ix86_pre_reload_split ()
   11797              :    && ((rtx_equal_p (operands[1], operands[3])
   11798              :         && rtx_equal_p (operands[2], operands[4]))
   11799              :        || (rtx_equal_p (operands[1], operands[4])
   11800              :            && rtx_equal_p (operands[2], operands[3])))
   11801              :    && (INTVAL (operands[5]) == 1 || INTVAL (operands[5]) == 14)) && 
   11802              : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11803              : (TARGET_AVX)))
   11804              :                     return 3097; /* *minmaxv8sf3_1 */
   11805              :                   if (vector_operand (operands[1], E_V8SFmode)
   11806              :                       && pattern1687 (
   11807              : E_V8SImode, 
   11808              : E_V8SFmode) == 0
   11809              :                       && (
   11810              : #line 4440 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11811              : (TARGET_AVX512VL && ix86_pre_reload_split ()
   11812              :   /* LT or GE 0 */
   11813              :   && ((INTVAL (operands[5]) == 1) || (INTVAL (operands[5]) == 5))) && 
   11814              : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11815              : (TARGET_AVX)))
   11816              :                     return 3298; /* *avx_cmpv8sf3_lt */
   11817              :                   break;
   11818              : 
   11819              :                 case 5:
   11820              :                   if (nonimmediate_operand (operands[1], E_V4SFmode)
   11821              :                       && pattern1686 (
   11822              : E_V4SFmode) == 0
   11823              :                       && 
   11824              : #line 3352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11825              : (TARGET_SSE && ix86_pre_reload_split ()
   11826              :    && ((rtx_equal_p (operands[1], operands[3])
   11827              :         && rtx_equal_p (operands[2], operands[4]))
   11828              :        || (rtx_equal_p (operands[1], operands[4])
   11829              :            && rtx_equal_p (operands[2], operands[3])))
   11830              :    && (INTVAL (operands[5]) == 1 || INTVAL (operands[5]) == 14)))
   11831              :                     return 3098; /* *minmaxv4sf3_1 */
   11832              :                   if (vector_operand (operands[1], E_V4SFmode)
   11833              :                       && pattern1687 (
   11834              : E_V4SImode, 
   11835              : E_V4SFmode) == 0
   11836              :                       && 
   11837              : #line 4440 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11838              : (TARGET_AVX512VL && ix86_pre_reload_split ()
   11839              :   /* LT or GE 0 */
   11840              :   && ((INTVAL (operands[5]) == 1) || (INTVAL (operands[5]) == 5))))
   11841              :                     return 3299; /* *avx_cmpv4sf3_lt */
   11842              :                   break;
   11843              : 
   11844              :                 case 6:
   11845              :                   if ((
   11846              : #line 3352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11847              : (TARGET_SSE && ix86_pre_reload_split ()
   11848              :    && ((rtx_equal_p (operands[1], operands[3])
   11849              :         && rtx_equal_p (operands[2], operands[4]))
   11850              :        || (rtx_equal_p (operands[1], operands[4])
   11851              :            && rtx_equal_p (operands[2], operands[3])))
   11852              :    && (INTVAL (operands[5]) == 1 || INTVAL (operands[5]) == 14)) && 
   11853              : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11854              : (TARGET_AVX512F)))
   11855              :                     return 3099; /* *minmaxv8df3_1 */
   11856              :                   break;
   11857              : 
   11858              :                 case 7:
   11859              :                   if (nonimmediate_operand (operands[1], E_V4DFmode)
   11860              :                       && pattern1686 (
   11861              : E_V4DFmode) == 0
   11862              :                       && (
   11863              : #line 3352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11864              : (TARGET_SSE && ix86_pre_reload_split ()
   11865              :    && ((rtx_equal_p (operands[1], operands[3])
   11866              :         && rtx_equal_p (operands[2], operands[4]))
   11867              :        || (rtx_equal_p (operands[1], operands[4])
   11868              :            && rtx_equal_p (operands[2], operands[3])))
   11869              :    && (INTVAL (operands[5]) == 1 || INTVAL (operands[5]) == 14)) && 
   11870              : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11871              : (TARGET_AVX)))
   11872              :                     return 3100; /* *minmaxv4df3_1 */
   11873              :                   if (vector_operand (operands[1], E_V4DFmode)
   11874              :                       && pattern1687 (
   11875              : E_V4DImode, 
   11876              : E_V4DFmode) == 0
   11877              :                       && (
   11878              : #line 4440 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11879              : (TARGET_AVX512VL && ix86_pre_reload_split ()
   11880              :   /* LT or GE 0 */
   11881              :   && ((INTVAL (operands[5]) == 1) || (INTVAL (operands[5]) == 5))) && 
   11882              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11883              : (TARGET_AVX)))
   11884              :                     return 3300; /* *avx_cmpv4df3_lt */
   11885              :                   break;
   11886              : 
   11887              :                 case 8:
   11888              :                   if (nonimmediate_operand (operands[1], E_V2DFmode)
   11889              :                       && pattern1686 (
   11890              : E_V2DFmode) == 0
   11891              :                       && (
   11892              : #line 3352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11893              : (TARGET_SSE && ix86_pre_reload_split ()
   11894              :    && ((rtx_equal_p (operands[1], operands[3])
   11895              :         && rtx_equal_p (operands[2], operands[4]))
   11896              :        || (rtx_equal_p (operands[1], operands[4])
   11897              :            && rtx_equal_p (operands[2], operands[3])))
   11898              :    && (INTVAL (operands[5]) == 1 || INTVAL (operands[5]) == 14)) && 
   11899              : #line 398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11900              : (TARGET_SSE2)))
   11901              :                     return 3101; /* *minmaxv2df3_1 */
   11902              :                   if (vector_operand (operands[1], E_V2DFmode)
   11903              :                       && pattern1687 (
   11904              : E_V2DImode, 
   11905              : E_V2DFmode) == 0
   11906              :                       && (
   11907              : #line 4440 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11908              : (TARGET_AVX512VL && ix86_pre_reload_split ()
   11909              :   /* LT or GE 0 */
   11910              :   && ((INTVAL (operands[5]) == 1) || (INTVAL (operands[5]) == 5))) && 
   11911              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11912              : (TARGET_SSE2)))
   11913              :                     return 3301; /* *avx_cmpv2df3_lt */
   11914              :                   break;
   11915              : 
   11916              :                 case 9:
   11917              :                   if (
   11918              : #line 4469 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11919              : (TARGET_AVX512VL && ix86_pre_reload_split ()
   11920              :   /* LT or GE 0 */
   11921              :   && ((INTVAL (operands[5]) == 1) || (INTVAL (operands[5]) == 5))))
   11922              :                     return 3302; /* *avx_cmpv4si3_ltint */
   11923              :                   break;
   11924              : 
   11925              :                 case 10:
   11926              :                   if (
   11927              : #line 4469 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11928              : (TARGET_AVX512VL && ix86_pre_reload_split ()
   11929              :   /* LT or GE 0 */
   11930              :   && ((INTVAL (operands[5]) == 1) || (INTVAL (operands[5]) == 5))))
   11931              :                     return 3303; /* *avx_cmpv2di3_ltint */
   11932              :                   break;
   11933              : 
   11934              :                 case 11:
   11935              :                   if ((
   11936              : #line 4469 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11937              : (TARGET_AVX512VL && ix86_pre_reload_split ()
   11938              :   /* LT or GE 0 */
   11939              :   && ((INTVAL (operands[5]) == 1) || (INTVAL (operands[5]) == 5))) && 
   11940              : #line 608 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11941              : (TARGET_AVX)))
   11942              :                     return 3304; /* *avx_cmpv8si3_ltint */
   11943              :                   break;
   11944              : 
   11945              :                 case 12:
   11946              :                   if ((
   11947              : #line 4469 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11948              : (TARGET_AVX512VL && ix86_pre_reload_split ()
   11949              :   /* LT or GE 0 */
   11950              :   && ((INTVAL (operands[5]) == 1) || (INTVAL (operands[5]) == 5))) && 
   11951              : #line 608 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11952              : (TARGET_AVX)))
   11953              :                     return 3305; /* *avx_cmpv4di3_ltint */
   11954              :                   break;
   11955              : 
   11956              :                 case 13:
   11957              :                   if ((
   11958              : #line 18370 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11959              : (TARGET_AVX512VL && ix86_pre_reload_split ()
   11960              :   /* LT or GE 0 */
   11961              :   && ((INTVAL (operands[5]) == 1 && !MEM_P (operands[2]))
   11962              :       || (INTVAL (operands[5]) == 5 && !MEM_P (operands[1])))) && 
   11963              : #line 623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11964              : (TARGET_AVX2)))
   11965              :                     return 7951; /* *avx2_pcmpv32qi3_3 */
   11966              :                   break;
   11967              : 
   11968              :                 case 14:
   11969              :                   if (
   11970              : #line 18370 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11971              : (TARGET_AVX512VL && ix86_pre_reload_split ()
   11972              :   /* LT or GE 0 */
   11973              :   && ((INTVAL (operands[5]) == 1 && !MEM_P (operands[2]))
   11974              :       || (INTVAL (operands[5]) == 5 && !MEM_P (operands[1])))))
   11975              :                     return 7952; /* *avx2_pcmpv16qi3_3 */
   11976              :                   break;
   11977              : 
   11978              :                 default:
   11979              :                   break;
   11980              :                 }
   11981              :               if (GET_CODE (x6) != SUBREG)
   11982              :                 return -1;
   11983              :               switch (pattern1479 (x2))
   11984              :                 {
   11985              :                 case 0:
   11986              :                   if (!
   11987              : #line 4504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11988              : (TARGET_AVX512VL && ix86_pre_reload_split ()
   11989              :   /* not LT or GE 0 */
   11990              :   && ((INTVAL (operands[5]) == 1) || (INTVAL (operands[5]) == 5))))
   11991              :                     return -1;
   11992              :                   return 3306; /* *avx_cmpv4si3_ltint_not */
   11993              : 
   11994              :                 case 1:
   11995              :                   if (!
   11996              : #line 4504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11997              : (TARGET_AVX512VL && ix86_pre_reload_split ()
   11998              :   /* not LT or GE 0 */
   11999              :   && ((INTVAL (operands[5]) == 1) || (INTVAL (operands[5]) == 5))))
   12000              :                     return -1;
   12001              :                   return 3307; /* *avx_cmpv2di3_ltint_not */
   12002              : 
   12003              :                 case 2:
   12004              :                   if (!(
   12005              : #line 4504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12006              : (TARGET_AVX512VL && ix86_pre_reload_split ()
   12007              :   /* not LT or GE 0 */
   12008              :   && ((INTVAL (operands[5]) == 1) || (INTVAL (operands[5]) == 5))) && 
   12009              : #line 608 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12010              : (TARGET_AVX)))
   12011              :                     return -1;
   12012              :                   return 3308; /* *avx_cmpv8si3_ltint_not */
   12013              : 
   12014              :                 case 3:
   12015              :                   if (!(
   12016              : #line 4504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12017              : (TARGET_AVX512VL && ix86_pre_reload_split ()
   12018              :   /* not LT or GE 0 */
   12019              :   && ((INTVAL (operands[5]) == 1) || (INTVAL (operands[5]) == 5))) && 
   12020              : #line 608 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12021              : (TARGET_AVX)))
   12022              :                     return -1;
   12023              :                   return 3309; /* *avx_cmpv4di3_ltint_not */
   12024              : 
   12025              :                 case 4:
   12026              :                   if (!(
   12027              : #line 18399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12028              : (TARGET_AVX512VL && ix86_pre_reload_split ()
   12029              :   && GET_MODE_CLASS (GET_MODE (operands[3])) == MODE_VECTOR_INT
   12030              :   && GET_MODE_SIZE (GET_MODE (operands[3])) == 32
   12031              :   /* LT or GE 0 */
   12032              :   && ((INTVAL (operands[5]) == 1 && !MEM_P (operands[1]))
   12033              :       || (INTVAL (operands[5]) == 5 && !MEM_P (operands[2])))) && 
   12034              : #line 623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12035              : (TARGET_AVX2)))
   12036              :                     return -1;
   12037              :                   return 7953; /* *avx2_pcmpv32qi3_4 */
   12038              : 
   12039              :                 case 5:
   12040              :                   if (!
   12041              : #line 18399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12042              : (TARGET_AVX512VL && ix86_pre_reload_split ()
   12043              :   && GET_MODE_CLASS (GET_MODE (operands[3])) == MODE_VECTOR_INT
   12044              :   && GET_MODE_SIZE (GET_MODE (operands[3])) == 16
   12045              :   /* LT or GE 0 */
   12046              :   && ((INTVAL (operands[5]) == 1 && !MEM_P (operands[1]))
   12047              :       || (INTVAL (operands[5]) == 5 && !MEM_P (operands[2])))))
   12048              :                     return -1;
   12049              :                   return 7954; /* *avx2_pcmpv16qi3_4 */
   12050              : 
   12051              :                 default:
   12052              :                   return -1;
   12053              :                 }
   12054              : 
   12055              :             case 1:
   12056              :               if (!(
   12057              : #line 18431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12058              : (TARGET_AVX512VL && ix86_pre_reload_split ()
   12059              :   /* LT or GE 0 */
   12060              :   && ((INTVAL (operands[5]) == 1 && !MEM_P (operands[1]))
   12061              :       || (INTVAL (operands[5]) == 5 && !MEM_P (operands[2])))) && 
   12062              : #line 623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12063              : (TARGET_AVX2)))
   12064              :                 return -1;
   12065              :               return 7955; /* *avx2_pcmpv32qi3_5 */
   12066              : 
   12067              :             case 2:
   12068              :               if (!
   12069              : #line 18431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12070              : (TARGET_AVX512VL && ix86_pre_reload_split ()
   12071              :   /* LT or GE 0 */
   12072              :   && ((INTVAL (operands[5]) == 1 && !MEM_P (operands[1]))
   12073              :       || (INTVAL (operands[5]) == 5 && !MEM_P (operands[2])))))
   12074              :                 return -1;
   12075              :               return 7956; /* *avx2_pcmpv16qi3_5 */
   12076              : 
   12077              :             default:
   12078              :               return -1;
   12079              :             }
   12080              : 
   12081              :         default:
   12082              :           return -1;
   12083              :         }
   12084              : 
   12085              :     case VEC_DUPLICATE:
   12086              :       x5 = XEXP (x2, 0);
   12087              :       operands[1] = x5;
   12088              :       x7 = XEXP (x3, 0);
   12089              :       operands[2] = x7;
   12090              :       x4 = XEXP (x2, 2);
   12091              :       operands[3] = x4;
   12092              :       if (!const_int_operand (operands[3], E_SImode))
   12093              :         return -1;
   12094              :       switch (GET_MODE (operands[0]))
   12095              :         {
   12096              :         case E_V8DFmode:
   12097              :           if (pattern1132 (x2, 
   12098              : E_V2DFmode, 
   12099              : E_V8DFmode) != 0
   12100              :               || !(
   12101              : #line 20377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12102              : (TARGET_AVX512F) && 
   12103              : #line 12722 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12104              : (TARGET_AVX512DQ)))
   12105              :             return -1;
   12106              :           return 8434; /* *avx512dq_vinsertf64x2_1 */
   12107              : 
   12108              :         case E_V8DImode:
   12109              :           if (pattern1132 (x2, 
   12110              : E_V2DImode, 
   12111              : E_V8DImode) != 0
   12112              :               || !(
   12113              : #line 20377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12114              : (TARGET_AVX512F) && 
   12115              : #line 12722 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12116              : (TARGET_AVX512DQ)))
   12117              :             return -1;
   12118              :           return 8436; /* *avx512dq_vinserti64x2_1 */
   12119              : 
   12120              :         case E_V16SFmode:
   12121              :           if (pattern1132 (x2, 
   12122              : E_V4SFmode, 
   12123              : E_V16SFmode) != 0
   12124              :               || !
   12125              : #line 20377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12126              : (TARGET_AVX512F))
   12127              :             return -1;
   12128              :           return 8438; /* *avx512f_vinsertf32x4_1 */
   12129              : 
   12130              :         case E_V16SImode:
   12131              :           if (pattern1132 (x2, 
   12132              : E_V4SImode, 
   12133              : E_V16SImode) != 0
   12134              :               || !
   12135              : #line 20377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12136              : (TARGET_AVX512F))
   12137              :             return -1;
   12138              :           return 8440; /* *avx512f_vinserti32x4_1 */
   12139              : 
   12140              :         default:
   12141              :           return -1;
   12142              :         }
   12143              : 
   12144              :     default:
   12145              :       return -1;
   12146              :     }
   12147              : }
   12148              : 
   12149              :  int
   12150              : recog_174 (rtx x1 ATTRIBUTE_UNUSED,
   12151              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   12152              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   12153              : {
   12154              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   12155              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   12156              :   rtx x10, x11, x12, x13, x14;
   12157              :   int res ATTRIBUTE_UNUSED;
   12158              :   x2 = XEXP (x1, 1);
   12159              :   x3 = XEXP (x2, 0);
   12160              :   x4 = XEXP (x3, 1);
   12161              :   if (pattern929 (x4) != 0)
   12162              :     return -1;
   12163              :   x5 = XEXP (x2, 1);
   12164              :   operands[2] = x5;
   12165              :   x6 = XEXP (x2, 2);
   12166              :   operands[3] = x6;
   12167              :   if (!register_operand (operands[3], E_QImode))
   12168              :     return -1;
   12169              :   x7 = XVECEXP (x4, 0, 0);
   12170              :   switch (XWINT (x7, 0))
   12171              :     {
   12172              :     case 8L:
   12173              :       x8 = XVECEXP (x4, 0, 1);
   12174              :       if (XWINT (x8, 0) != 9L)
   12175              :         return -1;
   12176              :       x9 = XVECEXP (x4, 0, 2);
   12177              :       if (XWINT (x9, 0) != 10L)
   12178              :         return -1;
   12179              :       x10 = XVECEXP (x4, 0, 3);
   12180              :       if (XWINT (x10, 0) != 11L)
   12181              :         return -1;
   12182              :       x11 = XVECEXP (x4, 0, 4);
   12183              :       if (XWINT (x11, 0) != 12L)
   12184              :         return -1;
   12185              :       x12 = XVECEXP (x4, 0, 5);
   12186              :       if (XWINT (x12, 0) != 13L)
   12187              :         return -1;
   12188              :       x13 = XVECEXP (x4, 0, 6);
   12189              :       if (XWINT (x13, 0) != 14L)
   12190              :         return -1;
   12191              :       x14 = XVECEXP (x4, 0, 7);
   12192              :       if (XWINT (x14, 0) != 15L)
   12193              :         return -1;
   12194              :       switch (pattern1852 (x2))
   12195              :         {
   12196              :         case 0:
   12197              :           if (!
   12198              : #line 13016 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12199              : (TARGET_AVX512DQ
   12200              :    && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[2]))))
   12201              :             return -1;
   12202              :           return 5366; /* vec_extract_hi_v16sf_mask */
   12203              : 
   12204              :         case 1:
   12205              :           if (!
   12206              : #line 13016 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12207              : (TARGET_AVX512DQ
   12208              :    && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[2]))))
   12209              :             return -1;
   12210              :           return 5367; /* vec_extract_hi_v16si_mask */
   12211              : 
   12212              :         default:
   12213              :           return -1;
   12214              :         }
   12215              : 
   12216              :     case 0L:
   12217              :       x8 = XVECEXP (x4, 0, 1);
   12218              :       if (XWINT (x8, 0) != 1L
   12219              :           || pattern1567 (x4) != 0)
   12220              :         return -1;
   12221              :       switch (pattern1852 (x2))
   12222              :         {
   12223              :         case 0:
   12224              :           if (!
   12225              : #line 13120 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12226              : (TARGET_AVX512DQ
   12227              :    && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[2]))))
   12228              :             return -1;
   12229              :           return 5370; /* vec_extract_lo_v16sf_mask */
   12230              : 
   12231              :         case 1:
   12232              :           if (!
   12233              : #line 13120 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12234              : (TARGET_AVX512DQ
   12235              :    && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[2]))))
   12236              :             return -1;
   12237              :           return 5371; /* vec_extract_lo_v16si_mask */
   12238              : 
   12239              :         default:
   12240              :           return -1;
   12241              :         }
   12242              : 
   12243              :     default:
   12244              :       return -1;
   12245              :     }
   12246              : }
   12247              : 
   12248              :  int
   12249              : recog_178 (rtx x1 ATTRIBUTE_UNUSED,
   12250              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   12251              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   12252              : {
   12253              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   12254              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   12255              :   rtx x10, x11, x12, x13, x14, x15, x16, x17;
   12256              :   rtx x18, x19, x20;
   12257              :   int res ATTRIBUTE_UNUSED;
   12258              :   x2 = XEXP (x1, 1);
   12259              :   x3 = XEXP (x2, 0);
   12260              :   x4 = XEXP (x3, 1);
   12261              :   x5 = XVECEXP (x4, 0, 1);
   12262              :   operands[3] = x5;
   12263              :   x6 = XVECEXP (x4, 0, 2);
   12264              :   operands[4] = x6;
   12265              :   x7 = XVECEXP (x4, 0, 3);
   12266              :   operands[5] = x7;
   12267              :   x8 = XVECEXP (x4, 0, 5);
   12268              :   operands[7] = x8;
   12269              :   x9 = XVECEXP (x4, 0, 6);
   12270              :   operands[8] = x9;
   12271              :   x10 = XVECEXP (x4, 0, 7);
   12272              :   operands[9] = x10;
   12273              :   x11 = XVECEXP (x4, 0, 8);
   12274              :   operands[10] = x11;
   12275              :   x12 = XVECEXP (x4, 0, 9);
   12276              :   operands[11] = x12;
   12277              :   x13 = XVECEXP (x4, 0, 10);
   12278              :   operands[12] = x13;
   12279              :   x14 = XVECEXP (x4, 0, 11);
   12280              :   operands[13] = x14;
   12281              :   x15 = XVECEXP (x4, 0, 12);
   12282              :   operands[14] = x15;
   12283              :   x16 = XVECEXP (x4, 0, 13);
   12284              :   operands[15] = x16;
   12285              :   x17 = XVECEXP (x4, 0, 14);
   12286              :   operands[16] = x17;
   12287              :   x18 = XVECEXP (x4, 0, 15);
   12288              :   operands[17] = x18;
   12289              :   x19 = XEXP (x2, 1);
   12290              :   operands[18] = x19;
   12291              :   x20 = XEXP (x2, 2);
   12292              :   operands[19] = x20;
   12293              :   if (!register_operand (operands[19], E_HImode))
   12294              :     return -1;
   12295              :   switch (GET_MODE (operands[0]))
   12296              :     {
   12297              :     case E_V16SFmode:
   12298              :       if (!register_operand (operands[0], E_V16SFmode)
   12299              :           || GET_MODE (x2) != E_V16SFmode
   12300              :           || GET_MODE (x3) != E_V16SFmode
   12301              :           || !register_operand (operands[1], E_V16SFmode)
   12302              :           || pattern1883 () != 0
   12303              :           || !nonimm_or_0_operand (operands[18], E_V16SFmode)
   12304              :           || !(
   12305              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12306              : (TARGET_AVX512F) && 
   12307              : #line 20805 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12308              : (TARGET_AVX512F
   12309              :    && (INTVAL (operands[2]) & 3) == 0
   12310              :    && INTVAL (operands[2]) == INTVAL (operands[3]) - 1
   12311              :    && INTVAL (operands[2]) == INTVAL (operands[4]) - 2
   12312              :    && INTVAL (operands[2]) == INTVAL (operands[5]) - 3
   12313              :    && (INTVAL (operands[6]) & 3) == 0
   12314              :    && INTVAL (operands[6]) == INTVAL (operands[7]) - 1
   12315              :    && INTVAL (operands[6]) == INTVAL (operands[8]) - 2
   12316              :    && INTVAL (operands[6]) == INTVAL (operands[9]) - 3
   12317              :    && (INTVAL (operands[10]) & 3) == 0
   12318              :    && INTVAL (operands[10]) == INTVAL (operands[11]) - 1
   12319              :    && INTVAL (operands[10]) == INTVAL (operands[12]) - 2
   12320              :    && INTVAL (operands[10]) == INTVAL (operands[13]) - 3
   12321              :    && (INTVAL (operands[14]) & 3) == 0
   12322              :    && INTVAL (operands[14]) == INTVAL (operands[15]) - 1
   12323              :    && INTVAL (operands[14]) == INTVAL (operands[16]) - 2
   12324              :    && INTVAL (operands[14]) == INTVAL (operands[17]) - 3)))
   12325              :         return -1;
   12326              :       return 8479; /* *avx512f_shuf_f32x4_1_mask_1 */
   12327              : 
   12328              :     case E_V16SImode:
   12329              :       if (!register_operand (operands[0], E_V16SImode)
   12330              :           || GET_MODE (x2) != E_V16SImode
   12331              :           || GET_MODE (x3) != E_V16SImode
   12332              :           || !nonimm_or_0_operand (operands[18], E_V16SImode))
   12333              :         return -1;
   12334              :       if (register_operand (operands[1], E_V16SImode)
   12335              :           && pattern1883 () == 0
   12336              :           && (
   12337              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12338              : (TARGET_AVX512F) && 
   12339              : #line 20805 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12340              : (TARGET_AVX512F
   12341              :    && (INTVAL (operands[2]) & 3) == 0
   12342              :    && INTVAL (operands[2]) == INTVAL (operands[3]) - 1
   12343              :    && INTVAL (operands[2]) == INTVAL (operands[4]) - 2
   12344              :    && INTVAL (operands[2]) == INTVAL (operands[5]) - 3
   12345              :    && (INTVAL (operands[6]) & 3) == 0
   12346              :    && INTVAL (operands[6]) == INTVAL (operands[7]) - 1
   12347              :    && INTVAL (operands[6]) == INTVAL (operands[8]) - 2
   12348              :    && INTVAL (operands[6]) == INTVAL (operands[9]) - 3
   12349              :    && (INTVAL (operands[10]) & 3) == 0
   12350              :    && INTVAL (operands[10]) == INTVAL (operands[11]) - 1
   12351              :    && INTVAL (operands[10]) == INTVAL (operands[12]) - 2
   12352              :    && INTVAL (operands[10]) == INTVAL (operands[13]) - 3
   12353              :    && (INTVAL (operands[14]) & 3) == 0
   12354              :    && INTVAL (operands[14]) == INTVAL (operands[15]) - 1
   12355              :    && INTVAL (operands[14]) == INTVAL (operands[16]) - 2
   12356              :    && INTVAL (operands[14]) == INTVAL (operands[17]) - 3)))
   12357              :         return 8481; /* *avx512f_shuf_i32x4_1_mask_1 */
   12358              :       if (!nonimmediate_operand (operands[1], E_V16SImode)
   12359              :           || pattern1837 () != 0
   12360              :           || !const_8_to_11_operand (operands[10], E_VOIDmode)
   12361              :           || !const_8_to_11_operand (operands[11], E_VOIDmode)
   12362              :           || !const_8_to_11_operand (operands[12], E_VOIDmode)
   12363              :           || !const_8_to_11_operand (operands[13], E_VOIDmode)
   12364              :           || !const_12_to_15_operand (operands[14], E_VOIDmode)
   12365              :           || !const_12_to_15_operand (operands[15], E_VOIDmode)
   12366              :           || !const_12_to_15_operand (operands[16], E_VOIDmode)
   12367              :           || !const_12_to_15_operand (operands[17], E_VOIDmode)
   12368              :           || !(
   12369              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12370              : (TARGET_AVX512F) && 
   12371              : #line 20887 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12372              : (TARGET_AVX512F
   12373              :    && INTVAL (operands[2]) + 4 == INTVAL (operands[6])
   12374              :    && INTVAL (operands[3]) + 4 == INTVAL (operands[7])
   12375              :    && INTVAL (operands[4]) + 4 == INTVAL (operands[8])
   12376              :    && INTVAL (operands[5]) + 4 == INTVAL (operands[9])
   12377              :    && INTVAL (operands[2]) + 8 == INTVAL (operands[10])
   12378              :    && INTVAL (operands[3]) + 8 == INTVAL (operands[11])
   12379              :    && INTVAL (operands[4]) + 8 == INTVAL (operands[12])
   12380              :    && INTVAL (operands[5]) + 8 == INTVAL (operands[13])
   12381              :    && INTVAL (operands[2]) + 12 == INTVAL (operands[14])
   12382              :    && INTVAL (operands[3]) + 12 == INTVAL (operands[15])
   12383              :    && INTVAL (operands[4]) + 12 == INTVAL (operands[16])
   12384              :    && INTVAL (operands[5]) + 12 == INTVAL (operands[17]))))
   12385              :         return -1;
   12386              :       return 8483; /* avx512f_pshufd_1_mask */
   12387              : 
   12388              :     default:
   12389              :       return -1;
   12390              :     }
   12391              : }
   12392              : 
   12393              :  int
   12394              : recog_189 (rtx x1 ATTRIBUTE_UNUSED,
   12395              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   12396              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   12397              : {
   12398              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   12399              :   rtx x2, x3, x4, x5, x6, x7;
   12400              :   int res ATTRIBUTE_UNUSED;
   12401              :   x2 = XEXP (x1, 1);
   12402              :   x3 = XEXP (x2, 0);
   12403              :   x4 = XEXP (x3, 0);
   12404              :   operands[1] = x4;
   12405              :   x5 = XEXP (x3, 1);
   12406              :   operands[2] = x5;
   12407              :   x6 = XEXP (x2, 1);
   12408              :   operands[3] = x6;
   12409              :   x7 = XEXP (x2, 2);
   12410              :   operands[4] = x7;
   12411              :   switch (GET_MODE (operands[0]))
   12412              :     {
   12413              :     case E_V16HImode:
   12414              :       if (pattern135 (x2, 
   12415              : E_HImode, 
   12416              : E_V16HImode) != 0)
   12417              :         return -1;
   12418              :       if (nonimmediate_operand (operands[1], E_V16HImode)
   12419              :           && nonmemory_operand (operands[2], E_DImode)
   12420              :           && (
   12421              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12422              : (TARGET_AVX512F) && (
   12423              : #line 17419 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12424              : (TARGET_AVX512VL) && 
   12425              : #line 785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12426              : (TARGET_AVX512BW))))
   12427              :         return 7646; /* ashrv16hi3_mask */
   12428              :       if (!register_operand (operands[1], E_V16HImode)
   12429              :           || !nonimmediate_operand (operands[2], E_V16HImode)
   12430              :           || !(
   12431              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12432              : (TARGET_AVX512F) && (
   12433              : #line 29614 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12434              : (TARGET_AVX512BW) && 
   12435              : #line 679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12436              : (TARGET_AVX512VL))))
   12437              :         return -1;
   12438              :       return 9642; /* avx512vl_ashrvv16hi_mask */
   12439              : 
   12440              :     case E_V8HImode:
   12441              :       if (pattern135 (x2, 
   12442              : E_QImode, 
   12443              : E_V8HImode) != 0)
   12444              :         return -1;
   12445              :       if (nonimmediate_operand (operands[1], E_V8HImode)
   12446              :           && nonmemory_operand (operands[2], E_DImode)
   12447              :           && (
   12448              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12449              : (TARGET_AVX512F) && (
   12450              : #line 17419 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12451              : (TARGET_AVX512VL) && 
   12452              : #line 785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12453              : (TARGET_AVX512BW))))
   12454              :         return 7648; /* ashrv8hi3_mask */
   12455              :       if (!register_operand (operands[1], E_V8HImode)
   12456              :           || !nonimmediate_operand (operands[2], E_V8HImode)
   12457              :           || !(
   12458              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12459              : (TARGET_AVX512F) && (
   12460              : #line 29614 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12461              : (TARGET_AVX512BW) && 
   12462              : #line 679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12463              : (TARGET_AVX512VL))))
   12464              :         return -1;
   12465              :       return 9640; /* avx512vl_ashrvv8hi_mask */
   12466              : 
   12467              :     case E_V8SImode:
   12468              :       if (pattern135 (x2, 
   12469              : E_QImode, 
   12470              : E_V8SImode) != 0)
   12471              :         return -1;
   12472              :       if (nonimmediate_operand (operands[1], E_V8SImode)
   12473              :           && nonmemory_operand (operands[2], E_DImode)
   12474              :           && (
   12475              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12476              : (TARGET_AVX512F) && 
   12477              : #line 17419 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12478              : (TARGET_AVX512VL)))
   12479              :         return 7650; /* ashrv8si3_mask */
   12480              :       if (!register_operand (operands[1], E_V8SImode)
   12481              :           || !nonimmediate_operand (operands[2], E_V8SImode)
   12482              :           || !(
   12483              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12484              : (TARGET_AVX512F) && 
   12485              : #line 29603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12486              : (TARGET_AVX2 && (32 == 64 || TARGET_AVX512VL))))
   12487              :         return -1;
   12488              :       return 9630; /* avx2_ashrvv8si_mask */
   12489              : 
   12490              :     case E_V4SImode:
   12491              :       if (pattern135 (x2, 
   12492              : E_QImode, 
   12493              : E_V4SImode) != 0)
   12494              :         return -1;
   12495              :       if (nonimmediate_operand (operands[1], E_V4SImode)
   12496              :           && nonmemory_operand (operands[2], E_DImode)
   12497              :           && (
   12498              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12499              : (TARGET_AVX512F) && 
   12500              : #line 17419 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12501              : (TARGET_AVX512VL)))
   12502              :         return 7652; /* ashrv4si3_mask */
   12503              :       if (!register_operand (operands[1], E_V4SImode)
   12504              :           || !nonimmediate_operand (operands[2], E_V4SImode)
   12505              :           || !(
   12506              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12507              : (TARGET_AVX512F) && 
   12508              : #line 29603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12509              : (TARGET_AVX2 && (16 == 64 || TARGET_AVX512VL))))
   12510              :         return -1;
   12511              :       return 9628; /* avx2_ashrvv4si_mask */
   12512              : 
   12513              :     case E_V2DImode:
   12514              :       if (pattern135 (x2, 
   12515              : E_QImode, 
   12516              : E_V2DImode) != 0)
   12517              :         return -1;
   12518              :       if (nonimmediate_operand (operands[1], E_V2DImode)
   12519              :           && nonmemory_operand (operands[2], E_DImode)
   12520              :           && (
   12521              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12522              : (TARGET_AVX512F) && 
   12523              : #line 17419 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12524              : (TARGET_AVX512VL)))
   12525              :         return 7654; /* ashrv2di3_mask */
   12526              :       if (!register_operand (operands[1], E_V2DImode)
   12527              :           || !nonimmediate_operand (operands[2], E_V2DImode)
   12528              :           || !(
   12529              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12530              : (TARGET_AVX512F) && (
   12531              : #line 29603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12532              : (TARGET_AVX2 && (16 == 64 || TARGET_AVX512VL)) && 
   12533              : #line 675 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12534              : (TARGET_AVX512VL))))
   12535              :         return -1;
   12536              :       return 9634; /* avx2_ashrvv2di_mask */
   12537              : 
   12538              :     case E_V32HImode:
   12539              :       if (pattern135 (x2, 
   12540              : E_SImode, 
   12541              : E_V32HImode) != 0)
   12542              :         return -1;
   12543              :       if (nonimmediate_operand (operands[1], E_V32HImode)
   12544              :           && nonmemory_operand (operands[2], E_DImode)
   12545              :           && (
   12546              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12547              : (TARGET_AVX512F) && (
   12548              : #line 17463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12549              : (TARGET_AVX512F) && 
   12550              : #line 780 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12551              : (TARGET_AVX512BW))))
   12552              :         return 7664; /* ashrv32hi3_mask */
   12553              :       if (!register_operand (operands[1], E_V32HImode)
   12554              :           || !nonimmediate_operand (operands[2], E_V32HImode)
   12555              :           || !(
   12556              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12557              : (TARGET_AVX512F) && 
   12558              : #line 29614 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12559              : (TARGET_AVX512BW)))
   12560              :         return -1;
   12561              :       return 9644; /* avx512bw_ashrvv32hi_mask */
   12562              : 
   12563              :     case E_V4DImode:
   12564              :       if (pattern135 (x2, 
   12565              : E_QImode, 
   12566              : E_V4DImode) != 0)
   12567              :         return -1;
   12568              :       if (nonimmediate_operand (operands[1], E_V4DImode)
   12569              :           && nonmemory_operand (operands[2], E_DImode)
   12570              :           && (
   12571              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12572              : (TARGET_AVX512F) && (
   12573              : #line 17463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12574              : (TARGET_AVX512F) && 
   12575              : #line 781 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12576              : (TARGET_AVX512VL))))
   12577              :         return 7666; /* ashrv4di3_mask */
   12578              :       if (!register_operand (operands[1], E_V4DImode)
   12579              :           || !nonimmediate_operand (operands[2], E_V4DImode)
   12580              :           || !(
   12581              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12582              : (TARGET_AVX512F) && (
   12583              : #line 29603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12584              : (TARGET_AVX2 && (32 == 64 || TARGET_AVX512VL)) && 
   12585              : #line 675 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12586              : (TARGET_AVX512VL))))
   12587              :         return -1;
   12588              :       return 9636; /* avx2_ashrvv4di_mask */
   12589              : 
   12590              :     case E_V16SImode:
   12591              :       if (pattern135 (x2, 
   12592              : E_HImode, 
   12593              : E_V16SImode) != 0)
   12594              :         return -1;
   12595              :       if (nonimmediate_operand (operands[1], E_V16SImode)
   12596              :           && nonmemory_operand (operands[2], E_DImode)
   12597              :           && 
   12598              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12599              : (TARGET_AVX512F))
   12600              :         return 7668; /* ashrv16si3_mask */
   12601              :       if (!register_operand (operands[1], E_V16SImode)
   12602              :           || !nonimmediate_operand (operands[2], E_V16SImode)
   12603              :           || !(
   12604              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12605              : (TARGET_AVX512F) && (
   12606              : #line 29603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12607              : (TARGET_AVX2 && (64 == 64 || TARGET_AVX512VL)) && 
   12608              : #line 674 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12609              : (TARGET_AVX512F))))
   12610              :         return -1;
   12611              :       return 9632; /* avx512f_ashrvv16si_mask */
   12612              : 
   12613              :     case E_V8DImode:
   12614              :       if (pattern135 (x2, 
   12615              : E_QImode, 
   12616              : E_V8DImode) != 0)
   12617              :         return -1;
   12618              :       if (nonimmediate_operand (operands[1], E_V8DImode)
   12619              :           && nonmemory_operand (operands[2], E_DImode)
   12620              :           && 
   12621              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12622              : (TARGET_AVX512F))
   12623              :         return 7670; /* ashrv8di3_mask */
   12624              :       if (!register_operand (operands[1], E_V8DImode)
   12625              :           || !nonimmediate_operand (operands[2], E_V8DImode)
   12626              :           || !(
   12627              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12628              : (TARGET_AVX512F) && (
   12629              : #line 29603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12630              : (TARGET_AVX2 && (64 == 64 || TARGET_AVX512VL)) && 
   12631              : #line 676 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12632              : (TARGET_AVX512F))))
   12633              :         return -1;
   12634              :       return 9638; /* avx512f_ashrvv8di_mask */
   12635              : 
   12636              :     default:
   12637              :       return -1;
   12638              :     }
   12639              : }
   12640              : 
   12641              :  int
   12642              : recog_191 (rtx x1 ATTRIBUTE_UNUSED,
   12643              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   12644              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   12645              : {
   12646              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   12647              :   rtx x2;
   12648              :   int res ATTRIBUTE_UNUSED;
   12649              :   x2 = XEXP (x1, 1);
   12650              :   switch (pattern148 (x2))
   12651              :     {
   12652              :     case 0:
   12653              :       if (nonimmediate_operand (operands[1], E_V16HImode)
   12654              :           && nonmemory_operand (operands[2], E_DImode)
   12655              :           && (
   12656              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12657              : (TARGET_AVX512F) && (
   12658              : #line 17615 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12659              : (TARGET_AVX512VL) && 
   12660              : #line 790 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12661              : (TARGET_AVX512BW))))
   12662              :         return 7683; /* lshrv16hi3_mask */
   12663              :       if (!register_operand (operands[1], E_V16HImode)
   12664              :           || !nonimmediate_operand (operands[2], E_V16HImode)
   12665              :           || !(
   12666              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12667              : (TARGET_AVX512F) && (
   12668              : #line 29636 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12669              : (TARGET_AVX512BW) && 
   12670              : #line 679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12671              : (TARGET_AVX512VL))))
   12672              :         return -1;
   12673              :       return 9676; /* avx512vl_lshrvv16hi_mask */
   12674              : 
   12675              :     case 1:
   12676              :       if (nonimmediate_operand (operands[1], E_V8HImode)
   12677              :           && nonmemory_operand (operands[2], E_DImode)
   12678              :           && (
   12679              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12680              : (TARGET_AVX512F) && (
   12681              : #line 17615 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12682              : (TARGET_AVX512VL) && 
   12683              : #line 790 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12684              : (TARGET_AVX512BW))))
   12685              :         return 7687; /* lshrv8hi3_mask */
   12686              :       if (!register_operand (operands[1], E_V8HImode)
   12687              :           || !nonimmediate_operand (operands[2], E_V8HImode)
   12688              :           || !(
   12689              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12690              : (TARGET_AVX512F) && (
   12691              : #line 29636 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12692              : (TARGET_AVX512BW) && 
   12693              : #line 679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12694              : (TARGET_AVX512VL))))
   12695              :         return -1;
   12696              :       return 9672; /* avx512vl_lshrvv8hi_mask */
   12697              : 
   12698              :     case 2:
   12699              :       if (nonimmediate_operand (operands[1], E_V8SImode)
   12700              :           && nonmemory_operand (operands[2], E_DImode)
   12701              :           && (
   12702              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12703              : (TARGET_AVX512F) && 
   12704              : #line 17615 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12705              : (TARGET_AVX512VL)))
   12706              :         return 7691; /* lshrv8si3_mask */
   12707              :       if (!register_operand (operands[1], E_V8SImode)
   12708              :           || !nonimmediate_operand (operands[2], E_V8SImode)
   12709              :           || !(
   12710              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12711              : (TARGET_AVX512F) && 
   12712              : #line 29625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12713              : (TARGET_AVX2 && (32 == 64 || TARGET_AVX512VL))))
   12714              :         return -1;
   12715              :       return 9652; /* avx2_lshrvv8si_mask */
   12716              : 
   12717              :     case 3:
   12718              :       if (nonimmediate_operand (operands[1], E_V4SImode)
   12719              :           && nonmemory_operand (operands[2], E_DImode)
   12720              :           && (
   12721              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12722              : (TARGET_AVX512F) && 
   12723              : #line 17615 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12724              : (TARGET_AVX512VL)))
   12725              :         return 7695; /* lshrv4si3_mask */
   12726              :       if (!register_operand (operands[1], E_V4SImode)
   12727              :           || !nonimmediate_operand (operands[2], E_V4SImode)
   12728              :           || !(
   12729              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12730              : (TARGET_AVX512F) && 
   12731              : #line 29625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12732              : (TARGET_AVX2 && (16 == 64 || TARGET_AVX512VL))))
   12733              :         return -1;
   12734              :       return 9656; /* avx2_lshrvv4si_mask */
   12735              : 
   12736              :     case 4:
   12737              :       if (nonimmediate_operand (operands[1], E_V4DImode)
   12738              :           && nonmemory_operand (operands[2], E_DImode)
   12739              :           && (
   12740              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12741              : (TARGET_AVX512F) && 
   12742              : #line 17615 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12743              : (TARGET_AVX512VL)))
   12744              :         return 7699; /* lshrv4di3_mask */
   12745              :       if (!register_operand (operands[1], E_V4DImode)
   12746              :           || !nonimmediate_operand (operands[2], E_V4DImode)
   12747              :           || !(
   12748              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12749              : (TARGET_AVX512F) && 
   12750              : #line 29625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12751              : (TARGET_AVX2 && (32 == 64 || TARGET_AVX512VL))))
   12752              :         return -1;
   12753              :       return 9664; /* avx2_lshrvv4di_mask */
   12754              : 
   12755              :     case 5:
   12756              :       if (nonimmediate_operand (operands[1], E_V2DImode)
   12757              :           && nonmemory_operand (operands[2], E_DImode)
   12758              :           && (
   12759              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12760              : (TARGET_AVX512F) && 
   12761              : #line 17615 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12762              : (TARGET_AVX512VL)))
   12763              :         return 7703; /* lshrv2di3_mask */
   12764              :       if (!register_operand (operands[1], E_V2DImode)
   12765              :           || !nonimmediate_operand (operands[2], E_V2DImode)
   12766              :           || !(
   12767              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12768              : (TARGET_AVX512F) && 
   12769              : #line 29625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12770              : (TARGET_AVX2 && (16 == 64 || TARGET_AVX512VL))))
   12771              :         return -1;
   12772              :       return 9668; /* avx2_lshrvv2di_mask */
   12773              : 
   12774              :     case 6:
   12775              :       if (nonimmediate_operand (operands[1], E_V32HImode)
   12776              :           && nonmemory_operand (operands[2], E_DImode)
   12777              :           && (
   12778              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12779              : (TARGET_AVX512F) && (
   12780              : #line 17703 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12781              : (TARGET_AVX512F) && 
   12782              : #line 777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12783              : (TARGET_AVX512BW))))
   12784              :         return 7723; /* lshrv32hi3_mask */
   12785              :       if (!register_operand (operands[1], E_V32HImode)
   12786              :           || !nonimmediate_operand (operands[2], E_V32HImode)
   12787              :           || !(
   12788              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12789              : (TARGET_AVX512F) && 
   12790              : #line 29636 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12791              : (TARGET_AVX512BW)))
   12792              :         return -1;
   12793              :       return 9680; /* avx512bw_lshrvv32hi_mask */
   12794              : 
   12795              :     case 7:
   12796              :       if (nonimmediate_operand (operands[1], E_V16SImode)
   12797              :           && nonmemory_operand (operands[2], E_DImode)
   12798              :           && 
   12799              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12800              : (TARGET_AVX512F))
   12801              :         return 7727; /* lshrv16si3_mask */
   12802              :       if (!register_operand (operands[1], E_V16SImode)
   12803              :           || !nonimmediate_operand (operands[2], E_V16SImode)
   12804              :           || !(
   12805              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12806              : (TARGET_AVX512F) && (
   12807              : #line 29625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12808              : (TARGET_AVX2 && (64 == 64 || TARGET_AVX512VL)) && 
   12809              : #line 795 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12810              : (TARGET_AVX512F))))
   12811              :         return -1;
   12812              :       return 9648; /* avx512f_lshrvv16si_mask */
   12813              : 
   12814              :     case 8:
   12815              :       if (nonimmediate_operand (operands[1], E_V8DImode)
   12816              :           && nonmemory_operand (operands[2], E_DImode)
   12817              :           && 
   12818              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12819              : (TARGET_AVX512F))
   12820              :         return 7731; /* lshrv8di3_mask */
   12821              :       if (!register_operand (operands[1], E_V8DImode)
   12822              :           || !nonimmediate_operand (operands[2], E_V8DImode)
   12823              :           || !(
   12824              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12825              : (TARGET_AVX512F) && (
   12826              : #line 29625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12827              : (TARGET_AVX2 && (64 == 64 || TARGET_AVX512VL)) && 
   12828              : #line 796 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12829              : (TARGET_AVX512F))))
   12830              :         return -1;
   12831              :       return 9660; /* avx512f_lshrvv8di_mask */
   12832              : 
   12833              :     default:
   12834              :       return -1;
   12835              :     }
   12836              : }
   12837              : 
   12838              :  int
   12839              : recog_197 (rtx x1 ATTRIBUTE_UNUSED,
   12840              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   12841              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   12842              : {
   12843              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   12844              :   rtx x2, x3, x4, x5;
   12845              :   int res ATTRIBUTE_UNUSED;
   12846              :   x2 = XEXP (x1, 1);
   12847              :   switch (pattern157 (x2))
   12848              :     {
   12849              :     case 0:
   12850              :       if (!(
   12851              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12852              : (TARGET_AVX512F) && 
   12853              : #line 24466 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12854              : (TARGET_AVX2 && TARGET_AVX512BW && TARGET_AVX512VL)))
   12855              :         return -1;
   12856              :       return 8799; /* avx2_sign_extendv16qiv16hi2_mask */
   12857              : 
   12858              :     case 1:
   12859              :       if (!(
   12860              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12861              : (TARGET_AVX512F) && 
   12862              : #line 24520 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12863              : (TARGET_AVX512BW)))
   12864              :         return -1;
   12865              :       return 8807; /* avx512bw_sign_extendv32qiv32hi2_mask */
   12866              : 
   12867              :     case 2:
   12868              :       if (!(
   12869              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12870              : (TARGET_AVX512F) && 
   12871              : #line 24590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12872              : (TARGET_SSE4_1 && TARGET_AVX512BW && TARGET_AVX512VL)))
   12873              :         return -1;
   12874              :       return 8819; /* *sse4_1_sign_extendv8qiv8hi2_mask_1 */
   12875              : 
   12876              :     case 3:
   12877              :       if (!
   12878              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12879              : (TARGET_AVX512F))
   12880              :         return -1;
   12881              :       return 8831; /* avx512f_sign_extendv16qiv16si2_mask */
   12882              : 
   12883              :     case 4:
   12884              :       if (!
   12885              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12886              : (TARGET_AVX512F))
   12887              :         return -1;
   12888              :       return 8861; /* avx512f_sign_extendv16hiv16si2_mask */
   12889              : 
   12890              :     case 5:
   12891              :       if (!(
   12892              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12893              : (TARGET_AVX512F) && 
   12894              : #line 24773 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12895              : (TARGET_AVX2 && TARGET_AVX512VL)))
   12896              :         return -1;
   12897              :       return 8839; /* *avx2_sign_extendv8qiv8si2_mask_1 */
   12898              : 
   12899              :     case 6:
   12900              :       if (!(
   12901              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12902              : (TARGET_AVX512F) && 
   12903              : #line 24993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12904              : (TARGET_AVX2 && TARGET_AVX512VL)))
   12905              :         return -1;
   12906              :       return 8869; /* avx2_sign_extendv8hiv8si2_mask */
   12907              : 
   12908              :     case 7:
   12909              :       if (!(
   12910              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12911              : (TARGET_AVX512F) && 
   12912              : #line 24861 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12913              : (TARGET_SSE4_1 && TARGET_AVX512VL)))
   12914              :         return -1;
   12915              :       return 8851; /* *sse4_1_sign_extendv4qiv4si2_mask_1 */
   12916              : 
   12917              :     case 8:
   12918              :       if (!(
   12919              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12920              : (TARGET_AVX512F) && 
   12921              : #line 25063 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12922              : (TARGET_SSE4_1 && TARGET_AVX512VL)))
   12923              :         return -1;
   12924              :       return 8881; /* *sse4_1_sign_extendv4hiv4si2_mask_1 */
   12925              : 
   12926              :     case 9:
   12927              :       if (!
   12928              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12929              : (TARGET_AVX512F))
   12930              :         return -1;
   12931              :       return 8897; /* *avx512f_sign_extendv8qiv8di2_mask_1 */
   12932              : 
   12933              :     case 10:
   12934              :       if (!
   12935              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12936              : (TARGET_AVX512F))
   12937              :         return -1;
   12938              :       return 8928; /* avx512f_sign_extendv8hiv8di2_mask */
   12939              : 
   12940              :     case 11:
   12941              :       if (!
   12942              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12943              : (TARGET_AVX512F))
   12944              :         return -1;
   12945              :       return 8956; /* avx512f_sign_extendv8siv8di2_mask */
   12946              : 
   12947              :     case 12:
   12948              :       if (!(
   12949              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12950              : (TARGET_AVX512F) && 
   12951              : #line 25303 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12952              : (TARGET_AVX2 && TARGET_AVX512VL)))
   12953              :         return -1;
   12954              :       return 8909; /* *avx2_sign_extendv4qiv4di2_mask_1 */
   12955              : 
   12956              :     case 13:
   12957              :       if (!(
   12958              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12959              : (TARGET_AVX512F) && 
   12960              : #line 25475 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12961              : (TARGET_AVX2 && TARGET_AVX512VL)))
   12962              :         return -1;
   12963              :       return 8936; /* *avx2_sign_extendv4hiv4di2_mask_1 */
   12964              : 
   12965              :     case 14:
   12966              :       if (!(
   12967              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12968              : (TARGET_AVX512F) && 
   12969              : #line 25686 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12970              : (TARGET_AVX2 && TARGET_AVX512VL)))
   12971              :         return -1;
   12972              :       return 8962; /* avx2_sign_extendv4siv4di2_mask */
   12973              : 
   12974              :     case 15:
   12975              :       if (!(
   12976              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12977              : (TARGET_AVX512F) && 
   12978              : #line 25394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12979              : (TARGET_SSE4_1 && TARGET_AVX512VL)))
   12980              :         return -1;
   12981              :       return 8921; /* *sse4_1_sign_extendv2qiv2di2_mask_1 */
   12982              : 
   12983              :     case 16:
   12984              :       if (!(
   12985              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12986              : (TARGET_AVX512F) && 
   12987              : #line 25558 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12988              : (TARGET_SSE4_1 && TARGET_AVX512VL)))
   12989              :         return -1;
   12990              :       return 8948; /* *sse4_1_sign_extendv2hiv2di2_mask_1 */
   12991              : 
   12992              :     case 17:
   12993              :       if (!(
   12994              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12995              : (TARGET_AVX512F) && 
   12996              : #line 25752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12997              : (TARGET_SSE4_1 && TARGET_AVX512VL)))
   12998              :         return -1;
   12999              :       return 8972; /* *sse4_1_sign_extendv2siv2di2_mask_1 */
   13000              : 
   13001              :     case 18:
   13002              :       x3 = XEXP (x2, 0);
   13003              :       x4 = XEXP (x3, 0);
   13004              :       x5 = XEXP (x4, 0);
   13005              :       operands[1] = x5;
   13006              :       switch (pattern907 (x2))
   13007              :         {
   13008              :         case 0:
   13009              :           if ((
   13010              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13011              : (TARGET_AVX512F) && 
   13012              : #line 24578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13013              : (TARGET_SSE4_1 && TARGET_AVX512BW && TARGET_AVX512VL)))
   13014              :             return 8815; /* sse4_1_sign_extendv8qiv8hi2_mask */
   13015              :           break;
   13016              : 
   13017              :         case 1:
   13018              :           if ((
   13019              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13020              : (TARGET_AVX512F) && 
   13021              : #line 24762 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13022              : (TARGET_AVX2 && TARGET_AVX512VL)))
   13023              :             return 8835; /* avx2_sign_extendv8qiv8si2_mask */
   13024              :           break;
   13025              : 
   13026              :         case 2:
   13027              :           if (
   13028              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13029              : (TARGET_AVX512F))
   13030              :             return 8893; /* avx512f_sign_extendv8qiv8di2_mask */
   13031              :           break;
   13032              : 
   13033              :         case 3:
   13034              :           if ((
   13035              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13036              : (TARGET_AVX512F) && 
   13037              : #line 24849 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13038              : (TARGET_SSE4_1 && TARGET_AVX512VL)))
   13039              :             return 8847; /* sse4_1_sign_extendv4qiv4si2_mask */
   13040              :           break;
   13041              : 
   13042              :         case 4:
   13043              :           if ((
   13044              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13045              : (TARGET_AVX512F) && 
   13046              : #line 25051 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13047              : (TARGET_SSE4_1 && TARGET_AVX512VL)))
   13048              :             return 8877; /* sse4_1_sign_extendv4hiv4si2_mask */
   13049              :           break;
   13050              : 
   13051              :         case 5:
   13052              :           if ((
   13053              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13054              : (TARGET_AVX512F) && 
   13055              : #line 25292 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13056              : (TARGET_AVX2 && TARGET_AVX512VL)))
   13057              :             return 8905; /* avx2_sign_extendv4qiv4di2_mask */
   13058              :           break;
   13059              : 
   13060              :         case 6:
   13061              :           if ((
   13062              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13063              : (TARGET_AVX512F) && 
   13064              : #line 25464 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13065              : (TARGET_AVX2 && TARGET_AVX512VL)))
   13066              :             return 8932; /* avx2_sign_extendv4hiv4di2_mask */
   13067              :           break;
   13068              : 
   13069              :         case 7:
   13070              :           if ((
   13071              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13072              : (TARGET_AVX512F) && 
   13073              : #line 25382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13074              : (TARGET_SSE4_1 && TARGET_AVX512VL)))
   13075              :             return 8917; /* sse4_1_sign_extendv2qiv2di2_mask */
   13076              :           break;
   13077              : 
   13078              :         case 8:
   13079              :           if ((
   13080              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13081              : (TARGET_AVX512F) && 
   13082              : #line 25546 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13083              : (TARGET_SSE4_1 && TARGET_AVX512VL)))
   13084              :             return 8944; /* sse4_1_sign_extendv2hiv2di2_mask */
   13085              :           break;
   13086              : 
   13087              :         case 9:
   13088              :           if ((
   13089              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13090              : (TARGET_AVX512F) && 
   13091              : #line 25740 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13092              : (TARGET_SSE4_1 && TARGET_AVX512VL)))
   13093              :             return 8968; /* sse4_1_sign_extendv2siv2di2_mask */
   13094              :           break;
   13095              : 
   13096              :         default:
   13097              :           break;
   13098              :         }
   13099              :       if (GET_CODE (x5) != SUBREG
   13100              :           || maybe_ne (SUBREG_BYTE (x5), 0))
   13101              :         return -1;
   13102              :       switch (pattern414 (x2))
   13103              :         {
   13104              :         case 0:
   13105              :           if (!
   13106              : #line 24637 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13107              : (TARGET_AVX512VL && TARGET_AVX512BW
   13108              :    && ix86_pre_reload_split ()))
   13109              :             return -1;
   13110              :           return 8824; /* *avx512vl_sign_extendv8qiv8hi2_mask_2 */
   13111              : 
   13112              :         case 1:
   13113              :           if (!
   13114              : #line 24815 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13115              : (TARGET_AVX512VL
   13116              :    && ix86_pre_reload_split ()))
   13117              :             return -1;
   13118              :           return 8844; /* *avx512vl_sign_extendv8qiv8si2_mask_2 */
   13119              : 
   13120              :         case 2:
   13121              :           if (!
   13122              : #line 25259 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13123              : (TARGET_AVX512F && ix86_pre_reload_split ()))
   13124              :             return -1;
   13125              :           return 8902; /* *avx512f_sign_extendv8qiv8di2_mask_2 */
   13126              : 
   13127              :         case 3:
   13128              :           if (!
   13129              : #line 25103 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13130              : (TARGET_AVX512VL
   13131              :    && ix86_pre_reload_split ()))
   13132              :             return -1;
   13133              :           return 8886; /* *avx512vl_sign_extendv4hiv4si2_mask_2 */
   13134              : 
   13135              :         case 4:
   13136              :           if (!
   13137              : #line 25513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13138              : (TARGET_AVX512VL
   13139              :    && ix86_pre_reload_split ()))
   13140              :             return -1;
   13141              :           return 8941; /* *avx512vl_sign_extendv4hiv4di2_mask_2 */
   13142              : 
   13143              :         case 5:
   13144              :           if (!
   13145              : #line 25790 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13146              : (TARGET_AVX512VL
   13147              :    && ix86_pre_reload_split ()))
   13148              :             return -1;
   13149              :           return 8977; /* *avx512vl_sign_extendv2siv2di2_mask_2 */
   13150              : 
   13151              :         case 6:
   13152              :           if ((
   13153              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13154              : (TARGET_AVX512F) && 
   13155              : #line 24884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13156              : (TARGET_SSE4_1 && TARGET_AVX512VL
   13157              :    && ix86_pre_reload_split ())))
   13158              :             return 8855; /* *sse4_1_sign_extendv4qiv4si2_2 */
   13159              :           if (!
   13160              : #line 24909 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13161              : (TARGET_AVX512VL
   13162              :    && ix86_pre_reload_split ()))
   13163              :             return -1;
   13164              :           return 8858; /* *avx512vl_sign_extendv4qiv4si2_mask_2 */
   13165              : 
   13166              :         case 7:
   13167              :           if (!
   13168              : #line 25349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13169              : (TARGET_AVX512VL
   13170              :    && ix86_pre_reload_split ()))
   13171              :             return -1;
   13172              :           return 8914; /* *avx512vl_sign_extendv4qiv4di2_mask_2 */
   13173              : 
   13174              :         case 8:
   13175              :           if (!
   13176              : #line 25604 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13177              : (TARGET_AVX512VL
   13178              :    && ix86_pre_reload_split ()))
   13179              :             return -1;
   13180              :           return 8953; /* *avx512vl_sign_extendv2hiv2di2_mask_2 */
   13181              : 
   13182              :         default:
   13183              :           return -1;
   13184              :         }
   13185              : 
   13186              :     default:
   13187              :       return -1;
   13188              :     }
   13189              : }
   13190              : 
   13191              :  int
   13192              : recog_206 (rtx x1 ATTRIBUTE_UNUSED,
   13193              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   13194              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   13195              : {
   13196              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   13197              :   rtx x2;
   13198              :   int res ATTRIBUTE_UNUSED;
   13199              :   x2 = XEXP (x1, 1);
   13200              :   switch (pattern144 (x2))
   13201              :     {
   13202              :     case 0:
   13203              :       if (!(
   13204              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13205              : (TARGET_AVX512F) && (
   13206              : #line 8212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13207              : (TARGET_AVX512FP16) && 
   13208              : #line 687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13209              : (TARGET_AVX512VL))))
   13210              :         return -1;
   13211              :       return 4654; /* avx512fp16_fix_truncv8hi2_mask */
   13212              : 
   13213              :     case 1:
   13214              :       if (!(
   13215              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13216              : (TARGET_AVX512F) && (
   13217              : #line 8212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13218              : (TARGET_AVX512FP16) && 
   13219              : #line 687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13220              : (TARGET_AVX512VL))))
   13221              :         return -1;
   13222              :       return 4662; /* avx512fp16_fix_truncv16hi2_mask */
   13223              : 
   13224              :     case 2:
   13225              :       if (!(
   13226              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13227              : (TARGET_AVX512F) && 
   13228              : #line 8212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13229              : (TARGET_AVX512FP16)))
   13230              :         return -1;
   13231              :       return 4670; /* avx512fp16_fix_truncv32hi2_mask */
   13232              : 
   13233              :     case 3:
   13234              :       switch (GET_MODE (operands[1]))
   13235              :         {
   13236              :         case E_V8HFmode:
   13237              :           if (!vector_operand (operands[1], E_V8HFmode)
   13238              :               || !(
   13239              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13240              : (TARGET_AVX512F) && (
   13241              : #line 8212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13242              : (TARGET_AVX512FP16) && 
   13243              : #line 688 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13244              : (TARGET_AVX512VL))))
   13245              :             return -1;
   13246              :           return 4678; /* avx512fp16_fix_truncv8si2_mask */
   13247              : 
   13248              :         case E_V8SFmode:
   13249              :           if (!nonimmediate_operand (operands[1], E_V8SFmode)
   13250              :               || !(
   13251              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13252              : (TARGET_AVX512F) && 
   13253              : #line 9126 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13254              : (TARGET_AVX && TARGET_AVX512VL)))
   13255              :             return -1;
   13256              :           return 4929; /* fix_truncv8sfv8si2_mask */
   13257              : 
   13258              :         case E_V8DFmode:
   13259              :           if (!vector_operand (operands[1], E_V8DFmode)
   13260              :               || !
   13261              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13262              : (TARGET_AVX512F))
   13263              :             return -1;
   13264              :           return 5069; /* fix_truncv8dfv8si2_mask */
   13265              : 
   13266              :         default:
   13267              :           return -1;
   13268              :         }
   13269              : 
   13270              :     case 4:
   13271              :       if (!(
   13272              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13273              : (TARGET_AVX512F) && 
   13274              : #line 8212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13275              : (TARGET_AVX512FP16)))
   13276              :         return -1;
   13277              :       return 4686; /* avx512fp16_fix_truncv16si2_mask */
   13278              : 
   13279              :     case 5:
   13280              :       if (!
   13281              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13282              : (TARGET_AVX512F))
   13283              :         return -1;
   13284              :       return 4920; /* fix_truncv16sfv16si2_mask */
   13285              : 
   13286              :     case 6:
   13287              :       if (!(
   13288              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13289              : (TARGET_AVX512F) && 
   13290              : #line 8212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13291              : (TARGET_AVX512FP16)))
   13292              :         return -1;
   13293              :       return 4694; /* avx512fp16_fix_truncv8di2_mask */
   13294              : 
   13295              :     case 7:
   13296              :       if (!(
   13297              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13298              : (TARGET_AVX512F) && 
   13299              : #line 10029 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13300              : (TARGET_AVX512DQ && 1)))
   13301              :         return -1;
   13302              :       return 5106; /* fix_truncv8dfv8di2_mask */
   13303              : 
   13304              :     case 8:
   13305              :       if (!(
   13306              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13307              : (TARGET_AVX512F) && 
   13308              : #line 10072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13309              : (TARGET_AVX512DQ && 1)))
   13310              :         return -1;
   13311              :       return 5150; /* fix_truncv8sfv8di2_mask */
   13312              : 
   13313              :     case 9:
   13314              :       switch (GET_MODE (operands[1]))
   13315              :         {
   13316              :         case E_V4HFmode:
   13317              :           if (!memory_operand (operands[1], E_V4HFmode)
   13318              :               || !(
   13319              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13320              : (TARGET_AVX512F) && 
   13321              : #line 8262 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13322              : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
   13323              :             return -1;
   13324              :           return 4717; /* *avx512fp16_fix_truncv4si2_load_mask */
   13325              : 
   13326              :         case E_V4SFmode:
   13327              :           if (!vector_operand (operands[1], E_V4SFmode)
   13328              :               || !(
   13329              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13330              : (TARGET_AVX512F) && 
   13331              : #line 9156 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13332              : (TARGET_SSE2 && TARGET_AVX512VL)))
   13333              :             return -1;
   13334              :           return 4933; /* fix_truncv4sfv4si2_mask */
   13335              : 
   13336              :         case E_V4DFmode:
   13337              :           if (!nonimmediate_operand (operands[1], E_V4DFmode)
   13338              :               || !(
   13339              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13340              : (TARGET_AVX512F) && 
   13341              : #line 9989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13342              : (TARGET_AVX || (TARGET_AVX512VL && TARGET_AVX512F))))
   13343              :             return -1;
   13344              :           return 5083; /* fix_truncv4dfv4si2_mask */
   13345              : 
   13346              :         default:
   13347              :           return -1;
   13348              :         }
   13349              : 
   13350              :     case 10:
   13351              :       if (!(
   13352              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13353              : (TARGET_AVX512F) && 
   13354              : #line 8262 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13355              : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
   13356              :         return -1;
   13357              :       return 4721; /* *avx512fp16_fix_truncv4di2_load_mask */
   13358              : 
   13359              :     case 11:
   13360              :       if (!(
   13361              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13362              : (TARGET_AVX512F) && (
   13363              : #line 10029 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13364              : (TARGET_AVX512DQ && 1) && 
   13365              : #line 531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13366              : (TARGET_AVX512VL))))
   13367              :         return -1;
   13368              :       return 5113; /* fix_truncv4dfv4di2_mask */
   13369              : 
   13370              :     case 12:
   13371              :       if (!(
   13372              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13373              : (TARGET_AVX512F) && (
   13374              : #line 10072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13375              : (TARGET_AVX512DQ && 1) && 
   13376              : #line 620 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13377              : (TARGET_AVX512VL))))
   13378              :         return -1;
   13379              :       return 5157; /* fix_truncv4sfv4di2_mask */
   13380              : 
   13381              :     case 13:
   13382              :       if (!(
   13383              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13384              : (TARGET_AVX512F) && 
   13385              : #line 8312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13386              : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
   13387              :         return -1;
   13388              :       return 4733; /* *avx512fp16_fix_truncv2di2_load_mask */
   13389              : 
   13390              :     case 14:
   13391              :       if (!(
   13392              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13393              : (TARGET_AVX512F) && (
   13394              : #line 10029 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13395              : (TARGET_AVX512DQ && 1) && 
   13396              : #line 531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13397              : (TARGET_AVX512VL))))
   13398              :         return -1;
   13399              :       return 5117; /* fix_truncv2dfv2di2_mask */
   13400              : 
   13401              :     case 15:
   13402              :       if (!(
   13403              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13404              : (TARGET_AVX512F) && 
   13405              : #line 8252 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13406              : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
   13407              :         return -1;
   13408              :       return 4709; /* avx512fp16_fix_truncv4si2_mask */
   13409              : 
   13410              :     case 16:
   13411              :       if (!(
   13412              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13413              : (TARGET_AVX512F) && 
   13414              : #line 8252 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13415              : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
   13416              :         return -1;
   13417              :       return 4713; /* avx512fp16_fix_truncv4di2_mask */
   13418              : 
   13419              :     case 17:
   13420              :       if (!(
   13421              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13422              : (TARGET_AVX512F) && 
   13423              : #line 8302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13424              : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
   13425              :         return -1;
   13426              :       return 4729; /* avx512fp16_fix_truncv2di2_mask */
   13427              : 
   13428              :     case 18:
   13429              :       if (!(
   13430              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13431              : (TARGET_AVX512F) && 
   13432              : #line 10095 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13433              : (TARGET_AVX512DQ && TARGET_AVX512VL)))
   13434              :         return -1;
   13435              :       return 5165; /* avx512dq_fix_truncv2sfv2di2_mask */
   13436              : 
   13437              :     default:
   13438              :       return -1;
   13439              :     }
   13440              : }
   13441              : 
   13442              :  int
   13443              : recog_217 (rtx x1 ATTRIBUTE_UNUSED,
   13444              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   13445              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   13446              : {
   13447              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   13448              :   rtx x2, x3;
   13449              :   int res ATTRIBUTE_UNUSED;
   13450              :   x2 = XEXP (x1, 1);
   13451              :   x3 = XVECEXP (x2, 0, 0);
   13452              :   operands[1] = x3;
   13453              :   switch (GET_MODE (operands[0]))
   13454              :     {
   13455              :     case E_V8SFmode:
   13456              :       if (!register_operand (operands[0], E_V8SFmode)
   13457              :           || GET_MODE (x2) != E_V8SFmode
   13458              :           || !vector_operand (operands[1], E_V8SFmode)
   13459              :           || !(
   13460              : #line 3158 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13461              : (TARGET_SSE) && 
   13462              : #line 444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13463              : (TARGET_AVX)))
   13464              :         return -1;
   13465              :       return 3015; /* avx_rsqrtv8sf2 */
   13466              : 
   13467              :     case E_V4SFmode:
   13468              :       if (!register_operand (operands[0], E_V4SFmode)
   13469              :           || GET_MODE (x2) != E_V4SFmode
   13470              :           || !vector_operand (operands[1], E_V4SFmode)
   13471              :           || !
   13472              : #line 3158 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13473              : (TARGET_SSE))
   13474              :         return -1;
   13475              :       return 3016; /* sse_rsqrtv4sf2 */
   13476              : 
   13477              :     case E_V32HFmode:
   13478              :       if (!register_operand (operands[0], E_V32HFmode)
   13479              :           || GET_MODE (x2) != E_V32HFmode
   13480              :           || !vector_operand (operands[1], E_V32HFmode)
   13481              :           || !
   13482              : #line 3170 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13483              : (TARGET_AVX512FP16))
   13484              :         return -1;
   13485              :       return 3017; /* avx512fp16_rsqrtv32hf2 */
   13486              : 
   13487              :     case E_V16HFmode:
   13488              :       if (!register_operand (operands[0], E_V16HFmode)
   13489              :           || GET_MODE (x2) != E_V16HFmode
   13490              :           || !vector_operand (operands[1], E_V16HFmode)
   13491              :           || !(
   13492              : #line 3170 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13493              : (TARGET_AVX512FP16) && 
   13494              : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13495              : (TARGET_AVX512VL)))
   13496              :         return -1;
   13497              :       return 3019; /* avx512fp16_rsqrtv16hf2 */
   13498              : 
   13499              :     case E_V8HFmode:
   13500              :       if (!register_operand (operands[0], E_V8HFmode)
   13501              :           || GET_MODE (x2) != E_V8HFmode
   13502              :           || !vector_operand (operands[1], E_V8HFmode)
   13503              :           || !(
   13504              : #line 3170 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13505              : (TARGET_AVX512FP16) && 
   13506              : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13507              : (TARGET_AVX512VL)))
   13508              :         return -1;
   13509              :       return 3021; /* avx512fp16_rsqrtv8hf2 */
   13510              : 
   13511              :     case E_V32BFmode:
   13512              :       if (!register_operand (operands[0], E_V32BFmode)
   13513              :           || GET_MODE (x2) != E_V32BFmode
   13514              :           || !nonimmediate_operand (operands[1], E_V32BFmode)
   13515              :           || !
   13516              : #line 33097 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13517              : (TARGET_AVX10_2))
   13518              :         return -1;
   13519              :       return 10750; /* avx10_2_rsqrtbf16_v32bf */
   13520              : 
   13521              :     case E_V16BFmode:
   13522              :       if (!register_operand (operands[0], E_V16BFmode)
   13523              :           || GET_MODE (x2) != E_V16BFmode
   13524              :           || !nonimmediate_operand (operands[1], E_V16BFmode)
   13525              :           || !
   13526              : #line 33097 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13527              : (TARGET_AVX10_2))
   13528              :         return -1;
   13529              :       return 10752; /* avx10_2_rsqrtbf16_v16bf */
   13530              : 
   13531              :     case E_V8BFmode:
   13532              :       if (!register_operand (operands[0], E_V8BFmode)
   13533              :           || GET_MODE (x2) != E_V8BFmode
   13534              :           || !nonimmediate_operand (operands[1], E_V8BFmode)
   13535              :           || !
   13536              : #line 33097 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13537              : (TARGET_AVX10_2))
   13538              :         return -1;
   13539              :       return 10754; /* avx10_2_rsqrtbf16_v8bf */
   13540              : 
   13541              :     default:
   13542              :       return -1;
   13543              :     }
   13544              : }
   13545              : 
   13546              :  int
   13547              : recog_222 (rtx x1 ATTRIBUTE_UNUSED,
   13548              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   13549              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   13550              : {
   13551              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   13552              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   13553              :   rtx x10, x11, x12, x13, x14;
   13554              :   int res ATTRIBUTE_UNUSED;
   13555              :   x2 = XEXP (x1, 1);
   13556              :   x3 = XVECEXP (x2, 0, 0);
   13557              :   x4 = XEXP (x3, 2);
   13558              :   if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   13559              :     return -1;
   13560              :   x5 = XEXP (x3, 0);
   13561              :   x6 = XEXP (x5, 2);
   13562              :   if (!register_operand (x6, E_QImode))
   13563              :     return -1;
   13564              :   x7 = XVECEXP (x2, 0, 1);
   13565              :   if (!const_4_or_8_to_11_operand (x7, E_SImode))
   13566              :     return -1;
   13567              :   x8 = XEXP (x5, 0);
   13568              :   x9 = XEXP (x8, 0);
   13569              :   switch (GET_CODE (x9))
   13570              :     {
   13571              :     case REG:
   13572              :     case SUBREG:
   13573              :     case MEM:
   13574              :       operands[1] = x9;
   13575              :       x10 = XEXP (x8, 1);
   13576              :       operands[2] = x10;
   13577              :       x11 = XEXP (x8, 2);
   13578              :       switch (GET_CODE (x11))
   13579              :         {
   13580              :         case REG:
   13581              :         case SUBREG:
   13582              :         case MEM:
   13583              :           operands[3] = x11;
   13584              :           switch (pattern1528 (x2))
   13585              :             {
   13586              :             case 0:
   13587              :               if (pattern1691 (x2, 
   13588              : E_V8HFmode) != 0)
   13589              :                 return -1;
   13590              :               if (nonimmediate_operand (operands[1], E_V8HFmode)
   13591              :                   && register_operand (operands[3], E_V8HFmode))
   13592              :                 {
   13593              :                   x12 = XEXP (x5, 1);
   13594              :                   if (rtx_equal_p (x12, operands[1]))
   13595              :                     {
   13596              :                       x13 = XEXP (x3, 1);
   13597              :                       if (rtx_equal_p (x13, operands[1])
   13598              :                           && (
   13599              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13600              : (TARGET_AVX512F) && (
   13601              : #line 7018 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13602              : (TARGET_AVX512F) && 
   13603              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13604              : (TARGET_AVX512FP16))))
   13605              :                         return 4283; /* avx512f_vmfmadd_v8hf_mask_round */
   13606              :                     }
   13607              :                 }
   13608              :               if (!register_operand (operands[1], E_V8HFmode)
   13609              :                   || !nonimmediate_operand (operands[3], E_V8HFmode))
   13610              :                 return -1;
   13611              :               x12 = XEXP (x5, 1);
   13612              :               if (!rtx_equal_p (x12, operands[3]))
   13613              :                 return -1;
   13614              :               x13 = XEXP (x3, 1);
   13615              :               if (!rtx_equal_p (x13, operands[3])
   13616              :                   || !(
   13617              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13618              : (TARGET_AVX512F) && (
   13619              : #line 7038 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13620              : (TARGET_AVX512F) && 
   13621              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13622              : (TARGET_AVX512FP16))))
   13623              :                 return -1;
   13624              :               return 4289; /* avx512f_vmfmadd_v8hf_mask3_round */
   13625              : 
   13626              :             case 1:
   13627              :               if (pattern1691 (x2, 
   13628              : E_V4SFmode) != 0)
   13629              :                 return -1;
   13630              :               if (nonimmediate_operand (operands[1], E_V4SFmode)
   13631              :                   && register_operand (operands[3], E_V4SFmode))
   13632              :                 {
   13633              :                   x12 = XEXP (x5, 1);
   13634              :                   if (rtx_equal_p (x12, operands[1]))
   13635              :                     {
   13636              :                       x13 = XEXP (x3, 1);
   13637              :                       if (rtx_equal_p (x13, operands[1])
   13638              :                           && 
   13639              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13640              : (TARGET_AVX512F))
   13641              :                         return 4285; /* avx512f_vmfmadd_v4sf_mask_round */
   13642              :                     }
   13643              :                 }
   13644              :               if (!register_operand (operands[1], E_V4SFmode)
   13645              :                   || !nonimmediate_operand (operands[3], E_V4SFmode))
   13646              :                 return -1;
   13647              :               x12 = XEXP (x5, 1);
   13648              :               if (!rtx_equal_p (x12, operands[3]))
   13649              :                 return -1;
   13650              :               x13 = XEXP (x3, 1);
   13651              :               if (!rtx_equal_p (x13, operands[3])
   13652              :                   || !
   13653              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13654              : (TARGET_AVX512F))
   13655              :                 return -1;
   13656              :               return 4291; /* avx512f_vmfmadd_v4sf_mask3_round */
   13657              : 
   13658              :             case 2:
   13659              :               if (pattern1691 (x2, 
   13660              : E_V2DFmode) != 0)
   13661              :                 return -1;
   13662              :               if (nonimmediate_operand (operands[1], E_V2DFmode)
   13663              :                   && register_operand (operands[3], E_V2DFmode))
   13664              :                 {
   13665              :                   x12 = XEXP (x5, 1);
   13666              :                   if (rtx_equal_p (x12, operands[1]))
   13667              :                     {
   13668              :                       x13 = XEXP (x3, 1);
   13669              :                       if (rtx_equal_p (x13, operands[1])
   13670              :                           && (
   13671              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13672              : (TARGET_AVX512F) && (
   13673              : #line 7018 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13674              : (TARGET_AVX512F) && 
   13675              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13676              : (TARGET_SSE2))))
   13677              :                         return 4287; /* avx512f_vmfmadd_v2df_mask_round */
   13678              :                     }
   13679              :                 }
   13680              :               if (!register_operand (operands[1], E_V2DFmode)
   13681              :                   || !nonimmediate_operand (operands[3], E_V2DFmode))
   13682              :                 return -1;
   13683              :               x12 = XEXP (x5, 1);
   13684              :               if (!rtx_equal_p (x12, operands[3]))
   13685              :                 return -1;
   13686              :               x13 = XEXP (x3, 1);
   13687              :               if (!rtx_equal_p (x13, operands[3])
   13688              :                   || !(
   13689              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13690              : (TARGET_AVX512F) && (
   13691              : #line 7038 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13692              : (TARGET_AVX512F) && 
   13693              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13694              : (TARGET_SSE2))))
   13695              :                 return -1;
   13696              :               return 4293; /* avx512f_vmfmadd_v2df_mask3_round */
   13697              : 
   13698              :             case 3:
   13699              :               if (pattern1755 (x2, 
   13700              : E_V8HFmode) != 0
   13701              :                   || !(
   13702              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13703              : (TARGET_AVX512F) && (
   13704              : #line 7070 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13705              : (TARGET_AVX512F) && 
   13706              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13707              : (TARGET_AVX512FP16))))
   13708              :                 return -1;
   13709              :               return 4295; /* avx512f_vmfmadd_v8hf_maskz_1_round */
   13710              : 
   13711              :             case 4:
   13712              :               if (pattern1755 (x2, 
   13713              : E_V4SFmode) != 0
   13714              :                   || !
   13715              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13716              : (TARGET_AVX512F))
   13717              :                 return -1;
   13718              :               return 4297; /* avx512f_vmfmadd_v4sf_maskz_1_round */
   13719              : 
   13720              :             case 5:
   13721              :               if (pattern1755 (x2, 
   13722              : E_V2DFmode) != 0
   13723              :                   || !(
   13724              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13725              : (TARGET_AVX512F) && (
   13726              : #line 7070 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13727              : (TARGET_AVX512F) && 
   13728              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13729              : (TARGET_SSE2))))
   13730              :                 return -1;
   13731              :               return 4299; /* avx512f_vmfmadd_v2df_maskz_1_round */
   13732              : 
   13733              :             default:
   13734              :               return -1;
   13735              :             }
   13736              : 
   13737              :         case NEG:
   13738              :           x14 = XEXP (x11, 0);
   13739              :           operands[3] = x14;
   13740              :           switch (pattern1528 (x2))
   13741              :             {
   13742              :             case 0:
   13743              :               if (pattern1692 (x2, 
   13744              : E_V8HFmode) != 0)
   13745              :                 return -1;
   13746              :               if (nonimmediate_operand (operands[1], E_V8HFmode)
   13747              :                   && register_operand (operands[3], E_V8HFmode))
   13748              :                 {
   13749              :                   x12 = XEXP (x5, 1);
   13750              :                   if (rtx_equal_p (x12, operands[1]))
   13751              :                     {
   13752              :                       x13 = XEXP (x3, 1);
   13753              :                       if (rtx_equal_p (x13, operands[1])
   13754              :                           && (
   13755              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13756              : (TARGET_AVX512F) && (
   13757              : #line 7091 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13758              : (TARGET_AVX512F) && 
   13759              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13760              : (TARGET_AVX512FP16))))
   13761              :                         return 4301; /* *avx512f_vmfmsub_v8hf_mask_round */
   13762              :                     }
   13763              :                 }
   13764              :               if (!register_operand (operands[1], E_V8HFmode)
   13765              :                   || !nonimmediate_operand (operands[3], E_V8HFmode))
   13766              :                 return -1;
   13767              :               x12 = XEXP (x5, 1);
   13768              :               if (!rtx_equal_p (x12, operands[3]))
   13769              :                 return -1;
   13770              :               x13 = XEXP (x3, 1);
   13771              :               if (!rtx_equal_p (x13, operands[3])
   13772              :                   || !(
   13773              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13774              : (TARGET_AVX512F) && (
   13775              : #line 7112 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13776              : (TARGET_AVX512F) && 
   13777              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13778              : (TARGET_AVX512FP16))))
   13779              :                 return -1;
   13780              :               return 4307; /* avx512f_vmfmsub_v8hf_mask3_round */
   13781              : 
   13782              :             case 1:
   13783              :               if (pattern1692 (x2, 
   13784              : E_V4SFmode) != 0)
   13785              :                 return -1;
   13786              :               if (nonimmediate_operand (operands[1], E_V4SFmode)
   13787              :                   && register_operand (operands[3], E_V4SFmode))
   13788              :                 {
   13789              :                   x12 = XEXP (x5, 1);
   13790              :                   if (rtx_equal_p (x12, operands[1]))
   13791              :                     {
   13792              :                       x13 = XEXP (x3, 1);
   13793              :                       if (rtx_equal_p (x13, operands[1])
   13794              :                           && 
   13795              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13796              : (TARGET_AVX512F))
   13797              :                         return 4303; /* *avx512f_vmfmsub_v4sf_mask_round */
   13798              :                     }
   13799              :                 }
   13800              :               if (!register_operand (operands[1], E_V4SFmode)
   13801              :                   || !nonimmediate_operand (operands[3], E_V4SFmode))
   13802              :                 return -1;
   13803              :               x12 = XEXP (x5, 1);
   13804              :               if (!rtx_equal_p (x12, operands[3]))
   13805              :                 return -1;
   13806              :               x13 = XEXP (x3, 1);
   13807              :               if (!rtx_equal_p (x13, operands[3])
   13808              :                   || !
   13809              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13810              : (TARGET_AVX512F))
   13811              :                 return -1;
   13812              :               return 4309; /* avx512f_vmfmsub_v4sf_mask3_round */
   13813              : 
   13814              :             case 2:
   13815              :               if (pattern1692 (x2, 
   13816              : E_V2DFmode) != 0)
   13817              :                 return -1;
   13818              :               if (nonimmediate_operand (operands[1], E_V2DFmode)
   13819              :                   && register_operand (operands[3], E_V2DFmode))
   13820              :                 {
   13821              :                   x12 = XEXP (x5, 1);
   13822              :                   if (rtx_equal_p (x12, operands[1]))
   13823              :                     {
   13824              :                       x13 = XEXP (x3, 1);
   13825              :                       if (rtx_equal_p (x13, operands[1])
   13826              :                           && (
   13827              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13828              : (TARGET_AVX512F) && (
   13829              : #line 7091 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13830              : (TARGET_AVX512F) && 
   13831              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13832              : (TARGET_SSE2))))
   13833              :                         return 4305; /* *avx512f_vmfmsub_v2df_mask_round */
   13834              :                     }
   13835              :                 }
   13836              :               if (!register_operand (operands[1], E_V2DFmode)
   13837              :                   || !nonimmediate_operand (operands[3], E_V2DFmode))
   13838              :                 return -1;
   13839              :               x12 = XEXP (x5, 1);
   13840              :               if (!rtx_equal_p (x12, operands[3]))
   13841              :                 return -1;
   13842              :               x13 = XEXP (x3, 1);
   13843              :               if (!rtx_equal_p (x13, operands[3])
   13844              :                   || !(
   13845              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13846              : (TARGET_AVX512F) && (
   13847              : #line 7112 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13848              : (TARGET_AVX512F) && 
   13849              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13850              : (TARGET_SSE2))))
   13851              :                 return -1;
   13852              :               return 4311; /* avx512f_vmfmsub_v2df_mask3_round */
   13853              : 
   13854              :             case 3:
   13855              :               if (pattern1756 (x2, 
   13856              : E_V8HFmode) != 0
   13857              :                   || !(
   13858              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13859              : (TARGET_AVX512F) && (
   13860              : #line 7131 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13861              : (TARGET_AVX512F) && 
   13862              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13863              : (TARGET_AVX512FP16))))
   13864              :                 return -1;
   13865              :               return 4313; /* *avx512f_vmfmsub_v8hf_maskz_1_round */
   13866              : 
   13867              :             case 4:
   13868              :               if (pattern1756 (x2, 
   13869              : E_V4SFmode) != 0
   13870              :                   || !
   13871              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13872              : (TARGET_AVX512F))
   13873              :                 return -1;
   13874              :               return 4315; /* *avx512f_vmfmsub_v4sf_maskz_1_round */
   13875              : 
   13876              :             case 5:
   13877              :               if (pattern1756 (x2, 
   13878              : E_V2DFmode) != 0
   13879              :                   || !(
   13880              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13881              : (TARGET_AVX512F) && (
   13882              : #line 7131 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13883              : (TARGET_AVX512F) && 
   13884              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13885              : (TARGET_SSE2))))
   13886              :                 return -1;
   13887              :               return 4317; /* *avx512f_vmfmsub_v2df_maskz_1_round */
   13888              : 
   13889              :             default:
   13890              :               return -1;
   13891              :             }
   13892              : 
   13893              :         default:
   13894              :           return -1;
   13895              :         }
   13896              : 
   13897              :     case NEG:
   13898              :       x11 = XEXP (x8, 2);
   13899              :       switch (GET_CODE (x11))
   13900              :         {
   13901              :         case REG:
   13902              :         case SUBREG:
   13903              :         case MEM:
   13904              :           operands[3] = x11;
   13905              :           switch (pattern1411 (x2))
   13906              :             {
   13907              :             case 0:
   13908              :               x10 = XEXP (x8, 1);
   13909              :               operands[2] = x10;
   13910              :               if (pattern1838 (x3, 
   13911              : E_V8HFmode) == 0
   13912              :                   && (
   13913              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13914              : (TARGET_AVX512F) && (
   13915              : #line 7152 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13916              : (TARGET_AVX512F) && 
   13917              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13918              : (TARGET_AVX512FP16))))
   13919              :                 return 4319; /* avx512f_vmfnmadd_v8hf_mask_round */
   13920              :               operands[1] = x10;
   13921              :               if (pattern1839 (x3, 
   13922              : E_V8HFmode) != 0
   13923              :                   || !(
   13924              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13925              : (TARGET_AVX512F) && (
   13926              : #line 7173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13927              : (TARGET_AVX512F) && 
   13928              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13929              : (TARGET_AVX512FP16))))
   13930              :                 return -1;
   13931              :               return 4325; /* avx512f_vmfnmadd_v8hf_mask3_round */
   13932              : 
   13933              :             case 1:
   13934              :               x10 = XEXP (x8, 1);
   13935              :               operands[2] = x10;
   13936              :               if (pattern1838 (x3, 
   13937              : E_V4SFmode) == 0
   13938              :                   && 
   13939              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13940              : (TARGET_AVX512F))
   13941              :                 return 4321; /* avx512f_vmfnmadd_v4sf_mask_round */
   13942              :               operands[1] = x10;
   13943              :               if (pattern1839 (x3, 
   13944              : E_V4SFmode) != 0
   13945              :                   || !
   13946              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13947              : (TARGET_AVX512F))
   13948              :                 return -1;
   13949              :               return 4327; /* avx512f_vmfnmadd_v4sf_mask3_round */
   13950              : 
   13951              :             case 2:
   13952              :               x10 = XEXP (x8, 1);
   13953              :               operands[2] = x10;
   13954              :               if (pattern1838 (x3, 
   13955              : E_V2DFmode) == 0
   13956              :                   && (
   13957              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13958              : (TARGET_AVX512F) && (
   13959              : #line 7152 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13960              : (TARGET_AVX512F) && 
   13961              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13962              : (TARGET_SSE2))))
   13963              :                 return 4323; /* avx512f_vmfnmadd_v2df_mask_round */
   13964              :               operands[1] = x10;
   13965              :               if (pattern1839 (x3, 
   13966              : E_V2DFmode) != 0
   13967              :                   || !(
   13968              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13969              : (TARGET_AVX512F) && (
   13970              : #line 7173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13971              : (TARGET_AVX512F) && 
   13972              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13973              : (TARGET_SSE2))))
   13974              :                 return -1;
   13975              :               return 4329; /* avx512f_vmfnmadd_v2df_mask3_round */
   13976              : 
   13977              :             case 3:
   13978              :               if (pattern1757 (x2, 
   13979              : E_V8HFmode) != 0
   13980              :                   || !(
   13981              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13982              : (TARGET_AVX512F) && (
   13983              : #line 7206 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13984              : (TARGET_AVX512F) && 
   13985              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13986              : (TARGET_AVX512FP16))))
   13987              :                 return -1;
   13988              :               return 4331; /* avx512f_vmfnmadd_v8hf_maskz_1_round */
   13989              : 
   13990              :             case 4:
   13991              :               if (pattern1757 (x2, 
   13992              : E_V4SFmode) != 0
   13993              :                   || !
   13994              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13995              : (TARGET_AVX512F))
   13996              :                 return -1;
   13997              :               return 4333; /* avx512f_vmfnmadd_v4sf_maskz_1_round */
   13998              : 
   13999              :             case 5:
   14000              :               if (pattern1757 (x2, 
   14001              : E_V2DFmode) != 0
   14002              :                   || !(
   14003              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14004              : (TARGET_AVX512F) && (
   14005              : #line 7206 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14006              : (TARGET_AVX512F) && 
   14007              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14008              : (TARGET_SSE2))))
   14009              :                 return -1;
   14010              :               return 4335; /* avx512f_vmfnmadd_v2df_maskz_1_round */
   14011              : 
   14012              :             default:
   14013              :               return -1;
   14014              :             }
   14015              : 
   14016              :         case NEG:
   14017              :           x14 = XEXP (x11, 0);
   14018              :           operands[3] = x14;
   14019              :           switch (pattern1411 (x2))
   14020              :             {
   14021              :             case 0:
   14022              :               x10 = XEXP (x8, 1);
   14023              :               operands[2] = x10;
   14024              :               if (pattern1840 (x3, 
   14025              : E_V8HFmode) == 0
   14026              :                   && (
   14027              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14028              : (TARGET_AVX512F) && (
   14029              : #line 7228 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14030              : (TARGET_AVX512F) && 
   14031              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14032              : (TARGET_AVX512FP16))))
   14033              :                 return 4337; /* *avx512f_vmfnmsub_v8hf_mask_round */
   14034              :               operands[1] = x10;
   14035              :               if (pattern1841 (x3, 
   14036              : E_V8HFmode) != 0
   14037              :                   || !(
   14038              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14039              : (TARGET_AVX512F) && (
   14040              : #line 7250 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14041              : (TARGET_AVX512F) && 
   14042              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14043              : (TARGET_AVX512FP16))))
   14044              :                 return -1;
   14045              :               return 4343; /* *avx512f_vmfnmsub_v8hf_mask3_round */
   14046              : 
   14047              :             case 1:
   14048              :               x10 = XEXP (x8, 1);
   14049              :               operands[2] = x10;
   14050              :               if (pattern1840 (x3, 
   14051              : E_V4SFmode) == 0
   14052              :                   && 
   14053              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14054              : (TARGET_AVX512F))
   14055              :                 return 4339; /* *avx512f_vmfnmsub_v4sf_mask_round */
   14056              :               operands[1] = x10;
   14057              :               if (pattern1841 (x3, 
   14058              : E_V4SFmode) != 0
   14059              :                   || !
   14060              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14061              : (TARGET_AVX512F))
   14062              :                 return -1;
   14063              :               return 4345; /* *avx512f_vmfnmsub_v4sf_mask3_round */
   14064              : 
   14065              :             case 2:
   14066              :               x10 = XEXP (x8, 1);
   14067              :               operands[2] = x10;
   14068              :               if (pattern1840 (x3, 
   14069              : E_V2DFmode) == 0
   14070              :                   && (
   14071              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14072              : (TARGET_AVX512F) && (
   14073              : #line 7228 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14074              : (TARGET_AVX512F) && 
   14075              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14076              : (TARGET_SSE2))))
   14077              :                 return 4341; /* *avx512f_vmfnmsub_v2df_mask_round */
   14078              :               operands[1] = x10;
   14079              :               if (pattern1841 (x3, 
   14080              : E_V2DFmode) != 0
   14081              :                   || !(
   14082              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14083              : (TARGET_AVX512F) && (
   14084              : #line 7250 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14085              : (TARGET_AVX512F) && 
   14086              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14087              : (TARGET_SSE2))))
   14088              :                 return -1;
   14089              :               return 4347; /* *avx512f_vmfnmsub_v2df_mask3_round */
   14090              : 
   14091              :             case 3:
   14092              :               if (pattern1758 (x2, 
   14093              : E_V8HFmode) != 0
   14094              :                   || !(
   14095              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14096              : (TARGET_AVX512F) && (
   14097              : #line 7270 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14098              : (TARGET_AVX512F) && 
   14099              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14100              : (TARGET_AVX512FP16))))
   14101              :                 return -1;
   14102              :               return 4349; /* *avx512f_vmfnmsub_v8hf_maskz_1_round */
   14103              : 
   14104              :             case 4:
   14105              :               if (pattern1758 (x2, 
   14106              : E_V4SFmode) != 0
   14107              :                   || !
   14108              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14109              : (TARGET_AVX512F))
   14110              :                 return -1;
   14111              :               return 4351; /* *avx512f_vmfnmsub_v4sf_maskz_1_round */
   14112              : 
   14113              :             case 5:
   14114              :               if (pattern1758 (x2, 
   14115              : E_V2DFmode) != 0
   14116              :                   || !(
   14117              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14118              : (TARGET_AVX512F) && (
   14119              : #line 7270 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14120              : (TARGET_AVX512F) && 
   14121              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14122              : (TARGET_SSE2))))
   14123              :                 return -1;
   14124              :               return 4353; /* *avx512f_vmfnmsub_v2df_maskz_1_round */
   14125              : 
   14126              :             default:
   14127              :               return -1;
   14128              :             }
   14129              : 
   14130              :         default:
   14131              :           return -1;
   14132              :         }
   14133              : 
   14134              :     default:
   14135              :       return -1;
   14136              :     }
   14137              : }
   14138              : 
   14139              :  int
   14140              : recog_233 (rtx x1 ATTRIBUTE_UNUSED,
   14141              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   14142              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   14143              : {
   14144              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   14145              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   14146              :   int res ATTRIBUTE_UNUSED;
   14147              :   x2 = XEXP (x1, 1);
   14148              :   x3 = XVECEXP (x2, 0, 0);
   14149              :   switch (XVECLEN (x3, 0))
   14150              :     {
   14151              :     case 2:
   14152              :       x4 = XVECEXP (x3, 0, 0);
   14153              :       operands[1] = x4;
   14154              :       x5 = XVECEXP (x3, 0, 1);
   14155              :       operands[2] = x5;
   14156              :       x6 = XVECEXP (x2, 0, 1);
   14157              :       operands[3] = x6;
   14158              :       switch (XINT (x3, 1))
   14159              :         {
   14160              :         case 64:
   14161              :           switch (pattern1144 (x2))
   14162              :             {
   14163              :             case 0:
   14164              :               if (!(
   14165              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14166              : (TARGET_AVX512F) && (
   14167              : #line 3463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14168              : (TARGET_SSE
   14169              :    && 1
   14170              :    && (V32HFmode == V16SFmode
   14171              :                                                                               || V32HFmode == V8DFmode
   14172              :                                                                               || V32HFmode == V8DImode
   14173              :                                                                               || V32HFmode == V16SImode
   14174              :                                                                               || V32HFmode == V32HFmode)) && 
   14175              : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14176              : (TARGET_AVX512FP16))))
   14177              :                 return -1;
   14178              :               return 3115; /* ieee_maxv32hf3_round */
   14179              : 
   14180              :             case 1:
   14181              :               if (!(
   14182              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14183              : (TARGET_AVX512F) && (
   14184              : #line 3463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14185              : (TARGET_SSE
   14186              :    && 1
   14187              :    && (V16SFmode == V16SFmode
   14188              :                                                                               || V16SFmode == V8DFmode
   14189              :                                                                               || V16SFmode == V8DImode
   14190              :                                                                               || V16SFmode == V16SImode
   14191              :                                                                               || V16SFmode == V32HFmode)) && 
   14192              : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14193              : (TARGET_AVX512F))))
   14194              :                 return -1;
   14195              :               return 3131; /* ieee_maxv16sf3_round */
   14196              : 
   14197              :             case 2:
   14198              :               if (!(
   14199              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14200              : (TARGET_AVX512F) && (
   14201              : #line 3463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14202              : (TARGET_SSE
   14203              :    && 1
   14204              :    && (V8DFmode == V16SFmode
   14205              :                                                                               || V8DFmode == V8DFmode
   14206              :                                                                               || V8DFmode == V8DImode
   14207              :                                                                               || V8DFmode == V16SImode
   14208              :                                                                               || V8DFmode == V32HFmode)) && 
   14209              : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14210              : (TARGET_AVX512F))))
   14211              :                 return -1;
   14212              :               return 3147; /* ieee_maxv8df3_round */
   14213              : 
   14214              :             default:
   14215              :               return -1;
   14216              :             }
   14217              : 
   14218              :         case 63:
   14219              :           switch (pattern1144 (x2))
   14220              :             {
   14221              :             case 0:
   14222              :               if (!(
   14223              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14224              : (TARGET_AVX512F) && (
   14225              : #line 3463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14226              : (TARGET_SSE
   14227              :    && 1
   14228              :    && (V32HFmode == V16SFmode
   14229              :                                                                               || V32HFmode == V8DFmode
   14230              :                                                                               || V32HFmode == V8DImode
   14231              :                                                                               || V32HFmode == V16SImode
   14232              :                                                                               || V32HFmode == V32HFmode)) && 
   14233              : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14234              : (TARGET_AVX512FP16))))
   14235              :                 return -1;
   14236              :               return 3119; /* ieee_minv32hf3_round */
   14237              : 
   14238              :             case 1:
   14239              :               if (!(
   14240              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14241              : (TARGET_AVX512F) && (
   14242              : #line 3463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14243              : (TARGET_SSE
   14244              :    && 1
   14245              :    && (V16SFmode == V16SFmode
   14246              :                                                                               || V16SFmode == V8DFmode
   14247              :                                                                               || V16SFmode == V8DImode
   14248              :                                                                               || V16SFmode == V16SImode
   14249              :                                                                               || V16SFmode == V32HFmode)) && 
   14250              : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14251              : (TARGET_AVX512F))))
   14252              :                 return -1;
   14253              :               return 3135; /* ieee_minv16sf3_round */
   14254              : 
   14255              :             case 2:
   14256              :               if (!(
   14257              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14258              : (TARGET_AVX512F) && (
   14259              : #line 3463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14260              : (TARGET_SSE
   14261              :    && 1
   14262              :    && (V8DFmode == V16SFmode
   14263              :                                                                               || V8DFmode == V8DFmode
   14264              :                                                                               || V8DFmode == V8DImode
   14265              :                                                                               || V8DFmode == V16SImode
   14266              :                                                                               || V8DFmode == V32HFmode)) && 
   14267              : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14268              : (TARGET_AVX512F))))
   14269              :                 return -1;
   14270              :               return 3151; /* ieee_minv8df3_round */
   14271              : 
   14272              :             default:
   14273              :               return -1;
   14274              :             }
   14275              : 
   14276              :         case 193:
   14277              :           if (!const_0_to_255_operand (operands[2], E_SImode)
   14278              :               || !const48_operand (operands[3], E_SImode))
   14279              :             return -1;
   14280              :           switch (GET_MODE (operands[0]))
   14281              :             {
   14282              :             case E_V32HFmode:
   14283              :               if (pattern1232 (x2, 
   14284              : E_V32HFmode) != 0
   14285              :                   || !(
   14286              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14287              : (TARGET_AVX512F) && (
   14288              : #line 4253 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14289              : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V32HFmode))) && 
   14290              : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14291              : (TARGET_AVX512FP16))))
   14292              :                 return -1;
   14293              :               return 3231; /* *reducepv32hf_round */
   14294              : 
   14295              :             case E_V16HFmode:
   14296              :               if (pattern1232 (x2, 
   14297              : E_V16HFmode) != 0
   14298              :                   || !(
   14299              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14300              : (TARGET_AVX512F) && (
   14301              : #line 4253 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14302              : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V16HFmode))) && 
   14303              : #line 515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14304              : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
   14305              :                 return -1;
   14306              :               return 3235; /* *reducepv16hf_round */
   14307              : 
   14308              :             case E_V8HFmode:
   14309              :               if (pattern1232 (x2, 
   14310              : E_V8HFmode) != 0
   14311              :                   || !(
   14312              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14313              : (TARGET_AVX512F) && (
   14314              : #line 4253 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14315              : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V8HFmode))) && 
   14316              : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14317              : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
   14318              :                 return -1;
   14319              :               return 3239; /* *reducepv8hf_round */
   14320              : 
   14321              :             case E_V16SFmode:
   14322              :               if (pattern1232 (x2, 
   14323              : E_V16SFmode) != 0
   14324              :                   || !(
   14325              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14326              : (TARGET_AVX512F) && 
   14327              : #line 4253 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14328              : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V16SFmode)))))
   14329              :                 return -1;
   14330              :               return 3243; /* *reducepv16sf_round */
   14331              : 
   14332              :             case E_V8SFmode:
   14333              :               if (pattern1232 (x2, 
   14334              : E_V8SFmode) != 0
   14335              :                   || !(
   14336              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14337              : (TARGET_AVX512F) && (
   14338              : #line 4253 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14339              : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V8SFmode))) && 
   14340              : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14341              : (TARGET_AVX512VL))))
   14342              :                 return -1;
   14343              :               return 3247; /* *reducepv8sf_round */
   14344              : 
   14345              :             case E_V4SFmode:
   14346              :               if (pattern1232 (x2, 
   14347              : E_V4SFmode) != 0
   14348              :                   || !(
   14349              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14350              : (TARGET_AVX512F) && (
   14351              : #line 4253 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14352              : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V4SFmode))) && 
   14353              : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14354              : (TARGET_AVX512VL))))
   14355              :                 return -1;
   14356              :               return 3251; /* *reducepv4sf_round */
   14357              : 
   14358              :             case E_V8DFmode:
   14359              :               if (pattern1232 (x2, 
   14360              : E_V8DFmode) != 0
   14361              :                   || !(
   14362              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14363              : (TARGET_AVX512F) && 
   14364              : #line 4253 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14365              : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V8DFmode)))))
   14366              :                 return -1;
   14367              :               return 3255; /* *reducepv8df_round */
   14368              : 
   14369              :             case E_V4DFmode:
   14370              :               if (pattern1232 (x2, 
   14371              : E_V4DFmode) != 0
   14372              :                   || !(
   14373              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14374              : (TARGET_AVX512F) && (
   14375              : #line 4253 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14376              : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V4DFmode))) && 
   14377              : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14378              : (TARGET_AVX512VL))))
   14379              :                 return -1;
   14380              :               return 3259; /* *reducepv4df_round */
   14381              : 
   14382              :             case E_V2DFmode:
   14383              :               if (pattern1232 (x2, 
   14384              : E_V2DFmode) != 0
   14385              :                   || !(
   14386              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14387              : (TARGET_AVX512F) && (
   14388              : #line 4253 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14389              : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V2DFmode))) && 
   14390              : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14391              : (TARGET_AVX512VL))))
   14392              :                 return -1;
   14393              :               return 3263; /* *reducepv2df_round */
   14394              : 
   14395              :             default:
   14396              :               return -1;
   14397              :             }
   14398              : 
   14399              :         case 222:
   14400              :           if (pattern1145 (x2) != 0
   14401              :               || !(
   14402              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14403              : (TARGET_AVX512F) && 
   14404              : #line 7665 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14405              : (TARGET_AVX512FP16 && (V32HFmode == V16SFmode
   14406              :                                                               || V32HFmode == V8DFmode
   14407              :                                                               || V32HFmode == V8DImode
   14408              :                                                               || V32HFmode == V16SImode
   14409              :                                                               || V32HFmode == V32HFmode))))
   14410              :             return -1;
   14411              :           return 4412; /* avx512bw_fmulc_v32hf_round */
   14412              : 
   14413              :         case 223:
   14414              :           if (pattern1145 (x2) != 0
   14415              :               || !(
   14416              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14417              : (TARGET_AVX512F) && 
   14418              : #line 7665 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14419              : (TARGET_AVX512FP16 && (V32HFmode == V16SFmode
   14420              :                                                               || V32HFmode == V8DFmode
   14421              :                                                               || V32HFmode == V8DImode
   14422              :                                                               || V32HFmode == V16SImode
   14423              :                                                               || V32HFmode == V32HFmode))))
   14424              :             return -1;
   14425              :           return 4416; /* avx512bw_fcmulc_v32hf_round */
   14426              : 
   14427              :         case 59:
   14428              :           if (!const_4_or_8_to_11_operand (operands[3], E_SImode))
   14429              :             return -1;
   14430              :           switch (GET_MODE (operands[0]))
   14431              :             {
   14432              :             case E_V32HFmode:
   14433              :               if (pattern1319 (x2, 
   14434              : E_V32HFmode) != 0
   14435              :                   || !(
   14436              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14437              : (TARGET_AVX512F) && (
   14438              : #line 13948 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14439              : (TARGET_AVX512F) && 
   14440              : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14441              : (TARGET_AVX512FP16))))
   14442              :                 return -1;
   14443              :               return 5443; /* avx512bw_scalefv32hf_round */
   14444              : 
   14445              :             case E_V16HFmode:
   14446              :               if (pattern1319 (x2, 
   14447              : E_V16HFmode) != 0
   14448              :                   || !(
   14449              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14450              : (TARGET_AVX512F) && (
   14451              : #line 13948 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14452              : (TARGET_AVX512F) && 
   14453              : #line 515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14454              : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
   14455              :                 return -1;
   14456              :               return 5447; /* avx512vl_scalefv16hf_round */
   14457              : 
   14458              :             case E_V8HFmode:
   14459              :               if (pattern1319 (x2, 
   14460              : E_V8HFmode) != 0
   14461              :                   || !(
   14462              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14463              : (TARGET_AVX512F) && (
   14464              : #line 13948 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14465              : (TARGET_AVX512F) && 
   14466              : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14467              : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
   14468              :                 return -1;
   14469              :               return 5451; /* avx512fp16_scalefv8hf_round */
   14470              : 
   14471              :             case E_V16SFmode:
   14472              :               if (pattern1319 (x2, 
   14473              : E_V16SFmode) != 0
   14474              :                   || !
   14475              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14476              : (TARGET_AVX512F))
   14477              :                 return -1;
   14478              :               return 5455; /* avx512f_scalefv16sf_round */
   14479              : 
   14480              :             case E_V8SFmode:
   14481              :               if (pattern1319 (x2, 
   14482              : E_V8SFmode) != 0
   14483              :                   || !(
   14484              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14485              : (TARGET_AVX512F) && (
   14486              : #line 13948 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14487              : (TARGET_AVX512F) && 
   14488              : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14489              : (TARGET_AVX512VL))))
   14490              :                 return -1;
   14491              :               return 5459; /* avx512vl_scalefv8sf_round */
   14492              : 
   14493              :             case E_V4SFmode:
   14494              :               if (pattern1319 (x2, 
   14495              : E_V4SFmode) != 0
   14496              :                   || !(
   14497              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14498              : (TARGET_AVX512F) && (
   14499              : #line 13948 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14500              : (TARGET_AVX512F) && 
   14501              : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14502              : (TARGET_AVX512VL))))
   14503              :                 return -1;
   14504              :               return 5463; /* avx512vl_scalefv4sf_round */
   14505              : 
   14506              :             case E_V8DFmode:
   14507              :               if (pattern1319 (x2, 
   14508              : E_V8DFmode) != 0
   14509              :                   || !
   14510              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14511              : (TARGET_AVX512F))
   14512              :                 return -1;
   14513              :               return 5467; /* avx512f_scalefv8df_round */
   14514              : 
   14515              :             case E_V4DFmode:
   14516              :               if (pattern1319 (x2, 
   14517              : E_V4DFmode) != 0
   14518              :                   || !(
   14519              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14520              : (TARGET_AVX512F) && (
   14521              : #line 13948 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14522              : (TARGET_AVX512F) && 
   14523              : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14524              : (TARGET_AVX512VL))))
   14525              :                 return -1;
   14526              :               return 5471; /* avx512vl_scalefv4df_round */
   14527              : 
   14528              :             case E_V2DFmode:
   14529              :               if (pattern1319 (x2, 
   14530              : E_V2DFmode) != 0
   14531              :                   || !(
   14532              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14533              : (TARGET_AVX512F) && (
   14534              : #line 13948 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14535              : (TARGET_AVX512F) && 
   14536              : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14537              : (TARGET_AVX512VL))))
   14538              :                 return -1;
   14539              :               return 5475; /* avx512vl_scalefv2df_round */
   14540              : 
   14541              :             default:
   14542              :               return -1;
   14543              :             }
   14544              : 
   14545              :         case 95:
   14546              :           if (!const_0_to_255_operand (operands[2], E_SImode))
   14547              :             return -1;
   14548              :           switch (pattern1230 (x2))
   14549              :             {
   14550              :             case 0:
   14551              :               if (!(
   14552              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14553              : (TARGET_AVX512F) && (
   14554              : #line 14549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14555              : (TARGET_AVX512F) && 
   14556              : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14557              : (TARGET_AVX512FP16))))
   14558              :                 return -1;
   14559              :               return 7173; /* avx512bw_rndscalev32hf_round */
   14560              : 
   14561              :             case 1:
   14562              :               if (!(
   14563              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14564              : (TARGET_AVX512F) && (
   14565              : #line 14549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14566              : (TARGET_AVX512F) && 
   14567              : #line 515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14568              : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
   14569              :                 return -1;
   14570              :               return 7177; /* avx512vl_rndscalev16hf_round */
   14571              : 
   14572              :             case 2:
   14573              :               if (!(
   14574              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14575              : (TARGET_AVX512F) && (
   14576              : #line 14549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14577              : (TARGET_AVX512F) && 
   14578              : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14579              : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
   14580              :                 return -1;
   14581              :               return 7181; /* avx512fp16_rndscalev8hf_round */
   14582              : 
   14583              :             case 3:
   14584              :               if (!
   14585              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14586              : (TARGET_AVX512F))
   14587              :                 return -1;
   14588              :               return 7185; /* avx512f_rndscalev16sf_round */
   14589              : 
   14590              :             case 4:
   14591              :               if (!(
   14592              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14593              : (TARGET_AVX512F) && (
   14594              : #line 14549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14595              : (TARGET_AVX512F) && 
   14596              : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14597              : (TARGET_AVX512VL))))
   14598              :                 return -1;
   14599              :               return 7189; /* avx512vl_rndscalev8sf_round */
   14600              : 
   14601              :             case 5:
   14602              :               if (!(
   14603              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14604              : (TARGET_AVX512F) && (
   14605              : #line 14549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14606              : (TARGET_AVX512F) && 
   14607              : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14608              : (TARGET_AVX512VL))))
   14609              :                 return -1;
   14610              :               return 7193; /* avx512vl_rndscalev4sf_round */
   14611              : 
   14612              :             case 6:
   14613              :               if (!
   14614              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14615              : (TARGET_AVX512F))
   14616              :                 return -1;
   14617              :               return 7197; /* avx512f_rndscalev8df_round */
   14618              : 
   14619              :             case 7:
   14620              :               if (!(
   14621              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14622              : (TARGET_AVX512F) && (
   14623              : #line 14549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14624              : (TARGET_AVX512F) && 
   14625              : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14626              : (TARGET_AVX512VL))))
   14627              :                 return -1;
   14628              :               return 7201; /* avx512vl_rndscalev4df_round */
   14629              : 
   14630              :             case 8:
   14631              :               if (!(
   14632              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14633              : (TARGET_AVX512F) && (
   14634              : #line 14549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14635              : (TARGET_AVX512F) && 
   14636              : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14637              : (TARGET_AVX512VL))))
   14638              :                 return -1;
   14639              :               return 7205; /* avx512vl_rndscalev2df_round */
   14640              : 
   14641              :             default:
   14642              :               return -1;
   14643              :             }
   14644              : 
   14645              :         case 151:
   14646              :           if (GET_MODE (x3) != E_V16HImode
   14647              :               || !register_operand (operands[0], E_V16HImode)
   14648              :               || GET_MODE (x2) != E_V16HImode
   14649              :               || !register_operand (operands[1], E_V16SFmode)
   14650              :               || !const_0_to_255_operand (operands[2], E_SImode)
   14651              :               || !const48_operand (operands[3], E_SImode)
   14652              :               || !
   14653              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14654              : (TARGET_AVX512F))
   14655              :             return -1;
   14656              :           return 9739; /* *avx512f_vcvtps2ph512_round */
   14657              : 
   14658              :         case 167:
   14659              :           if (!const_0_to_15_operand (operands[2], E_SImode))
   14660              :             return -1;
   14661              :           switch (pattern1230 (x2))
   14662              :             {
   14663              :             case 0:
   14664              :               if (!(
   14665              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14666              : (TARGET_AVX512F) && (
   14667              : #line 30583 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14668              : (TARGET_AVX512F) && 
   14669              : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14670              : (TARGET_AVX512FP16))))
   14671              :                 return -1;
   14672              :               return 10081; /* avx512bw_getmantv32hf_round */
   14673              : 
   14674              :             case 1:
   14675              :               if (!(
   14676              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14677              : (TARGET_AVX512F) && (
   14678              : #line 30583 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14679              : (TARGET_AVX512F) && 
   14680              : #line 515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14681              : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
   14682              :                 return -1;
   14683              :               return 10085; /* avx512vl_getmantv16hf_round */
   14684              : 
   14685              :             case 2:
   14686              :               if (!(
   14687              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14688              : (TARGET_AVX512F) && (
   14689              : #line 30583 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14690              : (TARGET_AVX512F) && 
   14691              : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14692              : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
   14693              :                 return -1;
   14694              :               return 10089; /* avx512fp16_getmantv8hf_round */
   14695              : 
   14696              :             case 3:
   14697              :               if (!
   14698              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14699              : (TARGET_AVX512F))
   14700              :                 return -1;
   14701              :               return 10093; /* avx512f_getmantv16sf_round */
   14702              : 
   14703              :             case 4:
   14704              :               if (!(
   14705              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14706              : (TARGET_AVX512F) && (
   14707              : #line 30583 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14708              : (TARGET_AVX512F) && 
   14709              : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14710              : (TARGET_AVX512VL))))
   14711              :                 return -1;
   14712              :               return 10097; /* avx512vl_getmantv8sf_round */
   14713              : 
   14714              :             case 5:
   14715              :               if (!(
   14716              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14717              : (TARGET_AVX512F) && (
   14718              : #line 30583 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14719              : (TARGET_AVX512F) && 
   14720              : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14721              : (TARGET_AVX512VL))))
   14722              :                 return -1;
   14723              :               return 10101; /* avx512vl_getmantv4sf_round */
   14724              : 
   14725              :             case 6:
   14726              :               if (!
   14727              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14728              : (TARGET_AVX512F))
   14729              :                 return -1;
   14730              :               return 10105; /* avx512f_getmantv8df_round */
   14731              : 
   14732              :             case 7:
   14733              :               if (!(
   14734              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14735              : (TARGET_AVX512F) && (
   14736              : #line 30583 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14737              : (TARGET_AVX512F) && 
   14738              : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14739              : (TARGET_AVX512VL))))
   14740              :                 return -1;
   14741              :               return 10109; /* avx512vl_getmantv4df_round */
   14742              : 
   14743              :             case 8:
   14744              :               if (!(
   14745              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14746              : (TARGET_AVX512F) && (
   14747              : #line 30583 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14748              : (TARGET_AVX512F) && 
   14749              : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14750              : (TARGET_AVX512VL))))
   14751              :                 return -1;
   14752              :               return 10113; /* avx512vl_getmantv2df_round */
   14753              : 
   14754              :             default:
   14755              :               return -1;
   14756              :             }
   14757              : 
   14758              :         default:
   14759              :           return -1;
   14760              :         }
   14761              : 
   14762              :     case 3:
   14763              :       x4 = XVECEXP (x3, 0, 0);
   14764              :       operands[1] = x4;
   14765              :       x5 = XVECEXP (x3, 0, 1);
   14766              :       operands[2] = x5;
   14767              :       x6 = XVECEXP (x2, 0, 1);
   14768              :       operands[4] = x6;
   14769              :       switch (XINT (x3, 1))
   14770              :         {
   14771              :         case 134:
   14772              :           if (!const_4_or_8_to_11_operand (operands[4], E_SImode))
   14773              :             return -1;
   14774              :           x7 = XVECEXP (x3, 0, 2);
   14775              :           switch (GET_CODE (x7))
   14776              :             {
   14777              :             case REG:
   14778              :             case SUBREG:
   14779              :               operands[3] = x7;
   14780              :               switch (GET_MODE (operands[0]))
   14781              :                 {
   14782              :                 case E_V32HFmode:
   14783              :                   if (pattern1488 (x2, 
   14784              : E_V32HFmode) != 0
   14785              :                       || !(
   14786              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14787              : (TARGET_AVX512F) && (
   14788              : #line 6768 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14789              : (TARGET_AVX512F && 1 && (V32HFmode == V16SFmode
   14790              :                                                               || V32HFmode == V8DFmode
   14791              :                                                               || V32HFmode == V8DImode
   14792              :                                                               || V32HFmode == V16SImode
   14793              :                                                               || V32HFmode == V32HFmode)) && 
   14794              : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14795              : (TARGET_AVX512FP16))))
   14796              :                     return -1;
   14797              :                   return 4136; /* *fma_fmaddsub_v32hf_round */
   14798              : 
   14799              :                 case E_V16SFmode:
   14800              :                   if (pattern1488 (x2, 
   14801              : E_V16SFmode) != 0
   14802              :                       || !(
   14803              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14804              : (TARGET_AVX512F) && 
   14805              : #line 6768 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14806              : (TARGET_AVX512F && 1 && (V16SFmode == V16SFmode
   14807              :                                                               || V16SFmode == V8DFmode
   14808              :                                                               || V16SFmode == V8DImode
   14809              :                                                               || V16SFmode == V16SImode
   14810              :                                                               || V16SFmode == V32HFmode))))
   14811              :                     return -1;
   14812              :                   return 4144; /* *fma_fmaddsub_v16sf_round */
   14813              : 
   14814              :                 case E_V8DFmode:
   14815              :                   if (pattern1488 (x2, 
   14816              : E_V8DFmode) != 0
   14817              :                       || !(
   14818              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14819              : (TARGET_AVX512F) && 
   14820              : #line 6768 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14821              : (TARGET_AVX512F && 1 && (V8DFmode == V16SFmode
   14822              :                                                               || V8DFmode == V8DFmode
   14823              :                                                               || V8DFmode == V8DImode
   14824              :                                                               || V8DFmode == V16SImode
   14825              :                                                               || V8DFmode == V32HFmode))))
   14826              :                     return -1;
   14827              :                   return 4152; /* *fma_fmaddsub_v8df_round */
   14828              : 
   14829              :                 default:
   14830              :                   return -1;
   14831              :                 }
   14832              : 
   14833              :             case NEG:
   14834              :               x8 = XEXP (x7, 0);
   14835              :               operands[3] = x8;
   14836              :               switch (GET_MODE (operands[0]))
   14837              :                 {
   14838              :                 case E_V32HFmode:
   14839              :                   if (pattern1489 (x2, 
   14840              : E_V32HFmode) != 0
   14841              :                       || !(
   14842              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14843              : (TARGET_AVX512F) && (
   14844              : #line 6838 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14845              : (TARGET_AVX512F && 1 && (V32HFmode == V16SFmode
   14846              :                                                               || V32HFmode == V8DFmode
   14847              :                                                               || V32HFmode == V8DImode
   14848              :                                                               || V32HFmode == V16SImode
   14849              :                                                               || V32HFmode == V32HFmode)) && 
   14850              : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14851              : (TARGET_AVX512FP16))))
   14852              :                     return -1;
   14853              :                   return 4200; /* *fma_fmsubadd_v32hf_round */
   14854              : 
   14855              :                 case E_V16SFmode:
   14856              :                   if (pattern1489 (x2, 
   14857              : E_V16SFmode) != 0
   14858              :                       || !(
   14859              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14860              : (TARGET_AVX512F) && 
   14861              : #line 6838 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14862              : (TARGET_AVX512F && 1 && (V16SFmode == V16SFmode
   14863              :                                                               || V16SFmode == V8DFmode
   14864              :                                                               || V16SFmode == V8DImode
   14865              :                                                               || V16SFmode == V16SImode
   14866              :                                                               || V16SFmode == V32HFmode))))
   14867              :                     return -1;
   14868              :                   return 4208; /* *fma_fmsubadd_v16sf_round */
   14869              : 
   14870              :                 case E_V8DFmode:
   14871              :                   if (pattern1489 (x2, 
   14872              : E_V8DFmode) != 0
   14873              :                       || !(
   14874              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14875              : (TARGET_AVX512F) && 
   14876              : #line 6838 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14877              : (TARGET_AVX512F && 1 && (V8DFmode == V16SFmode
   14878              :                                                               || V8DFmode == V8DFmode
   14879              :                                                               || V8DFmode == V8DImode
   14880              :                                                               || V8DFmode == V16SImode
   14881              :                                                               || V8DFmode == V32HFmode))))
   14882              :                     return -1;
   14883              :                   return 4216; /* *fma_fmsubadd_v8df_round */
   14884              : 
   14885              :                 default:
   14886              :                   return -1;
   14887              :                 }
   14888              : 
   14889              :             default:
   14890              :               return -1;
   14891              :             }
   14892              : 
   14893              :         case 218:
   14894              :           if (pattern1146 (x2) != 0
   14895              :               || !(
   14896              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14897              : (TARGET_AVX512F) && 
   14898              : #line 7507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14899              : (TARGET_AVX512FP16 && 1 && (V32HFmode == V16SFmode
   14900              :                                                               || V32HFmode == V8DFmode
   14901              :                                                               || V32HFmode == V8DImode
   14902              :                                                               || V32HFmode == V16SImode
   14903              :                                                               || V32HFmode == V32HFmode))))
   14904              :             return -1;
   14905              :           return 4363; /* fma_fmaddc_v32hf_round */
   14906              : 
   14907              :         case 220:
   14908              :           if (pattern1146 (x2) != 0
   14909              :               || !(
   14910              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14911              : (TARGET_AVX512F) && 
   14912              : #line 7507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14913              : (TARGET_AVX512FP16 && 1 && (V32HFmode == V16SFmode
   14914              :                                                               || V32HFmode == V8DFmode
   14915              :                                                               || V32HFmode == V8DImode
   14916              :                                                               || V32HFmode == V16SImode
   14917              :                                                               || V32HFmode == V32HFmode))))
   14918              :             return -1;
   14919              :           return 4367; /* fma_fcmaddc_v32hf_round */
   14920              : 
   14921              :         case 195:
   14922              :           x7 = XVECEXP (x3, 0, 2);
   14923              :           operands[3] = x7;
   14924              :           if (!const_0_to_15_operand (operands[3], E_SImode)
   14925              :               || !const48_operand (operands[4], E_SImode))
   14926              :             return -1;
   14927              :           switch (GET_MODE (operands[0]))
   14928              :             {
   14929              :             case E_V16SFmode:
   14930              :               if (pattern1143 (x2, 
   14931              : E_V16SFmode) != 0
   14932              :                   || !(
   14933              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14934              : (TARGET_AVX512F) && 
   14935              : #line 30513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14936              : (TARGET_AVX512DQ && (V16SFmode == V16SFmode
   14937              :                                                                               || V16SFmode == V8DFmode
   14938              :                                                                               || V16SFmode == V8DImode
   14939              :                                                                               || V16SFmode == V16SImode
   14940              :                                                                               || V16SFmode == V32HFmode))))
   14941              :                 return -1;
   14942              :               return 10033; /* avx512dq_rangepv16sf_round */
   14943              : 
   14944              :             case E_V8DFmode:
   14945              :               if (pattern1143 (x2, 
   14946              : E_V8DFmode) != 0
   14947              :                   || !(
   14948              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14949              : (TARGET_AVX512F) && 
   14950              : #line 30513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14951              : (TARGET_AVX512DQ && (V8DFmode == V16SFmode
   14952              :                                                                               || V8DFmode == V8DFmode
   14953              :                                                                               || V8DFmode == V8DImode
   14954              :                                                                               || V8DFmode == V16SImode
   14955              :                                                                               || V8DFmode == V32HFmode))))
   14956              :                 return -1;
   14957              :               return 10041; /* avx512dq_rangepv8df_round */
   14958              : 
   14959              :             default:
   14960              :               return -1;
   14961              :             }
   14962              : 
   14963              :         case 279:
   14964              :           x7 = XVECEXP (x3, 0, 2);
   14965              :           operands[3] = x7;
   14966              :           if (!const_0_to_255_operand (operands[3], E_SImode)
   14967              :               || !const48_operand (operands[4], E_SImode))
   14968              :             return -1;
   14969              :           switch (GET_MODE (operands[0]))
   14970              :             {
   14971              :             case E_V32HFmode:
   14972              :               if (pattern1143 (x2, 
   14973              : E_V32HFmode) != 0
   14974              :                   || !(
   14975              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14976              : (TARGET_AVX512F) && (
   14977              : #line 33353 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14978              : (TARGET_AVX10_2) && 
   14979              : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14980              : (TARGET_AVX512FP16))))
   14981              :                 return -1;
   14982              :               return 10979; /* avx10_2_minmaxpv32hf_round */
   14983              : 
   14984              :             case E_V16HFmode:
   14985              :               if (pattern1143 (x2, 
   14986              : E_V16HFmode) != 0
   14987              :                   || !(
   14988              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14989              : (TARGET_AVX512F) && (
   14990              : #line 33353 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14991              : (TARGET_AVX10_2) && 
   14992              : #line 515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14993              : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
   14994              :                 return -1;
   14995              :               return 10983; /* avx10_2_minmaxpv16hf_round */
   14996              : 
   14997              :             case E_V8HFmode:
   14998              :               if (pattern1143 (x2, 
   14999              : E_V8HFmode) != 0
   15000              :                   || !(
   15001              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15002              : (TARGET_AVX512F) && (
   15003              : #line 33353 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15004              : (TARGET_AVX10_2) && 
   15005              : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15006              : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
   15007              :                 return -1;
   15008              :               return 10987; /* avx10_2_minmaxpv8hf_round */
   15009              : 
   15010              :             case E_V16SFmode:
   15011              :               if (pattern1143 (x2, 
   15012              : E_V16SFmode) != 0
   15013              :                   || !(
   15014              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15015              : (TARGET_AVX512F) && 
   15016              : #line 33353 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15017              : (TARGET_AVX10_2)))
   15018              :                 return -1;
   15019              :               return 10991; /* avx10_2_minmaxpv16sf_round */
   15020              : 
   15021              :             case E_V8SFmode:
   15022              :               if (pattern1143 (x2, 
   15023              : E_V8SFmode) != 0
   15024              :                   || !(
   15025              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15026              : (TARGET_AVX512F) && (
   15027              : #line 33353 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15028              : (TARGET_AVX10_2) && 
   15029              : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15030              : (TARGET_AVX512VL))))
   15031              :                 return -1;
   15032              :               return 10995; /* avx10_2_minmaxpv8sf_round */
   15033              : 
   15034              :             case E_V4SFmode:
   15035              :               if (pattern1143 (x2, 
   15036              : E_V4SFmode) != 0
   15037              :                   || !(
   15038              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15039              : (TARGET_AVX512F) && (
   15040              : #line 33353 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15041              : (TARGET_AVX10_2) && 
   15042              : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15043              : (TARGET_AVX512VL))))
   15044              :                 return -1;
   15045              :               return 10999; /* avx10_2_minmaxpv4sf_round */
   15046              : 
   15047              :             case E_V8DFmode:
   15048              :               if (pattern1143 (x2, 
   15049              : E_V8DFmode) != 0
   15050              :                   || !(
   15051              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15052              : (TARGET_AVX512F) && 
   15053              : #line 33353 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15054              : (TARGET_AVX10_2)))
   15055              :                 return -1;
   15056              :               return 11003; /* avx10_2_minmaxpv8df_round */
   15057              : 
   15058              :             case E_V4DFmode:
   15059              :               if (pattern1143 (x2, 
   15060              : E_V4DFmode) != 0
   15061              :                   || !(
   15062              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15063              : (TARGET_AVX512F) && (
   15064              : #line 33353 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15065              : (TARGET_AVX10_2) && 
   15066              : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15067              : (TARGET_AVX512VL))))
   15068              :                 return -1;
   15069              :               return 11007; /* avx10_2_minmaxpv4df_round */
   15070              : 
   15071              :             case E_V2DFmode:
   15072              :               if (pattern1143 (x2, 
   15073              : E_V2DFmode) != 0
   15074              :                   || !(
   15075              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15076              : (TARGET_AVX512F) && (
   15077              : #line 33353 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15078              : (TARGET_AVX10_2) && 
   15079              : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15080              : (TARGET_AVX512VL))))
   15081              :                 return -1;
   15082              :               return 11011; /* avx10_2_minmaxpv2df_round */
   15083              : 
   15084              :             default:
   15085              :               return -1;
   15086              :             }
   15087              : 
   15088              :         default:
   15089              :           return -1;
   15090              :         }
   15091              : 
   15092              :     case 1:
   15093              :       return recog_231 (x1, insn, pnum_clobbers);
   15094              : 
   15095              :     case 4:
   15096              :       if (XINT (x3, 1) != 164)
   15097              :         return -1;
   15098              :       x4 = XVECEXP (x3, 0, 0);
   15099              :       operands[1] = x4;
   15100              :       x5 = XVECEXP (x3, 0, 1);
   15101              :       operands[2] = x5;
   15102              :       x7 = XVECEXP (x3, 0, 2);
   15103              :       operands[3] = x7;
   15104              :       x9 = XVECEXP (x3, 0, 3);
   15105              :       operands[4] = x9;
   15106              :       if (!const_0_to_255_operand (operands[4], E_SImode))
   15107              :         return -1;
   15108              :       x6 = XVECEXP (x2, 0, 1);
   15109              :       operands[5] = x6;
   15110              :       if (!const48_operand (operands[5], E_SImode))
   15111              :         return -1;
   15112              :       switch (GET_MODE (operands[0]))
   15113              :         {
   15114              :         case E_V16SFmode:
   15115              :           if (pattern1529 (x2, 
   15116              : E_V16SImode, 
   15117              : E_V16SFmode) != 0
   15118              :               || !
   15119              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15120              : (TARGET_AVX512F))
   15121              :             return -1;
   15122              :           return 7125; /* avx512f_fixupimmv16sf_round */
   15123              : 
   15124              :         case E_V8SFmode:
   15125              :           if (pattern1529 (x2, 
   15126              : E_V8SImode, 
   15127              : E_V8SFmode) != 0
   15128              :               || !(
   15129              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15130              : (TARGET_AVX512F) && (
   15131              : #line 14471 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15132              : (TARGET_AVX512F) && 
   15133              : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15134              : (TARGET_AVX512VL))))
   15135              :             return -1;
   15136              :           return 7129; /* avx512vl_fixupimmv8sf_round */
   15137              : 
   15138              :         case E_V4SFmode:
   15139              :           if (pattern1529 (x2, 
   15140              : E_V4SImode, 
   15141              : E_V4SFmode) != 0
   15142              :               || !(
   15143              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15144              : (TARGET_AVX512F) && (
   15145              : #line 14471 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15146              : (TARGET_AVX512F) && 
   15147              : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15148              : (TARGET_AVX512VL))))
   15149              :             return -1;
   15150              :           return 7133; /* avx512vl_fixupimmv4sf_round */
   15151              : 
   15152              :         case E_V8DFmode:
   15153              :           if (pattern1529 (x2, 
   15154              : E_V8DImode, 
   15155              : E_V8DFmode) != 0
   15156              :               || !
   15157              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15158              : (TARGET_AVX512F))
   15159              :             return -1;
   15160              :           return 7137; /* avx512f_fixupimmv8df_round */
   15161              : 
   15162              :         case E_V4DFmode:
   15163              :           if (pattern1529 (x2, 
   15164              : E_V4DImode, 
   15165              : E_V4DFmode) != 0
   15166              :               || !(
   15167              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15168              : (TARGET_AVX512F) && (
   15169              : #line 14471 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15170              : (TARGET_AVX512F) && 
   15171              : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15172              : (TARGET_AVX512VL))))
   15173              :             return -1;
   15174              :           return 7141; /* avx512vl_fixupimmv4df_round */
   15175              : 
   15176              :         case E_V2DFmode:
   15177              :           if (pattern1529 (x2, 
   15178              : E_V2DImode, 
   15179              : E_V2DFmode) != 0
   15180              :               || !(
   15181              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15182              : (TARGET_AVX512F) && (
   15183              : #line 14471 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15184              : (TARGET_AVX512F) && 
   15185              : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15186              : (TARGET_AVX512VL))))
   15187              :             return -1;
   15188              :           return 7145; /* avx512vl_fixupimmv2df_round */
   15189              : 
   15190              :         default:
   15191              :           return -1;
   15192              :         }
   15193              : 
   15194              :     default:
   15195              :       return -1;
   15196              :     }
   15197              : }
   15198              : 
   15199              :  int
   15200              : recog_257 (rtx x1 ATTRIBUTE_UNUSED,
   15201              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   15202              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   15203              : {
   15204              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   15205              :   rtx x2, x3, x4, x5, x6;
   15206              :   int res ATTRIBUTE_UNUSED;
   15207              :   x2 = XEXP (x1, 0);
   15208              :   operands[0] = x2;
   15209              :   x3 = XEXP (x1, 1);
   15210              :   x4 = XVECEXP (x3, 0, 0);
   15211              :   operands[1] = x4;
   15212              :   x5 = XVECEXP (x3, 0, 1);
   15213              :   operands[2] = x5;
   15214              :   x6 = XVECEXP (x3, 0, 2);
   15215              :   operands[3] = x6;
   15216              :   if (!const_0_to_15_operand (operands[3], E_SImode))
   15217              :     return -1;
   15218              :   switch (GET_MODE (operands[0]))
   15219              :     {
   15220              :     case E_V16SFmode:
   15221              :       if (pattern158 (x3, 
   15222              : E_V16SFmode) != 0
   15223              :           || !
   15224              : #line 30513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15225              : (TARGET_AVX512DQ && 1))
   15226              :         return -1;
   15227              :       return 10032; /* avx512dq_rangepv16sf */
   15228              : 
   15229              :     case E_V8SFmode:
   15230              :       if (pattern158 (x3, 
   15231              : E_V8SFmode) != 0
   15232              :           || !(
   15233              : #line 30513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15234              : (TARGET_AVX512DQ && 1) && 
   15235              : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15236              : (TARGET_AVX512VL)))
   15237              :         return -1;
   15238              :       return 10036; /* avx512dq_rangepv8sf */
   15239              : 
   15240              :     case E_V4SFmode:
   15241              :       if (pattern158 (x3, 
   15242              : E_V4SFmode) != 0
   15243              :           || !(
   15244              : #line 30513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15245              : (TARGET_AVX512DQ && 1) && 
   15246              : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15247              : (TARGET_AVX512VL)))
   15248              :         return -1;
   15249              :       return 10038; /* avx512dq_rangepv4sf */
   15250              : 
   15251              :     case E_V8DFmode:
   15252              :       if (pattern158 (x3, 
   15253              : E_V8DFmode) != 0
   15254              :           || !
   15255              : #line 30513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15256              : (TARGET_AVX512DQ && 1))
   15257              :         return -1;
   15258              :       return 10040; /* avx512dq_rangepv8df */
   15259              : 
   15260              :     case E_V4DFmode:
   15261              :       if (pattern158 (x3, 
   15262              : E_V4DFmode) != 0
   15263              :           || !(
   15264              : #line 30513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15265              : (TARGET_AVX512DQ && 1) && 
   15266              : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15267              : (TARGET_AVX512VL)))
   15268              :         return -1;
   15269              :       return 10044; /* avx512dq_rangepv4df */
   15270              : 
   15271              :     case E_V2DFmode:
   15272              :       if (pattern158 (x3, 
   15273              : E_V2DFmode) != 0
   15274              :           || !(
   15275              : #line 30513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15276              : (TARGET_AVX512DQ && 1) && 
   15277              : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15278              : (TARGET_AVX512VL)))
   15279              :         return -1;
   15280              :       return 10046; /* avx512dq_rangepv2df */
   15281              : 
   15282              :     default:
   15283              :       return -1;
   15284              :     }
   15285              : }
   15286              : 
   15287              :  int
   15288              : recog_259 (rtx x1 ATTRIBUTE_UNUSED,
   15289              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   15290              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   15291              : {
   15292              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   15293              :   int res ATTRIBUTE_UNUSED;
   15294              :   switch (pattern182 (x1))
   15295              :     {
   15296              :     case 0:
   15297              :       if (!
   15298              : #line 31176 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15299              : (TARGET_AVX512VBMI2))
   15300              :         return -1;
   15301              :       return 10320; /* vpshldv_v32hi */
   15302              : 
   15303              :     case 1:
   15304              :       if (!
   15305              : #line 31176 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15306              : (TARGET_AVX512VBMI2))
   15307              :         return -1;
   15308              :       return 10321; /* vpshldv_v16si */
   15309              : 
   15310              :     case 2:
   15311              :       if (!
   15312              : #line 31176 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15313              : (TARGET_AVX512VBMI2))
   15314              :         return -1;
   15315              :       return 10322; /* vpshldv_v8di */
   15316              : 
   15317              :     case 3:
   15318              :       if (!(
   15319              : #line 31176 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15320              : (TARGET_AVX512VBMI2) && 
   15321              : #line 751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15322              : (TARGET_AVX512VL)))
   15323              :         return -1;
   15324              :       return 10323; /* vpshldv_v16hi */
   15325              : 
   15326              :     case 4:
   15327              :       if (!(
   15328              : #line 31176 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15329              : (TARGET_AVX512VBMI2) && 
   15330              : #line 751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15331              : (TARGET_AVX512VL)))
   15332              :         return -1;
   15333              :       return 10324; /* vpshldv_v8si */
   15334              : 
   15335              :     case 5:
   15336              :       if (!(
   15337              : #line 31176 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15338              : (TARGET_AVX512VBMI2) && 
   15339              : #line 752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15340              : (TARGET_AVX512VL)))
   15341              :         return -1;
   15342              :       return 10325; /* vpshldv_v4di */
   15343              : 
   15344              :     case 6:
   15345              :       if (!(
   15346              : #line 31176 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15347              : (TARGET_AVX512VBMI2) && 
   15348              : #line 752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15349              : (TARGET_AVX512VL)))
   15350              :         return -1;
   15351              :       return 10326; /* vpshldv_v8hi */
   15352              : 
   15353              :     case 7:
   15354              :       if (!(
   15355              : #line 31176 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15356              : (TARGET_AVX512VBMI2) && 
   15357              : #line 753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15358              : (TARGET_AVX512VL)))
   15359              :         return -1;
   15360              :       return 10327; /* vpshldv_v4si */
   15361              : 
   15362              :     case 8:
   15363              :       if (!(
   15364              : #line 31176 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15365              : (TARGET_AVX512VBMI2) && 
   15366              : #line 753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15367              : (TARGET_AVX512VL)))
   15368              :         return -1;
   15369              :       return 10328; /* vpshldv_v2di */
   15370              : 
   15371              :     default:
   15372              :       return -1;
   15373              :     }
   15374              : }
   15375              : 
   15376              :  int
   15377              : recog_264 (rtx x1 ATTRIBUTE_UNUSED,
   15378              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   15379              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   15380              : {
   15381              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   15382              :   rtx x2, x3, x4, x5, x6;
   15383              :   int res ATTRIBUTE_UNUSED;
   15384              :   x2 = XEXP (x1, 0);
   15385              :   operands[0] = x2;
   15386              :   x3 = XEXP (x1, 1);
   15387              :   x4 = XVECEXP (x3, 0, 0);
   15388              :   operands[1] = x4;
   15389              :   x5 = XVECEXP (x3, 0, 1);
   15390              :   operands[2] = x5;
   15391              :   x6 = XVECEXP (x3, 0, 2);
   15392              :   operands[3] = x6;
   15393              :   if (!const_0_to_255_operand (operands[3], E_SImode))
   15394              :     return -1;
   15395              :   switch (GET_MODE (operands[0]))
   15396              :     {
   15397              :     case E_V8SFmode:
   15398              :       if (pattern160 (x3, 
   15399              : E_V8SFmode) != 0
   15400              :           || !(
   15401              : #line 24103 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15402              : (TARGET_SSE4_1) && 
   15403              : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15404              : (TARGET_AVX)))
   15405              :         return -1;
   15406              :       return 8758; /* avx_dpps256 */
   15407              : 
   15408              :     case E_V4SFmode:
   15409              :       if (pattern160 (x3, 
   15410              : E_V4SFmode) != 0
   15411              :           || !
   15412              : #line 24103 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15413              : (TARGET_SSE4_1))
   15414              :         return -1;
   15415              :       return 8759; /* sse4_1_dpps */
   15416              : 
   15417              :     case E_V4DFmode:
   15418              :       if (pattern160 (x3, 
   15419              : E_V4DFmode) != 0
   15420              :           || !(
   15421              : #line 24103 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15422              : (TARGET_SSE4_1) && 
   15423              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15424              : (TARGET_AVX)))
   15425              :         return -1;
   15426              :       return 8760; /* avx_dppd256 */
   15427              : 
   15428              :     case E_V2DFmode:
   15429              :       if (pattern160 (x3, 
   15430              : E_V2DFmode) != 0
   15431              :           || !(
   15432              : #line 24103 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15433              : (TARGET_SSE4_1) && 
   15434              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15435              : (TARGET_SSE2)))
   15436              :         return -1;
   15437              :       return 8761; /* sse4_1_dppd */
   15438              : 
   15439              :     default:
   15440              :       return -1;
   15441              :     }
   15442              : }
   15443              : 
   15444              :  int
   15445              : recog_270 (rtx x1 ATTRIBUTE_UNUSED,
   15446              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   15447              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   15448              : {
   15449              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   15450              :   rtx x2, x3, x4, x5, x6;
   15451              :   int res ATTRIBUTE_UNUSED;
   15452              :   x2 = XEXP (x1, 1);
   15453              :   switch (XINT (x2, 1))
   15454              :     {
   15455              :     case 52:
   15456              :       return recog_251 (x1, insn, pnum_clobbers);
   15457              : 
   15458              :     case 60:
   15459              :       x3 = XEXP (x1, 0);
   15460              :       operands[0] = x3;
   15461              :       x4 = XVECEXP (x2, 0, 0);
   15462              :       operands[1] = x4;
   15463              :       x5 = XVECEXP (x2, 0, 1);
   15464              :       operands[2] = x5;
   15465              :       x6 = XVECEXP (x2, 0, 2);
   15466              :       operands[3] = x6;
   15467              :       if (!cmpps_imm_operand (operands[3], E_SImode))
   15468              :         return -1;
   15469              :       switch (GET_MODE (operands[0]))
   15470              :         {
   15471              :         case E_V8SFmode:
   15472              :           if (pattern64 (x2, 
   15473              : E_V8SFmode) != 0
   15474              :               || !(
   15475              : #line 4323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15476              : (TARGET_SSE) && 
   15477              : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15478              : (TARGET_AVX)))
   15479              :             return -1;
   15480              :           return 3278; /* avx_cmpv8sf3 */
   15481              : 
   15482              :         case E_V4SFmode:
   15483              :           if (pattern64 (x2, 
   15484              : E_V4SFmode) != 0
   15485              :               || !
   15486              : #line 4323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15487              : (TARGET_SSE))
   15488              :             return -1;
   15489              :           return 3279; /* avx_cmpv4sf3 */
   15490              : 
   15491              :         case E_V4DFmode:
   15492              :           if (pattern64 (x2, 
   15493              : E_V4DFmode) != 0
   15494              :               || !(
   15495              : #line 4323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15496              : (TARGET_SSE) && 
   15497              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15498              : (TARGET_AVX)))
   15499              :             return -1;
   15500              :           return 3280; /* avx_cmpv4df3 */
   15501              : 
   15502              :         case E_V2DFmode:
   15503              :           if (pattern64 (x2, 
   15504              : E_V2DFmode) != 0
   15505              :               || !(
   15506              : #line 4323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15507              : (TARGET_SSE) && 
   15508              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15509              : (TARGET_SSE2)))
   15510              :             return -1;
   15511              :           return 3281; /* avx_cmpv2df3 */
   15512              : 
   15513              :         default:
   15514              :           return -1;
   15515              :         }
   15516              : 
   15517              :     case 134:
   15518              :       return recog_250 (x1, insn, pnum_clobbers);
   15519              : 
   15520              :     case 218:
   15521              :       return recog_266 (x1, insn, pnum_clobbers);
   15522              : 
   15523              :     case 220:
   15524              :       return recog_267 (x1, insn, pnum_clobbers);
   15525              : 
   15526              :     case 219:
   15527              :       switch (pattern175 (x1))
   15528              :         {
   15529              :         case 0:
   15530              :           if (!
   15531              : #line 7572 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15532              : (TARGET_AVX512FP16))
   15533              :             return -1;
   15534              :           return 4390; /* fma_fmaddc_v16sf_pair */
   15535              : 
   15536              :         case 1:
   15537              :           if (!(
   15538              : #line 7572 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15539              : (TARGET_AVX512FP16) && 
   15540              : #line 534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15541              : (TARGET_AVX512VL)))
   15542              :             return -1;
   15543              :           return 4392; /* fma_fmaddc_v8sf_pair */
   15544              : 
   15545              :         case 2:
   15546              :           if (!(
   15547              : #line 7572 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15548              : (TARGET_AVX512FP16) && 
   15549              : #line 534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15550              : (TARGET_AVX512VL)))
   15551              :             return -1;
   15552              :           return 4394; /* fma_fmaddc_v4sf_pair */
   15553              : 
   15554              :         default:
   15555              :           return -1;
   15556              :         }
   15557              : 
   15558              :     case 221:
   15559              :       switch (pattern175 (x1))
   15560              :         {
   15561              :         case 0:
   15562              :           if (!
   15563              : #line 7572 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15564              : (TARGET_AVX512FP16))
   15565              :             return -1;
   15566              :           return 4391; /* fma_fcmaddc_v16sf_pair */
   15567              : 
   15568              :         case 1:
   15569              :           if (!(
   15570              : #line 7572 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15571              : (TARGET_AVX512FP16) && 
   15572              : #line 534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15573              : (TARGET_AVX512VL)))
   15574              :             return -1;
   15575              :           return 4393; /* fma_fcmaddc_v8sf_pair */
   15576              : 
   15577              :         case 2:
   15578              :           if (!(
   15579              : #line 7572 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15580              : (TARGET_AVX512FP16) && 
   15581              : #line 534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15582              : (TARGET_AVX512VL)))
   15583              :             return -1;
   15584              :           return 4395; /* fma_fcmaddc_v4sf_pair */
   15585              : 
   15586              :         default:
   15587              :           return -1;
   15588              :         }
   15589              : 
   15590              :     case 51:
   15591              :       x3 = XEXP (x1, 0);
   15592              :       operands[0] = x3;
   15593              :       x4 = XVECEXP (x2, 0, 0);
   15594              :       operands[2] = x4;
   15595              :       x5 = XVECEXP (x2, 0, 1);
   15596              :       operands[1] = x5;
   15597              :       x6 = XVECEXP (x2, 0, 2);
   15598              :       operands[3] = x6;
   15599              :       if (!const_0_to_255_operand (operands[3], E_SImode))
   15600              :         return -1;
   15601              :       switch (GET_MODE (operands[0]))
   15602              :         {
   15603              :         case E_V4SImode:
   15604              :           if (pattern970 (x2, 
   15605              : E_V4SImode) != 0
   15606              :               || !
   15607              : #line 12559 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15608              : (TARGET_SSE4_1))
   15609              :             return -1;
   15610              :           return 5344; /* sse4_1_insertps_v4si */
   15611              : 
   15612              :         case E_V4SFmode:
   15613              :           if (pattern970 (x2, 
   15614              : E_V4SFmode) != 0
   15615              :               || !
   15616              : #line 12559 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15617              : (TARGET_SSE4_1))
   15618              :             return -1;
   15619              :           return 5345; /* sse4_1_insertps_v4sf */
   15620              : 
   15621              :         default:
   15622              :           return -1;
   15623              :         }
   15624              : 
   15625              :     case 168:
   15626              :       return recog_258 (x1, insn, pnum_clobbers);
   15627              : 
   15628              :     case 156:
   15629              :       return recog_253 (x1, insn, pnum_clobbers);
   15630              : 
   15631              :     case 48:
   15632              :       return recog_249 (x1, insn, pnum_clobbers);
   15633              : 
   15634              :     case 122:
   15635              :       x3 = XEXP (x1, 0);
   15636              :       operands[0] = x3;
   15637              :       x4 = XVECEXP (x2, 0, 0);
   15638              :       operands[1] = x4;
   15639              :       x5 = XVECEXP (x2, 0, 1);
   15640              :       operands[2] = x5;
   15641              :       x6 = XVECEXP (x2, 0, 2);
   15642              :       operands[3] = x6;
   15643              :       if (!const_0_to_255_mul_8_operand (operands[3], E_SImode))
   15644              :         return -1;
   15645              :       switch (GET_MODE (operands[0]))
   15646              :         {
   15647              :         case E_V4TImode:
   15648              :           if (pattern158 (x2, 
   15649              : E_V4TImode) != 0
   15650              :               || !(
   15651              : #line 23596 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15652              : (TARGET_SSSE3) && 
   15653              : #line 718 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15654              : (TARGET_AVX512BW)))
   15655              :             return -1;
   15656              :           return 8688; /* avx512bw_palignrv4ti */
   15657              : 
   15658              :         case E_V2TImode:
   15659              :           if (pattern158 (x2, 
   15660              : E_V2TImode) != 0
   15661              :               || !(
   15662              : #line 23596 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15663              : (TARGET_SSSE3) && 
   15664              : #line 718 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15665              : (TARGET_AVX2)))
   15666              :             return -1;
   15667              :           return 8689; /* avx2_palignrv2ti */
   15668              : 
   15669              :         case E_V1TImode:
   15670              :           if (pattern158 (x2, 
   15671              : E_V1TImode) != 0
   15672              :               || !
   15673              : #line 23596 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15674              : (TARGET_SSSE3))
   15675              :             return -1;
   15676              :           return 8690; /* ssse3_palignrv1ti */
   15677              : 
   15678              :         default:
   15679              :           return -1;
   15680              :         }
   15681              : 
   15682              :     case 123:
   15683              :       if (GET_MODE (x2) != E_V2DImode)
   15684              :         return -1;
   15685              :       x3 = XEXP (x1, 0);
   15686              :       operands[0] = x3;
   15687              :       if (!register_operand (operands[0], E_V2DImode))
   15688              :         return -1;
   15689              :       x4 = XVECEXP (x2, 0, 0);
   15690              :       operands[1] = x4;
   15691              :       if (!register_operand (operands[1], E_V2DImode))
   15692              :         return -1;
   15693              :       x5 = XVECEXP (x2, 0, 1);
   15694              :       operands[2] = x5;
   15695              :       if (!const_0_to_255_operand (operands[2], E_VOIDmode))
   15696              :         return -1;
   15697              :       x6 = XVECEXP (x2, 0, 2);
   15698              :       operands[3] = x6;
   15699              :       if (!const_0_to_255_operand (operands[3], E_VOIDmode)
   15700              :           || !
   15701              : #line 23790 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15702              : (TARGET_SSE4A))
   15703              :         return -1;
   15704              :       return 8720; /* sse4a_extrqi */
   15705              : 
   15706              :     case 127:
   15707              :       return recog_264 (x1, insn, pnum_clobbers);
   15708              : 
   15709              :     case 129:
   15710              :       return recog_265 (x1, insn, pnum_clobbers);
   15711              : 
   15712              :     case 54:
   15713              :       if (pattern66 (x1, 
   15714              : E_V16QImode) != 0)
   15715              :         return -1;
   15716              :       x6 = XVECEXP (x2, 0, 2);
   15717              :       operands[3] = x6;
   15718              :       if (!nonimmediate_operand (operands[3], E_V16QImode)
   15719              :           || !
   15720              : #line 27100 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15721              : (TARGET_XOP && !(MEM_P (operands[2]) && MEM_P (operands[3]))))
   15722              :         return -1;
   15723              :       return 9083; /* xop_pperm */
   15724              : 
   15725              :     case 136:
   15726              :       return recog_263 (x1, insn, pnum_clobbers);
   15727              : 
   15728              :     case 144:
   15729              :       if (pattern166 (x1, 
   15730              : E_V2DImode) != 0)
   15731              :         return -1;
   15732              :       x6 = XVECEXP (x2, 0, 2);
   15733              :       operands[3] = x6;
   15734              :       if (!const_0_to_255_operand (operands[3], E_SImode)
   15735              :           || !
   15736              : #line 27886 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15737              : (TARGET_PCLMUL))
   15738              :         return -1;
   15739              :       return 9142; /* pclmulqdq */
   15740              : 
   15741              :     case 153:
   15742              :       if (pattern66 (x1, 
   15743              : E_V4DImode) != 0)
   15744              :         return -1;
   15745              :       x6 = XVECEXP (x2, 0, 2);
   15746              :       operands[3] = x6;
   15747              :       if (!const_0_to_255_operand (operands[3], E_SImode)
   15748              :           || !
   15749              : #line 28343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15750              : (TARGET_AVX2))
   15751              :         return -1;
   15752              :       return 9244; /* avx2_permv2ti */
   15753              : 
   15754              :     case 147:
   15755              :       x3 = XEXP (x1, 0);
   15756              :       operands[0] = x3;
   15757              :       x4 = XVECEXP (x2, 0, 0);
   15758              :       operands[1] = x4;
   15759              :       x5 = XVECEXP (x2, 0, 1);
   15760              :       operands[2] = x5;
   15761              :       x6 = XVECEXP (x2, 0, 2);
   15762              :       operands[3] = x6;
   15763              :       if (!const_0_to_255_operand (operands[3], E_SImode))
   15764              :         return -1;
   15765              :       switch (GET_MODE (operands[0]))
   15766              :         {
   15767              :         case E_V8SImode:
   15768              :           if (pattern64 (x2, 
   15769              : E_V8SImode) != 0
   15770              :               || !
   15771              : #line 29009 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15772              : (TARGET_AVX))
   15773              :             return -1;
   15774              :           return 9522; /* *avx_vperm2f128v8si_full */
   15775              : 
   15776              :         case E_V8SFmode:
   15777              :           if (pattern64 (x2, 
   15778              : E_V8SFmode) != 0
   15779              :               || !
   15780              : #line 29009 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15781              : (TARGET_AVX))
   15782              :             return -1;
   15783              :           return 9523; /* *avx_vperm2f128v8sf_full */
   15784              : 
   15785              :         case E_V4DFmode:
   15786              :           if (pattern64 (x2, 
   15787              : E_V4DFmode) != 0
   15788              :               || !
   15789              : #line 29009 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15790              : (TARGET_AVX))
   15791              :             return -1;
   15792              :           return 9524; /* *avx_vperm2f128v4df_full */
   15793              : 
   15794              :         default:
   15795              :           return -1;
   15796              :         }
   15797              : 
   15798              :     case 154:
   15799              :       return recog_248 (x1, insn, pnum_clobbers);
   15800              : 
   15801              :     case 170:
   15802              :       return recog_255 (x1, insn, pnum_clobbers);
   15803              : 
   15804              :     case 171:
   15805              :       return recog_254 (x1, insn, pnum_clobbers);
   15806              : 
   15807              :     case 172:
   15808              :       return recog_252 (x1, insn, pnum_clobbers);
   15809              : 
   15810              :     case 195:
   15811              :       return recog_257 (x1, insn, pnum_clobbers);
   15812              : 
   15813              :     case 187:
   15814              :       x3 = XEXP (x1, 0);
   15815              :       operands[0] = x3;
   15816              :       x4 = XVECEXP (x2, 0, 0);
   15817              :       operands[1] = x4;
   15818              :       x5 = XVECEXP (x2, 0, 1);
   15819              :       operands[2] = x5;
   15820              :       x6 = XVECEXP (x2, 0, 2);
   15821              :       operands[3] = x6;
   15822              :       if (!const_0_to_255_operand (operands[3], E_SImode))
   15823              :         return -1;
   15824              :       switch (GET_MODE (operands[0]))
   15825              :         {
   15826              :         case E_V8HImode:
   15827              :           if (pattern169 (x2, 
   15828              : E_V8HImode, 
   15829              : E_V16QImode) != 0
   15830              :               || !(
   15831              : #line 30625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15832              : (TARGET_AVX512BW) && 
   15833              : #line 679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15834              : (TARGET_AVX512VL)))
   15835              :             return -1;
   15836              :           return 10128; /* *avx512bw_dbpsadbwv8hi */
   15837              : 
   15838              :         case E_V16HImode:
   15839              :           if (pattern169 (x2, 
   15840              : E_V16HImode, 
   15841              : E_V32QImode) != 0
   15842              :               || !(
   15843              : #line 30625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15844              : (TARGET_AVX512BW) && 
   15845              : #line 679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15846              : (TARGET_AVX512VL)))
   15847              :             return -1;
   15848              :           return 10130; /* *avx512bw_dbpsadbwv16hi */
   15849              : 
   15850              :         case E_V32HImode:
   15851              :           if (pattern169 (x2, 
   15852              : E_V32HImode, 
   15853              : E_V64QImode) != 0
   15854              :               || !
   15855              : #line 30625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15856              : (TARGET_AVX512BW))
   15857              :             return -1;
   15858              :           return 10132; /* *avx512bw_dbpsadbwv32hi */
   15859              : 
   15860              :         default:
   15861              :           return -1;
   15862              :         }
   15863              : 
   15864              :     case 183:
   15865              :       if (pattern166 (x1, 
   15866              : E_V4SImode) != 0)
   15867              :         return -1;
   15868              :       x6 = XVECEXP (x2, 0, 2);
   15869              :       operands[3] = x6;
   15870              :       if (!const_0_to_3_operand (operands[3], E_SImode)
   15871              :           || !
   15872              : #line 30693 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15873              : (TARGET_SHA))
   15874              :         return -1;
   15875              :       return 10161; /* sha1rnds4 */
   15876              : 
   15877              :     case 186:
   15878              :       if (pattern166 (x1, 
   15879              : E_V4SImode) != 0)
   15880              :         return -1;
   15881              :       x6 = XVECEXP (x2, 0, 2);
   15882              :       operands[3] = x6;
   15883              :       if (!register_operand (operands[3], E_V4SImode)
   15884              :           || !
   15885              : #line 30728 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15886              : (TARGET_SHA))
   15887              :         return -1;
   15888              :       return 10164; /* sha256rnds2 */
   15889              : 
   15890              :     case 225:
   15891              :       if (pattern177 (x1) != 0
   15892              :           || !
   15893              : #line 30741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15894              : (TARGET_SM3))
   15895              :         return -1;
   15896              :       return 10165; /* vsm3msg1 */
   15897              : 
   15898              :     case 226:
   15899              :       if (pattern177 (x1) != 0
   15900              :           || !
   15901              : #line 30753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15902              : (TARGET_SM3))
   15903              :         return -1;
   15904              :       return 10166; /* vsm3msg2 */
   15905              : 
   15906              :     case 242:
   15907              :       if (pattern165 (x1, 
   15908              : E_V4DImode) != 0)
   15909              :         return -1;
   15910              :       x6 = XVECEXP (x2, 0, 2);
   15911              :       operands[3] = x6;
   15912              :       if (!register_operand (operands[3], E_V2DImode)
   15913              :           || !
   15914              : #line 30801 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15915              : (TARGET_SHA512))
   15916              :         return -1;
   15917              :       return 10170; /* vsha512rnds2 */
   15918              : 
   15919              :     case 196:
   15920              :       switch (pattern179 (x1))
   15921              :         {
   15922              :         case 0:
   15923              :           if (!
   15924              : #line 30910 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15925              : (TARGET_AVX512IFMA))
   15926              :             return -1;
   15927              :           return 10183; /* vpmadd52luqv8di */
   15928              : 
   15929              :         case 1:
   15930              :           if (!(
   15931              : #line 30923 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15932              : (TARGET_AVXIFMA || (TARGET_AVX512IFMA && TARGET_AVX512VL)) && 
   15933              : #line 697 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15934              : (TARGET_AVX2)))
   15935              :             return -1;
   15936              :           return 10185; /* vpmadd52luqv4di */
   15937              : 
   15938              :         case 2:
   15939              :           if (!
   15940              : #line 30923 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15941              : (TARGET_AVXIFMA || (TARGET_AVX512IFMA && TARGET_AVX512VL)))
   15942              :             return -1;
   15943              :           return 10187; /* vpmadd52luqv2di */
   15944              : 
   15945              :         default:
   15946              :           return -1;
   15947              :         }
   15948              : 
   15949              :     case 197:
   15950              :       switch (pattern179 (x1))
   15951              :         {
   15952              :         case 0:
   15953              :           if (!
   15954              : #line 30910 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15955              : (TARGET_AVX512IFMA))
   15956              :             return -1;
   15957              :           return 10184; /* vpmadd52huqv8di */
   15958              : 
   15959              :         case 1:
   15960              :           if (!(
   15961              : #line 30923 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15962              : (TARGET_AVXIFMA || (TARGET_AVX512IFMA && TARGET_AVX512VL)) && 
   15963              : #line 697 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15964              : (TARGET_AVX2)))
   15965              :             return -1;
   15966              :           return 10186; /* vpmadd52huqv4di */
   15967              : 
   15968              :         case 2:
   15969              :           if (!
   15970              : #line 30923 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15971              : (TARGET_AVXIFMA || (TARGET_AVX512IFMA && TARGET_AVX512VL)))
   15972              :             return -1;
   15973              :           return 10188; /* vpmadd52huqv2di */
   15974              : 
   15975              :         default:
   15976              :           return -1;
   15977              :         }
   15978              : 
   15979              :     case 199:
   15980              :       switch (pattern180 (x1))
   15981              :         {
   15982              :         case 0:
   15983              :           if (!(
   15984              : #line 31047 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15985              : (TARGET_GFNI) && 
   15986              : #line 629 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15987              : (TARGET_AVX512F)))
   15988              :             return -1;
   15989              :           return 10239; /* vgf2p8affineinvqb_v64qi */
   15990              : 
   15991              :         case 1:
   15992              :           if (!(
   15993              : #line 31047 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15994              : (TARGET_GFNI) && 
   15995              : #line 629 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15996              : (TARGET_AVX)))
   15997              :             return -1;
   15998              :           return 10241; /* vgf2p8affineinvqb_v32qi */
   15999              : 
   16000              :         case 2:
   16001              :           if (!
   16002              : #line 31047 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16003              : (TARGET_GFNI))
   16004              :             return -1;
   16005              :           return 10243; /* vgf2p8affineinvqb_v16qi */
   16006              : 
   16007              :         default:
   16008              :           return -1;
   16009              :         }
   16010              : 
   16011              :     case 200:
   16012              :       switch (pattern180 (x1))
   16013              :         {
   16014              :         case 0:
   16015              :           if (!(
   16016              : #line 31064 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16017              : (TARGET_GFNI) && 
   16018              : #line 629 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16019              : (TARGET_AVX512F)))
   16020              :             return -1;
   16021              :           return 10245; /* vgf2p8affineqb_v64qi */
   16022              : 
   16023              :         case 1:
   16024              :           if (!(
   16025              : #line 31064 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16026              : (TARGET_GFNI) && 
   16027              : #line 629 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16028              : (TARGET_AVX)))
   16029              :             return -1;
   16030              :           return 10247; /* vgf2p8affineqb_v32qi */
   16031              : 
   16032              :         case 2:
   16033              :           if (!
   16034              : #line 31064 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16035              : (TARGET_GFNI))
   16036              :             return -1;
   16037              :           return 10249; /* vgf2p8affineqb_v16qi */
   16038              : 
   16039              :         default:
   16040              :           return -1;
   16041              :         }
   16042              : 
   16043              :     case 203:
   16044              :       return recog_262 (x1, insn, pnum_clobbers);
   16045              : 
   16046              :     case 202:
   16047              :       return recog_260 (x1, insn, pnum_clobbers);
   16048              : 
   16049              :     case 204:
   16050              :       return recog_261 (x1, insn, pnum_clobbers);
   16051              : 
   16052              :     case 205:
   16053              :       return recog_259 (x1, insn, pnum_clobbers);
   16054              : 
   16055              :     case 206:
   16056              :       switch (pattern183 (x1))
   16057              :         {
   16058              :         case 0:
   16059              :           if (!
   16060              : #line 31281 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16061              : (TARGET_AVX512VNNI))
   16062              :             return -1;
   16063              :           return 10347; /* vpdpbusd_v16si */
   16064              : 
   16065              :         case 1:
   16066              :           if (!(
   16067              : #line 31292 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16068              : (TARGET_AVXVNNI || (TARGET_AVX512VNNI && TARGET_AVX512VL)) && 
   16069              : #line 662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16070              : (TARGET_AVX2)))
   16071              :             return -1;
   16072              :           return 10348; /* vpdpbusd_v8si */
   16073              : 
   16074              :         case 2:
   16075              :           if (!
   16076              : #line 31292 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16077              : (TARGET_AVXVNNI || (TARGET_AVX512VNNI && TARGET_AVX512VL)))
   16078              :             return -1;
   16079              :           return 10349; /* vpdpbusd_v4si */
   16080              : 
   16081              :         default:
   16082              :           return -1;
   16083              :         }
   16084              : 
   16085              :     case 207:
   16086              :       switch (pattern183 (x1))
   16087              :         {
   16088              :         case 0:
   16089              :           if (!
   16090              : #line 31350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16091              : (TARGET_AVX512VNNI))
   16092              :             return -1;
   16093              :           return 10356; /* vpdpbusds_v16si */
   16094              : 
   16095              :         case 1:
   16096              :           if (!(
   16097              : #line 31361 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16098              : (TARGET_AVXVNNI || (TARGET_AVX512VNNI && TARGET_AVX512VL)) && 
   16099              : #line 662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16100              : (TARGET_AVX2)))
   16101              :             return -1;
   16102              :           return 10357; /* vpdpbusds_v8si */
   16103              : 
   16104              :         case 2:
   16105              :           if (!
   16106              : #line 31361 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16107              : (TARGET_AVXVNNI || (TARGET_AVX512VNNI && TARGET_AVX512VL)))
   16108              :             return -1;
   16109              :           return 10358; /* vpdpbusds_v4si */
   16110              : 
   16111              :         default:
   16112              :           return -1;
   16113              :         }
   16114              : 
   16115              :     case 208:
   16116              :       switch (pattern183 (x1))
   16117              :         {
   16118              :         case 0:
   16119              :           if (!
   16120              : #line 31419 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16121              : (TARGET_AVX512VNNI))
   16122              :             return -1;
   16123              :           return 10365; /* vpdpwssd_v16si */
   16124              : 
   16125              :         case 1:
   16126              :           if (!(
   16127              : #line 31430 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16128              : (TARGET_AVXVNNI || (TARGET_AVX512VNNI && TARGET_AVX512VL)) && 
   16129              : #line 662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16130              : (TARGET_AVX2)))
   16131              :             return -1;
   16132              :           return 10366; /* vpdpwssd_v8si */
   16133              : 
   16134              :         case 2:
   16135              :           if (!
   16136              : #line 31430 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16137              : (TARGET_AVXVNNI || (TARGET_AVX512VNNI && TARGET_AVX512VL)))
   16138              :             return -1;
   16139              :           return 10367; /* vpdpwssd_v4si */
   16140              : 
   16141              :         default:
   16142              :           return -1;
   16143              :         }
   16144              : 
   16145              :     case 209:
   16146              :       switch (pattern183 (x1))
   16147              :         {
   16148              :         case 0:
   16149              :           if (!
   16150              : #line 31488 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16151              : (TARGET_AVX512VNNI))
   16152              :             return -1;
   16153              :           return 10374; /* vpdpwssds_v16si */
   16154              : 
   16155              :         case 1:
   16156              :           if (!(
   16157              : #line 31499 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16158              : (TARGET_AVXVNNI || (TARGET_AVX512VNNI && TARGET_AVX512VL)) && 
   16159              : #line 662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16160              : (TARGET_AVX2)))
   16161              :             return -1;
   16162              :           return 10375; /* vpdpwssds_v8si */
   16163              : 
   16164              :         case 2:
   16165              :           if (!
   16166              : #line 31499 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16167              : (TARGET_AVXVNNI || (TARGET_AVX512VNNI && TARGET_AVX512VL)))
   16168              :             return -1;
   16169              :           return 10376; /* vpdpwssds_v4si */
   16170              : 
   16171              :         default:
   16172              :           return -1;
   16173              :         }
   16174              : 
   16175              :     case 214:
   16176              :       x3 = XEXP (x1, 0);
   16177              :       operands[0] = x3;
   16178              :       x4 = XVECEXP (x2, 0, 0);
   16179              :       operands[1] = x4;
   16180              :       x5 = XVECEXP (x2, 0, 1);
   16181              :       operands[2] = x5;
   16182              :       x6 = XVECEXP (x2, 0, 2);
   16183              :       operands[3] = x6;
   16184              :       if (!const_0_to_255_operand (operands[3], E_SImode))
   16185              :         return -1;
   16186              :       switch (GET_MODE (operands[0]))
   16187              :         {
   16188              :         case E_V8DImode:
   16189              :           if (pattern158 (x2, 
   16190              : E_V8DImode) != 0
   16191              :               || !(
   16192              : #line 31628 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16193              : (TARGET_VPCLMULQDQ) && 
   16194              : #line 614 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16195              : (TARGET_AVX512F)))
   16196              :             return -1;
   16197              :           return 10395; /* vpclmulqdq_v8di */
   16198              : 
   16199              :         case E_V4DImode:
   16200              :           if (pattern158 (x2, 
   16201              : E_V4DImode) != 0
   16202              :               || !
   16203              : #line 31628 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16204              : (TARGET_VPCLMULQDQ))
   16205              :             return -1;
   16206              :           return 10396; /* vpclmulqdq_v4di */
   16207              : 
   16208              :         case E_V2DImode:
   16209              :           if (pattern158 (x2, 
   16210              : E_V2DImode) != 0
   16211              :               || !(
   16212              : #line 31628 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16213              : (TARGET_VPCLMULQDQ) && 
   16214              : #line 614 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16215              : (TARGET_AVX512VL)))
   16216              :             return -1;
   16217              :           return 10397; /* vpclmulqdq_v2di */
   16218              : 
   16219              :         default:
   16220              :           return -1;
   16221              :         }
   16222              : 
   16223              :     case 217:
   16224              :       x3 = XEXP (x1, 0);
   16225              :       operands[0] = x3;
   16226              :       x4 = XVECEXP (x2, 0, 0);
   16227              :       operands[1] = x4;
   16228              :       x5 = XVECEXP (x2, 0, 1);
   16229              :       operands[2] = x5;
   16230              :       x6 = XVECEXP (x2, 0, 2);
   16231              :       operands[3] = x6;
   16232              :       switch (GET_MODE (operands[0]))
   16233              :         {
   16234              :         case E_V16SFmode:
   16235              :           if (pattern919 (x2, 
   16236              : E_V32BFmode, 
   16237              : E_V16SFmode) != 0
   16238              :               || !
   16239              : #line 31906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16240              : (TARGET_AVX512BF16))
   16241              :             return -1;
   16242              :           return 10425; /* avx512f_dpbf16ps_v16sf */
   16243              : 
   16244              :         case E_V8SFmode:
   16245              :           if (pattern919 (x2, 
   16246              : E_V16BFmode, 
   16247              : E_V8SFmode) != 0
   16248              :               || !(
   16249              : #line 31906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16250              : (TARGET_AVX512BF16) && 
   16251              : #line 534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16252              : (TARGET_AVX512VL)))
   16253              :             return -1;
   16254              :           return 10427; /* avx512f_dpbf16ps_v8sf */
   16255              : 
   16256              :         case E_V4SFmode:
   16257              :           if (pattern919 (x2, 
   16258              : E_V8BFmode, 
   16259              : E_V4SFmode) != 0
   16260              :               || !(
   16261              : #line 31906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16262              : (TARGET_AVX512BF16) && 
   16263              : #line 534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16264              : (TARGET_AVX512VL)))
   16265              :             return -1;
   16266              :           return 10429; /* avx512f_dpbf16ps_v4sf */
   16267              : 
   16268              :         default:
   16269              :           return -1;
   16270              :         }
   16271              : 
   16272              :     case 228:
   16273              :       switch (pattern184 (x1))
   16274              :         {
   16275              :         case 0:
   16276              :           if (!(
   16277              : #line 32279 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16278              : (TARGET_AVXVNNIINT8 || TARGET_AVX10_2) && 
   16279              : #line 659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16280              : (TARGET_AVX)))
   16281              :             return -1;
   16282              :           return 10445; /* vpdpbssd_v8si */
   16283              : 
   16284              :         case 1:
   16285              :           if (!
   16286              : #line 32279 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16287              : (TARGET_AVXVNNIINT8 || TARGET_AVX10_2))
   16288              :             return -1;
   16289              :           return 10451; /* vpdpbssd_v4si */
   16290              : 
   16291              :         case 2:
   16292              :           if (!
   16293              : #line 32290 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16294              : (TARGET_AVX10_2))
   16295              :             return -1;
   16296              :           return 10457; /* vpdpbssd_v16si */
   16297              : 
   16298              :         default:
   16299              :           return -1;
   16300              :         }
   16301              : 
   16302              :     case 229:
   16303              :       switch (pattern184 (x1))
   16304              :         {
   16305              :         case 0:
   16306              :           if (!(
   16307              : #line 32279 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16308              : (TARGET_AVXVNNIINT8 || TARGET_AVX10_2) && 
   16309              : #line 659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16310              : (TARGET_AVX)))
   16311              :             return -1;
   16312              :           return 10446; /* vpdpbssds_v8si */
   16313              : 
   16314              :         case 1:
   16315              :           if (!
   16316              : #line 32279 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16317              : (TARGET_AVXVNNIINT8 || TARGET_AVX10_2))
   16318              :             return -1;
   16319              :           return 10452; /* vpdpbssds_v4si */
   16320              : 
   16321              :         case 2:
   16322              :           if (!
   16323              : #line 32290 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16324              : (TARGET_AVX10_2))
   16325              :             return -1;
   16326              :           return 10458; /* vpdpbssds_v16si */
   16327              : 
   16328              :         default:
   16329              :           return -1;
   16330              :         }
   16331              : 
   16332              :     case 230:
   16333              :       switch (pattern184 (x1))
   16334              :         {
   16335              :         case 0:
   16336              :           if (!(
   16337              : #line 32279 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16338              : (TARGET_AVXVNNIINT8 || TARGET_AVX10_2) && 
   16339              : #line 659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16340              : (TARGET_AVX)))
   16341              :             return -1;
   16342              :           return 10447; /* vpdpbsud_v8si */
   16343              : 
   16344              :         case 1:
   16345              :           if (!
   16346              : #line 32279 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16347              : (TARGET_AVXVNNIINT8 || TARGET_AVX10_2))
   16348              :             return -1;
   16349              :           return 10453; /* vpdpbsud_v4si */
   16350              : 
   16351              :         case 2:
   16352              :           if (!
   16353              : #line 32290 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16354              : (TARGET_AVX10_2))
   16355              :             return -1;
   16356              :           return 10459; /* vpdpbsud_v16si */
   16357              : 
   16358              :         default:
   16359              :           return -1;
   16360              :         }
   16361              : 
   16362              :     case 231:
   16363              :       switch (pattern184 (x1))
   16364              :         {
   16365              :         case 0:
   16366              :           if (!(
   16367              : #line 32279 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16368              : (TARGET_AVXVNNIINT8 || TARGET_AVX10_2) && 
   16369              : #line 659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16370              : (TARGET_AVX)))
   16371              :             return -1;
   16372              :           return 10448; /* vpdpbsuds_v8si */
   16373              : 
   16374              :         case 1:
   16375              :           if (!
   16376              : #line 32279 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16377              : (TARGET_AVXVNNIINT8 || TARGET_AVX10_2))
   16378              :             return -1;
   16379              :           return 10454; /* vpdpbsuds_v4si */
   16380              : 
   16381              :         case 2:
   16382              :           if (!
   16383              : #line 32290 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16384              : (TARGET_AVX10_2))
   16385              :             return -1;
   16386              :           return 10460; /* vpdpbsuds_v16si */
   16387              : 
   16388              :         default:
   16389              :           return -1;
   16390              :         }
   16391              : 
   16392              :     case 232:
   16393              :       switch (pattern184 (x1))
   16394              :         {
   16395              :         case 0:
   16396              :           if (!(
   16397              : #line 32279 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16398              : (TARGET_AVXVNNIINT8 || TARGET_AVX10_2) && 
   16399              : #line 659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16400              : (TARGET_AVX)))
   16401              :             return -1;
   16402              :           return 10449; /* vpdpbuud_v8si */
   16403              : 
   16404              :         case 1:
   16405              :           if (!
   16406              : #line 32279 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16407              : (TARGET_AVXVNNIINT8 || TARGET_AVX10_2))
   16408              :             return -1;
   16409              :           return 10455; /* vpdpbuud_v4si */
   16410              : 
   16411              :         case 2:
   16412              :           if (!
   16413              : #line 32290 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16414              : (TARGET_AVX10_2))
   16415              :             return -1;
   16416              :           return 10461; /* vpdpbuud_v16si */
   16417              : 
   16418              :         default:
   16419              :           return -1;
   16420              :         }
   16421              : 
   16422              :     case 233:
   16423              :       switch (pattern184 (x1))
   16424              :         {
   16425              :         case 0:
   16426              :           if (!(
   16427              : #line 32279 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16428              : (TARGET_AVXVNNIINT8 || TARGET_AVX10_2) && 
   16429              : #line 659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16430              : (TARGET_AVX)))
   16431              :             return -1;
   16432              :           return 10450; /* vpdpbuuds_v8si */
   16433              : 
   16434              :         case 1:
   16435              :           if (!
   16436              : #line 32279 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16437              : (TARGET_AVXVNNIINT8 || TARGET_AVX10_2))
   16438              :             return -1;
   16439              :           return 10456; /* vpdpbuuds_v4si */
   16440              : 
   16441              :         case 2:
   16442              :           if (!
   16443              : #line 32290 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16444              : (TARGET_AVX10_2))
   16445              :             return -1;
   16446              :           return 10462; /* vpdpbuuds_v16si */
   16447              : 
   16448              :         default:
   16449              :           return -1;
   16450              :         }
   16451              : 
   16452              :     case 234:
   16453              :       switch (pattern184 (x1))
   16454              :         {
   16455              :         case 0:
   16456              :           if (!(
   16457              : #line 32688 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16458              : (TARGET_AVXVNNIINT16 || TARGET_AVX10_2) && 
   16459              : #line 659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16460              : (TARGET_AVX)))
   16461              :             return -1;
   16462              :           return 10597; /* vpdpwusd_v8si */
   16463              : 
   16464              :         case 1:
   16465              :           if (!
   16466              : #line 32688 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16467              : (TARGET_AVXVNNIINT16 || TARGET_AVX10_2))
   16468              :             return -1;
   16469              :           return 10603; /* vpdpwusd_v4si */
   16470              : 
   16471              :         case 2:
   16472              :           if (!
   16473              : #line 32699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16474              : (TARGET_AVX10_2))
   16475              :             return -1;
   16476              :           return 10609; /* vpdpwusd_v16si */
   16477              : 
   16478              :         default:
   16479              :           return -1;
   16480              :         }
   16481              : 
   16482              :     case 235:
   16483              :       switch (pattern184 (x1))
   16484              :         {
   16485              :         case 0:
   16486              :           if (!(
   16487              : #line 32688 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16488              : (TARGET_AVXVNNIINT16 || TARGET_AVX10_2) && 
   16489              : #line 659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16490              : (TARGET_AVX)))
   16491              :             return -1;
   16492              :           return 10598; /* vpdpwusds_v8si */
   16493              : 
   16494              :         case 1:
   16495              :           if (!
   16496              : #line 32688 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16497              : (TARGET_AVXVNNIINT16 || TARGET_AVX10_2))
   16498              :             return -1;
   16499              :           return 10604; /* vpdpwusds_v4si */
   16500              : 
   16501              :         case 2:
   16502              :           if (!
   16503              : #line 32699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16504              : (TARGET_AVX10_2))
   16505              :             return -1;
   16506              :           return 10610; /* vpdpwusds_v16si */
   16507              : 
   16508              :         default:
   16509              :           return -1;
   16510              :         }
   16511              : 
   16512              :     case 236:
   16513              :       switch (pattern184 (x1))
   16514              :         {
   16515              :         case 0:
   16516              :           if (!(
   16517              : #line 32688 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16518              : (TARGET_AVXVNNIINT16 || TARGET_AVX10_2) && 
   16519              : #line 659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16520              : (TARGET_AVX)))
   16521              :             return -1;
   16522              :           return 10599; /* vpdpwsud_v8si */
   16523              : 
   16524              :         case 1:
   16525              :           if (!
   16526              : #line 32688 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16527              : (TARGET_AVXVNNIINT16 || TARGET_AVX10_2))
   16528              :             return -1;
   16529              :           return 10605; /* vpdpwsud_v4si */
   16530              : 
   16531              :         case 2:
   16532              :           if (!
   16533              : #line 32699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16534              : (TARGET_AVX10_2))
   16535              :             return -1;
   16536              :           return 10611; /* vpdpwsud_v16si */
   16537              : 
   16538              :         default:
   16539              :           return -1;
   16540              :         }
   16541              : 
   16542              :     case 237:
   16543              :       switch (pattern184 (x1))
   16544              :         {
   16545              :         case 0:
   16546              :           if (!(
   16547              : #line 32688 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16548              : (TARGET_AVXVNNIINT16 || TARGET_AVX10_2) && 
   16549              : #line 659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16550              : (TARGET_AVX)))
   16551              :             return -1;
   16552              :           return 10600; /* vpdpwsuds_v8si */
   16553              : 
   16554              :         case 1:
   16555              :           if (!
   16556              : #line 32688 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16557              : (TARGET_AVXVNNIINT16 || TARGET_AVX10_2))
   16558              :             return -1;
   16559              :           return 10606; /* vpdpwsuds_v4si */
   16560              : 
   16561              :         case 2:
   16562              :           if (!
   16563              : #line 32699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16564              : (TARGET_AVX10_2))
   16565              :             return -1;
   16566              :           return 10612; /* vpdpwsuds_v16si */
   16567              : 
   16568              :         default:
   16569              :           return -1;
   16570              :         }
   16571              : 
   16572              :     case 238:
   16573              :       switch (pattern184 (x1))
   16574              :         {
   16575              :         case 0:
   16576              :           if (!(
   16577              : #line 32688 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16578              : (TARGET_AVXVNNIINT16 || TARGET_AVX10_2) && 
   16579              : #line 659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16580              : (TARGET_AVX)))
   16581              :             return -1;
   16582              :           return 10601; /* vpdpwuud_v8si */
   16583              : 
   16584              :         case 1:
   16585              :           if (!
   16586              : #line 32688 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16587              : (TARGET_AVXVNNIINT16 || TARGET_AVX10_2))
   16588              :             return -1;
   16589              :           return 10607; /* vpdpwuud_v4si */
   16590              : 
   16591              :         case 2:
   16592              :           if (!
   16593              : #line 32699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16594              : (TARGET_AVX10_2))
   16595              :             return -1;
   16596              :           return 10613; /* vpdpwuud_v16si */
   16597              : 
   16598              :         default:
   16599              :           return -1;
   16600              :         }
   16601              : 
   16602              :     case 239:
   16603              :       switch (pattern184 (x1))
   16604              :         {
   16605              :         case 0:
   16606              :           if (!(
   16607              : #line 32688 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16608              : (TARGET_AVXVNNIINT16 || TARGET_AVX10_2) && 
   16609              : #line 659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16610              : (TARGET_AVX)))
   16611              :             return -1;
   16612              :           return 10602; /* vpdpwuuds_v8si */
   16613              : 
   16614              :         case 1:
   16615              :           if (!
   16616              : #line 32688 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16617              : (TARGET_AVXVNNIINT16 || TARGET_AVX10_2))
   16618              :             return -1;
   16619              :           return 10608; /* vpdpwuuds_v4si */
   16620              : 
   16621              :         case 2:
   16622              :           if (!
   16623              : #line 32699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16624              : (TARGET_AVX10_2))
   16625              :             return -1;
   16626              :           return 10614; /* vpdpwuuds_v16si */
   16627              : 
   16628              :         default:
   16629              :           return -1;
   16630              :         }
   16631              : 
   16632              :     case 245:
   16633              :       x3 = XEXP (x1, 0);
   16634              :       operands[0] = x3;
   16635              :       x4 = XVECEXP (x2, 0, 0);
   16636              :       operands[1] = x4;
   16637              :       x5 = XVECEXP (x2, 0, 1);
   16638              :       operands[2] = x5;
   16639              :       x6 = XVECEXP (x2, 0, 2);
   16640              :       operands[3] = x6;
   16641              :       switch (GET_MODE (operands[0]))
   16642              :         {
   16643              :         case E_V16SFmode:
   16644              :           if (pattern178 (x2, 
   16645              : E_V16SFmode) != 0
   16646              :               || !
   16647              : #line 32751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16648              : (TARGET_AVX10_2))
   16649              :             return -1;
   16650              :           return 10651; /* vdpphps_v16sf */
   16651              : 
   16652              :         case E_V8SFmode:
   16653              :           if (pattern178 (x2, 
   16654              : E_V8SFmode) != 0
   16655              :               || !(
   16656              : #line 32751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16657              : (TARGET_AVX10_2) && 
   16658              : #line 534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16659              : (TARGET_AVX512VL)))
   16660              :             return -1;
   16661              :           return 10652; /* vdpphps_v8sf */
   16662              : 
   16663              :         case E_V4SFmode:
   16664              :           if (pattern178 (x2, 
   16665              : E_V4SFmode) != 0
   16666              :               || !(
   16667              : #line 32751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16668              : (TARGET_AVX10_2) && 
   16669              : #line 534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16670              : (TARGET_AVX512VL)))
   16671              :             return -1;
   16672              :           return 10653; /* vdpphps_v4sf */
   16673              : 
   16674              :         default:
   16675              :           return -1;
   16676              :         }
   16677              : 
   16678              :     case 278:
   16679              :       x3 = XEXP (x1, 0);
   16680              :       operands[0] = x3;
   16681              :       x4 = XVECEXP (x2, 0, 0);
   16682              :       operands[1] = x4;
   16683              :       x5 = XVECEXP (x2, 0, 1);
   16684              :       operands[2] = x5;
   16685              :       x6 = XVECEXP (x2, 0, 2);
   16686              :       operands[3] = x6;
   16687              :       if (!const_0_to_255_operand (operands[3], E_SImode))
   16688              :         return -1;
   16689              :       switch (GET_MODE (operands[0]))
   16690              :         {
   16691              :         case E_V32BFmode:
   16692              :           if (pattern1039 (x2, 
   16693              : E_V32BFmode) != 0
   16694              :               || !
   16695              : #line 33341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16696              : (TARGET_AVX10_2))
   16697              :             return -1;
   16698              :           return 10972; /* avx10_2_minmaxbf16_v32bf */
   16699              : 
   16700              :         case E_V16BFmode:
   16701              :           if (pattern1039 (x2, 
   16702              : E_V16BFmode) != 0
   16703              :               || !
   16704              : #line 33341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16705              : (TARGET_AVX10_2))
   16706              :             return -1;
   16707              :           return 10974; /* avx10_2_minmaxbf16_v16bf */
   16708              : 
   16709              :         case E_V8BFmode:
   16710              :           if (pattern1039 (x2, 
   16711              : E_V8BFmode) != 0
   16712              :               || !
   16713              : #line 33341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16714              : (TARGET_AVX10_2))
   16715              :             return -1;
   16716              :           return 10976; /* avx10_2_minmaxbf16_v8bf */
   16717              : 
   16718              :         default:
   16719              :           return -1;
   16720              :         }
   16721              : 
   16722              :     case 279:
   16723              :       return recog_256 (x1, insn, pnum_clobbers);
   16724              : 
   16725              :     case 280:
   16726              :       switch (pattern185 (x1))
   16727              :         {
   16728              :         case 0:
   16729              :           if (!
   16730              : #line 33395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16731              : (TARGET_AVX512BMM))
   16732              :             return -1;
   16733              :           return 11050; /* avx512bmm_vbmacor16x16x16_v32hi */
   16734              : 
   16735              :         case 1:
   16736              :           if (!(
   16737              : #line 33395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16738              : (TARGET_AVX512BMM) && 
   16739              : #line 33386 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16740              : (TARGET_AVX512VL)))
   16741              :             return -1;
   16742              :           return 11051; /* avx512bmm_vbmacor16x16x16_v16hi */
   16743              : 
   16744              :         default:
   16745              :           return -1;
   16746              :         }
   16747              : 
   16748              :     case 281:
   16749              :       switch (pattern185 (x1))
   16750              :         {
   16751              :         case 0:
   16752              :           if (!
   16753              : #line 33408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16754              : (TARGET_AVX512BMM))
   16755              :             return -1;
   16756              :           return 11052; /* avx512bmm_vbmacxor16x16x16_v32hi */
   16757              : 
   16758              :         case 1:
   16759              :           if (!(
   16760              : #line 33408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16761              : (TARGET_AVX512BMM) && 
   16762              : #line 33386 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16763              : (TARGET_AVX512VL)))
   16764              :             return -1;
   16765              :           return 11053; /* avx512bmm_vbmacxor16x16x16_v16hi */
   16766              : 
   16767              :         default:
   16768              :           return -1;
   16769              :         }
   16770              : 
   16771              :     default:
   16772              :       return -1;
   16773              :     }
   16774              : }
   16775              : 
   16776              :  int
   16777              : recog_302 (rtx x1 ATTRIBUTE_UNUSED,
   16778              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   16779              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   16780              : {
   16781              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   16782              :   rtx x2, x3, x4;
   16783              :   int res ATTRIBUTE_UNUSED;
   16784              :   x2 = XEXP (x1, 1);
   16785              :   x3 = XEXP (x2, 1);
   16786              :   x4 = XVECEXP (x3, 0, 0);
   16787              :   operands[3] = x4;
   16788              :   if (!const_int_operand (operands[3], E_VOIDmode))
   16789              :     return -1;
   16790              :   switch (GET_MODE (operands[0]))
   16791              :     {
   16792              :     case E_V4SFmode:
   16793              :       if (!register_operand (operands[0], E_V4SFmode)
   16794              :           || GET_MODE (x2) != E_V4SFmode)
   16795              :         return -1;
   16796              :       if (nonimmediate_operand (operands[1], E_V4SFmode))
   16797              :         {
   16798              :           if (avx_vbroadcast_operand (operands[2], E_VOIDmode)
   16799              :               && 
   16800              : #line 28050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16801              : (TARGET_AVX))
   16802              :             return 9209; /* *avx_vperm_broadcast_v4sf */
   16803              :           if (
   16804              : #line 28187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16805              : (TARGET_AVX && 1
   16806              :    && avx_vpermilp_parallel (operands[2], V4SFmode)))
   16807              :             return 9228; /* *avx_vpermilpv4sf */
   16808              :         }
   16809              :       if (!register_operand (operands[1], E_V4SFmode)
   16810              :           || !palignr_operand (operands[2], E_VOIDmode)
   16811              :           || !
   16812              : #line 29052 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16813              : (TARGET_SSSE3))
   16814              :         return -1;
   16815              :       return 9534; /* *ssse3_palignrv4sf_perm */
   16816              : 
   16817              :     case E_V8SFmode:
   16818              :       if (!register_operand (operands[0], E_V8SFmode)
   16819              :           || GET_MODE (x2) != E_V8SFmode
   16820              :           || !nonimmediate_operand (operands[1], E_V8SFmode))
   16821              :         return -1;
   16822              :       if (avx_vbroadcast_operand (operands[2], E_VOIDmode)
   16823              :           && 
   16824              : #line 28078 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16825              : (TARGET_AVX
   16826              :    && (V8SFmode != V4DFmode || !TARGET_AVX2 || operands[3] == const0_rtx)))
   16827              :         return 9210; /* *avx_vperm_broadcast_v8sf */
   16828              :       if (!(
   16829              : #line 28187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16830              : (TARGET_AVX && 1
   16831              :    && avx_vpermilp_parallel (operands[2], V8SFmode)) && 
   16832              : #line 313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16833              : (TARGET_AVX)))
   16834              :         return -1;
   16835              :       return 9226; /* *avx_vpermilpv8sf */
   16836              : 
   16837              :     case E_V4DFmode:
   16838              :       if (!register_operand (operands[0], E_V4DFmode)
   16839              :           || GET_MODE (x2) != E_V4DFmode
   16840              :           || !nonimmediate_operand (operands[1], E_V4DFmode))
   16841              :         return -1;
   16842              :       if (avx_vbroadcast_operand (operands[2], E_VOIDmode)
   16843              :           && 
   16844              : #line 28078 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16845              : (TARGET_AVX
   16846              :    && (V4DFmode != V4DFmode || !TARGET_AVX2 || operands[3] == const0_rtx)))
   16847              :         return 9211; /* *avx_vperm_broadcast_v4df */
   16848              :       if (!(
   16849              : #line 28187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16850              : (TARGET_AVX && 1
   16851              :    && avx_vpermilp_parallel (operands[2], V4DFmode)) && 
   16852              : #line 314 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16853              : (TARGET_AVX)))
   16854              :         return -1;
   16855              :       return 9232; /* *avx_vpermilpv4df */
   16856              : 
   16857              :     case E_V16SImode:
   16858              :       if (!register_operand (operands[0], E_V16SImode)
   16859              :           || GET_MODE (x2) != E_V16SImode
   16860              :           || !nonimmediate_operand (operands[1], E_V16SImode)
   16861              :           || !(
   16862              : #line 28187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16863              : (TARGET_AVX && 1
   16864              :    && avx_vpermilp_parallel (operands[2], V16SImode)) && 
   16865              : #line 311 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16866              : (TARGET_AVX512F)))
   16867              :         return -1;
   16868              :       return 9212; /* *avx512f_vpermilpv16si */
   16869              : 
   16870              :     case E_V8SImode:
   16871              :       if (!register_operand (operands[0], E_V8SImode)
   16872              :           || GET_MODE (x2) != E_V8SImode
   16873              :           || !nonimmediate_operand (operands[1], E_V8SImode)
   16874              :           || !(
   16875              : #line 28187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16876              : (TARGET_AVX && 1
   16877              :    && avx_vpermilp_parallel (operands[2], V8SImode)) && 
   16878              : #line 311 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16879              : (TARGET_AVX)))
   16880              :         return -1;
   16881              :       return 9214; /* *avx_vpermilpv8si */
   16882              : 
   16883              :     case E_V4SImode:
   16884              :       if (!register_operand (operands[0], E_V4SImode)
   16885              :           || GET_MODE (x2) != E_V4SImode)
   16886              :         return -1;
   16887              :       if (nonimmediate_operand (operands[1], E_V4SImode)
   16888              :           && 
   16889              : #line 28187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16890              : (TARGET_AVX && 1
   16891              :    && avx_vpermilp_parallel (operands[2], V4SImode)))
   16892              :         return 9216; /* *sse2_vpermilpv4si */
   16893              :       if (!register_operand (operands[1], E_V4SImode)
   16894              :           || !palignr_operand (operands[2], E_VOIDmode)
   16895              :           || !
   16896              : #line 29052 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16897              : (TARGET_SSSE3))
   16898              :         return -1;
   16899              :       return 9532; /* *ssse3_palignrv4si_perm */
   16900              : 
   16901              :     case E_V8DImode:
   16902              :       if (!register_operand (operands[0], E_V8DImode)
   16903              :           || GET_MODE (x2) != E_V8DImode
   16904              :           || !nonimmediate_operand (operands[1], E_V8DImode)
   16905              :           || !(
   16906              : #line 28187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16907              : (TARGET_AVX && 1
   16908              :    && avx_vpermilp_parallel (operands[2], V8DImode)) && 
   16909              : #line 312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16910              : (TARGET_AVX512F)))
   16911              :         return -1;
   16912              :       return 9218; /* *avx512f_vpermilpv8di */
   16913              : 
   16914              :     case E_V4DImode:
   16915              :       if (!register_operand (operands[0], E_V4DImode)
   16916              :           || GET_MODE (x2) != E_V4DImode
   16917              :           || !nonimmediate_operand (operands[1], E_V4DImode)
   16918              :           || !(
   16919              : #line 28187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16920              : (TARGET_AVX && 1
   16921              :    && avx_vpermilp_parallel (operands[2], V4DImode)) && 
   16922              : #line 312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16923              : (TARGET_AVX)))
   16924              :         return -1;
   16925              :       return 9220; /* *avx512vl_vpermilpv4di */
   16926              : 
   16927              :     case E_V2DImode:
   16928              :       if (!register_operand (operands[0], E_V2DImode)
   16929              :           || GET_MODE (x2) != E_V2DImode)
   16930              :         return -1;
   16931              :       if (nonimmediate_operand (operands[1], E_V2DImode)
   16932              :           && (
   16933              : #line 28187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16934              : (TARGET_AVX && 1
   16935              :    && avx_vpermilp_parallel (operands[2], V2DImode)) && 
   16936              : #line 312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16937              : (TARGET_SSE2)))
   16938              :         return 9222; /* *avx512vl_vpermilpv2di */
   16939              :       if (!register_operand (operands[1], E_V2DImode)
   16940              :           || !palignr_operand (operands[2], E_VOIDmode)
   16941              :           || !
   16942              : #line 29052 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16943              : (TARGET_SSSE3))
   16944              :         return -1;
   16945              :       return 9533; /* *ssse3_palignrv2di_perm */
   16946              : 
   16947              :     case E_V16SFmode:
   16948              :       if (!register_operand (operands[0], E_V16SFmode)
   16949              :           || GET_MODE (x2) != E_V16SFmode
   16950              :           || !nonimmediate_operand (operands[1], E_V16SFmode)
   16951              :           || !(
   16952              : #line 28187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16953              : (TARGET_AVX && 1
   16954              :    && avx_vpermilp_parallel (operands[2], V16SFmode)) && 
   16955              : #line 313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16956              : (TARGET_AVX512F)))
   16957              :         return -1;
   16958              :       return 9224; /* *avx512f_vpermilpv16sf */
   16959              : 
   16960              :     case E_V8DFmode:
   16961              :       if (!register_operand (operands[0], E_V8DFmode)
   16962              :           || GET_MODE (x2) != E_V8DFmode
   16963              :           || !nonimmediate_operand (operands[1], E_V8DFmode)
   16964              :           || !(
   16965              : #line 28187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16966              : (TARGET_AVX && 1
   16967              :    && avx_vpermilp_parallel (operands[2], V8DFmode)) && 
   16968              : #line 314 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16969              : (TARGET_AVX512F)))
   16970              :         return -1;
   16971              :       return 9230; /* *avx512f_vpermilpv8df */
   16972              : 
   16973              :     case E_V2DFmode:
   16974              :       if (!register_operand (operands[0], E_V2DFmode)
   16975              :           || GET_MODE (x2) != E_V2DFmode)
   16976              :         return -1;
   16977              :       if (nonimmediate_operand (operands[1], E_V2DFmode)
   16978              :           && (
   16979              : #line 28187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16980              : (TARGET_AVX && 1
   16981              :    && avx_vpermilp_parallel (operands[2], V2DFmode)) && 
   16982              : #line 314 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16983              : (TARGET_SSE2)))
   16984              :         return 9234; /* *avx_vpermilpv2df */
   16985              :       if (!register_operand (operands[1], E_V2DFmode)
   16986              :           || !palignr_operand (operands[2], E_VOIDmode)
   16987              :           || !(
   16988              : #line 29052 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16989              : (TARGET_SSSE3) && 
   16990              : #line 356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16991              : (TARGET_SSE2)))
   16992              :         return -1;
   16993              :       return 9535; /* *ssse3_palignrv2df_perm */
   16994              : 
   16995              :     case E_V16QImode:
   16996              :       if (pattern1155 (x2, 
   16997              : E_V16QImode) != 0
   16998              :           || !
   16999              : #line 29052 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17000              : (TARGET_SSSE3))
   17001              :         return -1;
   17002              :       return 9528; /* *ssse3_palignrv16qi_perm */
   17003              : 
   17004              :     case E_V8HImode:
   17005              :       if (pattern1155 (x2, 
   17006              : E_V8HImode) != 0
   17007              :           || !
   17008              : #line 29052 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17009              : (TARGET_SSSE3))
   17010              :         return -1;
   17011              :       return 9529; /* *ssse3_palignrv8hi_perm */
   17012              : 
   17013              :     case E_V8HFmode:
   17014              :       if (pattern1155 (x2, 
   17015              : E_V8HFmode) != 0
   17016              :           || !
   17017              : #line 29052 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17018              : (TARGET_SSSE3))
   17019              :         return -1;
   17020              :       return 9530; /* *ssse3_palignrv8hf_perm */
   17021              : 
   17022              :     case E_V8BFmode:
   17023              :       if (pattern1155 (x2, 
   17024              : E_V8BFmode) != 0
   17025              :           || !
   17026              : #line 29052 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17027              : (TARGET_SSSE3))
   17028              :         return -1;
   17029              :       return 9531; /* *ssse3_palignrv8bf_perm */
   17030              : 
   17031              :     default:
   17032              :       return -1;
   17033              :     }
   17034              : }
   17035              : 
   17036              :  int
   17037              : recog_312 (rtx x1 ATTRIBUTE_UNUSED,
   17038              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   17039              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   17040              : {
   17041              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   17042              :   rtx x2, x3, x4;
   17043              :   int res ATTRIBUTE_UNUSED;
   17044              :   x2 = XEXP (x1, 1);
   17045              :   x3 = XEXP (x2, 0);
   17046              :   x4 = XEXP (x3, 0);
   17047              :   switch (GET_CODE (x4))
   17048              :     {
   17049              :     case REG:
   17050              :     case SUBREG:
   17051              :     case MEM:
   17052              :     case NOT:
   17053              :       switch (pattern535 (x2))
   17054              :         {
   17055              :         case 0:
   17056              :           if (!(
   17057              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17058              : ((64 == 64 || TARGET_AVX512VL
   17059              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17060              :    && ix86_pre_reload_split ()
   17061              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17062              :                     STRIP_UNARY (operands[4]))
   17063              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17064              :                        STRIP_UNARY (operands[4]))
   17065              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17066              :                        STRIP_UNARY (operands[3]))
   17067              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17068              :                        STRIP_UNARY (operands[3])))) && 
   17069              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17070              : (TARGET_AVX512F)))
   17071              :             return -1;
   17072              :           return 5549; /* *avx512bw_vpternlogv64qi_1 */
   17073              : 
   17074              :         case 1:
   17075              :           if (!(
   17076              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17077              : ((32 == 64 || TARGET_AVX512VL
   17078              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17079              :    && ix86_pre_reload_split ()
   17080              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17081              :                     STRIP_UNARY (operands[4]))
   17082              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17083              :                        STRIP_UNARY (operands[4]))
   17084              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17085              :                        STRIP_UNARY (operands[3]))
   17086              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17087              :                        STRIP_UNARY (operands[3])))) && 
   17088              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17089              : (TARGET_AVX)))
   17090              :             return -1;
   17091              :           return 5576; /* *avx512vl_vpternlogv32qi_1 */
   17092              : 
   17093              :         case 2:
   17094              :           if (!
   17095              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17096              : ((16 == 64 || TARGET_AVX512VL
   17097              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17098              :    && ix86_pre_reload_split ()
   17099              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17100              :                     STRIP_UNARY (operands[4]))
   17101              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17102              :                        STRIP_UNARY (operands[4]))
   17103              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17104              :                        STRIP_UNARY (operands[3]))
   17105              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17106              :                        STRIP_UNARY (operands[3])))))
   17107              :             return -1;
   17108              :           return 5603; /* *avx512vl_vpternlogv16qi_1 */
   17109              : 
   17110              :         case 3:
   17111              :           if (!(
   17112              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17113              : ((64 == 64 || TARGET_AVX512VL
   17114              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17115              :    && ix86_pre_reload_split ()
   17116              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17117              :                     STRIP_UNARY (operands[4]))
   17118              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17119              :                        STRIP_UNARY (operands[4]))
   17120              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17121              :                        STRIP_UNARY (operands[3]))
   17122              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17123              :                        STRIP_UNARY (operands[3])))) && 
   17124              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17125              : (TARGET_AVX512F)))
   17126              :             return -1;
   17127              :           return 5630; /* *avx512bw_vpternlogv32hi_1 */
   17128              : 
   17129              :         case 4:
   17130              :           if (!(
   17131              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17132              : ((32 == 64 || TARGET_AVX512VL
   17133              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17134              :    && ix86_pre_reload_split ()
   17135              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17136              :                     STRIP_UNARY (operands[4]))
   17137              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17138              :                        STRIP_UNARY (operands[4]))
   17139              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17140              :                        STRIP_UNARY (operands[3]))
   17141              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17142              :                        STRIP_UNARY (operands[3])))) && 
   17143              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17144              : (TARGET_AVX)))
   17145              :             return -1;
   17146              :           return 5657; /* *avx512vl_vpternlogv16hi_1 */
   17147              : 
   17148              :         case 5:
   17149              :           if (!
   17150              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17151              : ((16 == 64 || TARGET_AVX512VL
   17152              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17153              :    && ix86_pre_reload_split ()
   17154              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17155              :                     STRIP_UNARY (operands[4]))
   17156              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17157              :                        STRIP_UNARY (operands[4]))
   17158              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17159              :                        STRIP_UNARY (operands[3]))
   17160              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17161              :                        STRIP_UNARY (operands[3])))))
   17162              :             return -1;
   17163              :           return 5684; /* *avx512vl_vpternlogv8hi_1 */
   17164              : 
   17165              :         case 6:
   17166              :           if (!(
   17167              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17168              : ((64 == 64 || TARGET_AVX512VL
   17169              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17170              :    && ix86_pre_reload_split ()
   17171              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17172              :                     STRIP_UNARY (operands[4]))
   17173              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17174              :                        STRIP_UNARY (operands[4]))
   17175              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17176              :                        STRIP_UNARY (operands[3]))
   17177              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17178              :                        STRIP_UNARY (operands[3])))) && 
   17179              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17180              : (TARGET_AVX512F)))
   17181              :             return -1;
   17182              :           return 5711; /* *avx512f_vpternlogv16si_1 */
   17183              : 
   17184              :         case 7:
   17185              :           if (!(
   17186              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17187              : ((32 == 64 || TARGET_AVX512VL
   17188              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17189              :    && ix86_pre_reload_split ()
   17190              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17191              :                     STRIP_UNARY (operands[4]))
   17192              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17193              :                        STRIP_UNARY (operands[4]))
   17194              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17195              :                        STRIP_UNARY (operands[3]))
   17196              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17197              :                        STRIP_UNARY (operands[3])))) && 
   17198              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17199              : (TARGET_AVX)))
   17200              :             return -1;
   17201              :           return 5738; /* *avx512vl_vpternlogv8si_1 */
   17202              : 
   17203              :         case 8:
   17204              :           if (!
   17205              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17206              : ((16 == 64 || TARGET_AVX512VL
   17207              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17208              :    && ix86_pre_reload_split ()
   17209              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17210              :                     STRIP_UNARY (operands[4]))
   17211              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17212              :                        STRIP_UNARY (operands[4]))
   17213              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17214              :                        STRIP_UNARY (operands[3]))
   17215              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17216              :                        STRIP_UNARY (operands[3])))))
   17217              :             return -1;
   17218              :           return 5765; /* *avx512vl_vpternlogv4si_1 */
   17219              : 
   17220              :         case 9:
   17221              :           if (!(
   17222              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17223              : ((64 == 64 || TARGET_AVX512VL
   17224              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17225              :    && ix86_pre_reload_split ()
   17226              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17227              :                     STRIP_UNARY (operands[4]))
   17228              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17229              :                        STRIP_UNARY (operands[4]))
   17230              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17231              :                        STRIP_UNARY (operands[3]))
   17232              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17233              :                        STRIP_UNARY (operands[3])))) && 
   17234              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17235              : (TARGET_AVX512F)))
   17236              :             return -1;
   17237              :           return 5792; /* *avx512f_vpternlogv8di_1 */
   17238              : 
   17239              :         case 10:
   17240              :           if (!(
   17241              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17242              : ((32 == 64 || TARGET_AVX512VL
   17243              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17244              :    && ix86_pre_reload_split ()
   17245              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17246              :                     STRIP_UNARY (operands[4]))
   17247              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17248              :                        STRIP_UNARY (operands[4]))
   17249              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17250              :                        STRIP_UNARY (operands[3]))
   17251              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17252              :                        STRIP_UNARY (operands[3])))) && 
   17253              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17254              : (TARGET_AVX)))
   17255              :             return -1;
   17256              :           return 5819; /* *avx512vl_vpternlogv4di_1 */
   17257              : 
   17258              :         case 11:
   17259              :           if (!
   17260              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17261              : ((16 == 64 || TARGET_AVX512VL
   17262              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17263              :    && ix86_pre_reload_split ()
   17264              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17265              :                     STRIP_UNARY (operands[4]))
   17266              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17267              :                        STRIP_UNARY (operands[4]))
   17268              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17269              :                        STRIP_UNARY (operands[3]))
   17270              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17271              :                        STRIP_UNARY (operands[3])))))
   17272              :             return -1;
   17273              :           return 5846; /* *avx512vl_vpternlogv2di_1 */
   17274              : 
   17275              :         case 12:
   17276              :           if (!(
   17277              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17278              : ((64 == 64 || TARGET_AVX512VL
   17279              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17280              :    && ix86_pre_reload_split ()
   17281              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17282              :                     STRIP_UNARY (operands[4]))
   17283              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17284              :                        STRIP_UNARY (operands[4]))
   17285              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17286              :                        STRIP_UNARY (operands[3]))
   17287              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17288              :                        STRIP_UNARY (operands[3])))) && 
   17289              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17290              : (TARGET_AVX512F)))
   17291              :             return -1;
   17292              :           return 5552; /* *avx512bw_vpternlogv64qi_1 */
   17293              : 
   17294              :         case 13:
   17295              :           if (!(
   17296              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17297              : ((32 == 64 || TARGET_AVX512VL
   17298              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17299              :    && ix86_pre_reload_split ()
   17300              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17301              :                     STRIP_UNARY (operands[4]))
   17302              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17303              :                        STRIP_UNARY (operands[4]))
   17304              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17305              :                        STRIP_UNARY (operands[3]))
   17306              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17307              :                        STRIP_UNARY (operands[3])))) && 
   17308              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17309              : (TARGET_AVX)))
   17310              :             return -1;
   17311              :           return 5579; /* *avx512vl_vpternlogv32qi_1 */
   17312              : 
   17313              :         case 14:
   17314              :           if (!
   17315              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17316              : ((16 == 64 || TARGET_AVX512VL
   17317              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17318              :    && ix86_pre_reload_split ()
   17319              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17320              :                     STRIP_UNARY (operands[4]))
   17321              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17322              :                        STRIP_UNARY (operands[4]))
   17323              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17324              :                        STRIP_UNARY (operands[3]))
   17325              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17326              :                        STRIP_UNARY (operands[3])))))
   17327              :             return -1;
   17328              :           return 5606; /* *avx512vl_vpternlogv16qi_1 */
   17329              : 
   17330              :         case 15:
   17331              :           if (!(
   17332              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17333              : ((64 == 64 || TARGET_AVX512VL
   17334              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17335              :    && ix86_pre_reload_split ()
   17336              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17337              :                     STRIP_UNARY (operands[4]))
   17338              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17339              :                        STRIP_UNARY (operands[4]))
   17340              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17341              :                        STRIP_UNARY (operands[3]))
   17342              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17343              :                        STRIP_UNARY (operands[3])))) && 
   17344              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17345              : (TARGET_AVX512F)))
   17346              :             return -1;
   17347              :           return 5633; /* *avx512bw_vpternlogv32hi_1 */
   17348              : 
   17349              :         case 16:
   17350              :           if (!(
   17351              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17352              : ((32 == 64 || TARGET_AVX512VL
   17353              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17354              :    && ix86_pre_reload_split ()
   17355              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17356              :                     STRIP_UNARY (operands[4]))
   17357              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17358              :                        STRIP_UNARY (operands[4]))
   17359              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17360              :                        STRIP_UNARY (operands[3]))
   17361              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17362              :                        STRIP_UNARY (operands[3])))) && 
   17363              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17364              : (TARGET_AVX)))
   17365              :             return -1;
   17366              :           return 5660; /* *avx512vl_vpternlogv16hi_1 */
   17367              : 
   17368              :         case 17:
   17369              :           if (!
   17370              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17371              : ((16 == 64 || TARGET_AVX512VL
   17372              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17373              :    && ix86_pre_reload_split ()
   17374              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17375              :                     STRIP_UNARY (operands[4]))
   17376              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17377              :                        STRIP_UNARY (operands[4]))
   17378              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17379              :                        STRIP_UNARY (operands[3]))
   17380              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17381              :                        STRIP_UNARY (operands[3])))))
   17382              :             return -1;
   17383              :           return 5687; /* *avx512vl_vpternlogv8hi_1 */
   17384              : 
   17385              :         case 18:
   17386              :           if (!(
   17387              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17388              : ((64 == 64 || TARGET_AVX512VL
   17389              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17390              :    && ix86_pre_reload_split ()
   17391              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17392              :                     STRIP_UNARY (operands[4]))
   17393              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17394              :                        STRIP_UNARY (operands[4]))
   17395              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17396              :                        STRIP_UNARY (operands[3]))
   17397              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17398              :                        STRIP_UNARY (operands[3])))) && 
   17399              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17400              : (TARGET_AVX512F)))
   17401              :             return -1;
   17402              :           return 5714; /* *avx512f_vpternlogv16si_1 */
   17403              : 
   17404              :         case 19:
   17405              :           if (!(
   17406              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17407              : ((32 == 64 || TARGET_AVX512VL
   17408              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17409              :    && ix86_pre_reload_split ()
   17410              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17411              :                     STRIP_UNARY (operands[4]))
   17412              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17413              :                        STRIP_UNARY (operands[4]))
   17414              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17415              :                        STRIP_UNARY (operands[3]))
   17416              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17417              :                        STRIP_UNARY (operands[3])))) && 
   17418              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17419              : (TARGET_AVX)))
   17420              :             return -1;
   17421              :           return 5741; /* *avx512vl_vpternlogv8si_1 */
   17422              : 
   17423              :         case 20:
   17424              :           if (!
   17425              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17426              : ((16 == 64 || TARGET_AVX512VL
   17427              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17428              :    && ix86_pre_reload_split ()
   17429              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17430              :                     STRIP_UNARY (operands[4]))
   17431              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17432              :                        STRIP_UNARY (operands[4]))
   17433              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17434              :                        STRIP_UNARY (operands[3]))
   17435              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17436              :                        STRIP_UNARY (operands[3])))))
   17437              :             return -1;
   17438              :           return 5768; /* *avx512vl_vpternlogv4si_1 */
   17439              : 
   17440              :         case 21:
   17441              :           if (!(
   17442              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17443              : ((64 == 64 || TARGET_AVX512VL
   17444              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17445              :    && ix86_pre_reload_split ()
   17446              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17447              :                     STRIP_UNARY (operands[4]))
   17448              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17449              :                        STRIP_UNARY (operands[4]))
   17450              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17451              :                        STRIP_UNARY (operands[3]))
   17452              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17453              :                        STRIP_UNARY (operands[3])))) && 
   17454              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17455              : (TARGET_AVX512F)))
   17456              :             return -1;
   17457              :           return 5795; /* *avx512f_vpternlogv8di_1 */
   17458              : 
   17459              :         case 22:
   17460              :           if (!(
   17461              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17462              : ((32 == 64 || TARGET_AVX512VL
   17463              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17464              :    && ix86_pre_reload_split ()
   17465              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17466              :                     STRIP_UNARY (operands[4]))
   17467              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17468              :                        STRIP_UNARY (operands[4]))
   17469              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17470              :                        STRIP_UNARY (operands[3]))
   17471              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17472              :                        STRIP_UNARY (operands[3])))) && 
   17473              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17474              : (TARGET_AVX)))
   17475              :             return -1;
   17476              :           return 5822; /* *avx512vl_vpternlogv4di_1 */
   17477              : 
   17478              :         case 23:
   17479              :           if (!
   17480              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17481              : ((16 == 64 || TARGET_AVX512VL
   17482              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17483              :    && ix86_pre_reload_split ()
   17484              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17485              :                     STRIP_UNARY (operands[4]))
   17486              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17487              :                        STRIP_UNARY (operands[4]))
   17488              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17489              :                        STRIP_UNARY (operands[3]))
   17490              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17491              :                        STRIP_UNARY (operands[3])))))
   17492              :             return -1;
   17493              :           return 5849; /* *avx512vl_vpternlogv2di_1 */
   17494              : 
   17495              :         case 24:
   17496              :           if (!(
   17497              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17498              : ((64 == 64 || TARGET_AVX512VL
   17499              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17500              :    && ix86_pre_reload_split ()
   17501              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17502              :                     STRIP_UNARY (operands[4]))
   17503              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17504              :                        STRIP_UNARY (operands[4]))
   17505              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17506              :                        STRIP_UNARY (operands[3]))
   17507              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17508              :                        STRIP_UNARY (operands[3])))) && 
   17509              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17510              : (TARGET_AVX512F)))
   17511              :             return -1;
   17512              :           return 5555; /* *avx512bw_vpternlogv64qi_1 */
   17513              : 
   17514              :         case 25:
   17515              :           if (!(
   17516              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17517              : ((32 == 64 || TARGET_AVX512VL
   17518              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17519              :    && ix86_pre_reload_split ()
   17520              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17521              :                     STRIP_UNARY (operands[4]))
   17522              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17523              :                        STRIP_UNARY (operands[4]))
   17524              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17525              :                        STRIP_UNARY (operands[3]))
   17526              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17527              :                        STRIP_UNARY (operands[3])))) && 
   17528              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17529              : (TARGET_AVX)))
   17530              :             return -1;
   17531              :           return 5582; /* *avx512vl_vpternlogv32qi_1 */
   17532              : 
   17533              :         case 26:
   17534              :           if (!
   17535              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17536              : ((16 == 64 || TARGET_AVX512VL
   17537              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17538              :    && ix86_pre_reload_split ()
   17539              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17540              :                     STRIP_UNARY (operands[4]))
   17541              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17542              :                        STRIP_UNARY (operands[4]))
   17543              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17544              :                        STRIP_UNARY (operands[3]))
   17545              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17546              :                        STRIP_UNARY (operands[3])))))
   17547              :             return -1;
   17548              :           return 5609; /* *avx512vl_vpternlogv16qi_1 */
   17549              : 
   17550              :         case 27:
   17551              :           if (!(
   17552              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17553              : ((64 == 64 || TARGET_AVX512VL
   17554              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17555              :    && ix86_pre_reload_split ()
   17556              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17557              :                     STRIP_UNARY (operands[4]))
   17558              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17559              :                        STRIP_UNARY (operands[4]))
   17560              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17561              :                        STRIP_UNARY (operands[3]))
   17562              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17563              :                        STRIP_UNARY (operands[3])))) && 
   17564              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17565              : (TARGET_AVX512F)))
   17566              :             return -1;
   17567              :           return 5636; /* *avx512bw_vpternlogv32hi_1 */
   17568              : 
   17569              :         case 28:
   17570              :           if (!(
   17571              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17572              : ((32 == 64 || TARGET_AVX512VL
   17573              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17574              :    && ix86_pre_reload_split ()
   17575              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17576              :                     STRIP_UNARY (operands[4]))
   17577              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17578              :                        STRIP_UNARY (operands[4]))
   17579              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17580              :                        STRIP_UNARY (operands[3]))
   17581              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17582              :                        STRIP_UNARY (operands[3])))) && 
   17583              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17584              : (TARGET_AVX)))
   17585              :             return -1;
   17586              :           return 5663; /* *avx512vl_vpternlogv16hi_1 */
   17587              : 
   17588              :         case 29:
   17589              :           if (!
   17590              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17591              : ((16 == 64 || TARGET_AVX512VL
   17592              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17593              :    && ix86_pre_reload_split ()
   17594              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17595              :                     STRIP_UNARY (operands[4]))
   17596              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17597              :                        STRIP_UNARY (operands[4]))
   17598              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17599              :                        STRIP_UNARY (operands[3]))
   17600              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17601              :                        STRIP_UNARY (operands[3])))))
   17602              :             return -1;
   17603              :           return 5690; /* *avx512vl_vpternlogv8hi_1 */
   17604              : 
   17605              :         case 30:
   17606              :           if (!(
   17607              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17608              : ((64 == 64 || TARGET_AVX512VL
   17609              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17610              :    && ix86_pre_reload_split ()
   17611              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17612              :                     STRIP_UNARY (operands[4]))
   17613              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17614              :                        STRIP_UNARY (operands[4]))
   17615              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17616              :                        STRIP_UNARY (operands[3]))
   17617              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17618              :                        STRIP_UNARY (operands[3])))) && 
   17619              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17620              : (TARGET_AVX512F)))
   17621              :             return -1;
   17622              :           return 5717; /* *avx512f_vpternlogv16si_1 */
   17623              : 
   17624              :         case 31:
   17625              :           if (!(
   17626              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17627              : ((32 == 64 || TARGET_AVX512VL
   17628              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17629              :    && ix86_pre_reload_split ()
   17630              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17631              :                     STRIP_UNARY (operands[4]))
   17632              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17633              :                        STRIP_UNARY (operands[4]))
   17634              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17635              :                        STRIP_UNARY (operands[3]))
   17636              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17637              :                        STRIP_UNARY (operands[3])))) && 
   17638              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17639              : (TARGET_AVX)))
   17640              :             return -1;
   17641              :           return 5744; /* *avx512vl_vpternlogv8si_1 */
   17642              : 
   17643              :         case 32:
   17644              :           if (!
   17645              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17646              : ((16 == 64 || TARGET_AVX512VL
   17647              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17648              :    && ix86_pre_reload_split ()
   17649              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17650              :                     STRIP_UNARY (operands[4]))
   17651              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17652              :                        STRIP_UNARY (operands[4]))
   17653              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17654              :                        STRIP_UNARY (operands[3]))
   17655              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17656              :                        STRIP_UNARY (operands[3])))))
   17657              :             return -1;
   17658              :           return 5771; /* *avx512vl_vpternlogv4si_1 */
   17659              : 
   17660              :         case 33:
   17661              :           if (!(
   17662              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17663              : ((64 == 64 || TARGET_AVX512VL
   17664              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17665              :    && ix86_pre_reload_split ()
   17666              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17667              :                     STRIP_UNARY (operands[4]))
   17668              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17669              :                        STRIP_UNARY (operands[4]))
   17670              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17671              :                        STRIP_UNARY (operands[3]))
   17672              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17673              :                        STRIP_UNARY (operands[3])))) && 
   17674              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17675              : (TARGET_AVX512F)))
   17676              :             return -1;
   17677              :           return 5798; /* *avx512f_vpternlogv8di_1 */
   17678              : 
   17679              :         case 34:
   17680              :           if (!(
   17681              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17682              : ((32 == 64 || TARGET_AVX512VL
   17683              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17684              :    && ix86_pre_reload_split ()
   17685              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17686              :                     STRIP_UNARY (operands[4]))
   17687              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17688              :                        STRIP_UNARY (operands[4]))
   17689              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17690              :                        STRIP_UNARY (operands[3]))
   17691              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17692              :                        STRIP_UNARY (operands[3])))) && 
   17693              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17694              : (TARGET_AVX)))
   17695              :             return -1;
   17696              :           return 5825; /* *avx512vl_vpternlogv4di_1 */
   17697              : 
   17698              :         case 35:
   17699              :           if (!
   17700              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17701              : ((16 == 64 || TARGET_AVX512VL
   17702              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17703              :    && ix86_pre_reload_split ()
   17704              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17705              :                     STRIP_UNARY (operands[4]))
   17706              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17707              :                        STRIP_UNARY (operands[4]))
   17708              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17709              :                        STRIP_UNARY (operands[3]))
   17710              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17711              :                        STRIP_UNARY (operands[3])))))
   17712              :             return -1;
   17713              :           return 5852; /* *avx512vl_vpternlogv2di_1 */
   17714              : 
   17715              :         case 36:
   17716              :           if (!(
   17717              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17718              : ((64 == 64 || TARGET_AVX512VL
   17719              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17720              :    && ix86_pre_reload_split ()) && 
   17721              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17722              : (TARGET_AVX512F)))
   17723              :             return -1;
   17724              :           return 6839; /* *avx512bw_vpternlogv64qi_3 */
   17725              : 
   17726              :         case 37:
   17727              :           if (!(
   17728              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17729              : ((32 == 64 || TARGET_AVX512VL
   17730              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17731              :    && ix86_pre_reload_split ()) && 
   17732              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17733              : (TARGET_AVX)))
   17734              :             return -1;
   17735              :           return 6848; /* *avx512vl_vpternlogv32qi_3 */
   17736              : 
   17737              :         case 38:
   17738              :           if (!
   17739              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17740              : ((16 == 64 || TARGET_AVX512VL
   17741              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17742              :    && ix86_pre_reload_split ()))
   17743              :             return -1;
   17744              :           return 6857; /* *avx512vl_vpternlogv16qi_3 */
   17745              : 
   17746              :         case 39:
   17747              :           if (!(
   17748              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17749              : ((64 == 64 || TARGET_AVX512VL
   17750              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17751              :    && ix86_pre_reload_split ()) && 
   17752              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17753              : (TARGET_AVX512F)))
   17754              :             return -1;
   17755              :           return 6866; /* *avx512bw_vpternlogv32hi_3 */
   17756              : 
   17757              :         case 40:
   17758              :           if (!(
   17759              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17760              : ((32 == 64 || TARGET_AVX512VL
   17761              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17762              :    && ix86_pre_reload_split ()) && 
   17763              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17764              : (TARGET_AVX)))
   17765              :             return -1;
   17766              :           return 6875; /* *avx512vl_vpternlogv16hi_3 */
   17767              : 
   17768              :         case 41:
   17769              :           if (!
   17770              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17771              : ((16 == 64 || TARGET_AVX512VL
   17772              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17773              :    && ix86_pre_reload_split ()))
   17774              :             return -1;
   17775              :           return 6884; /* *avx512vl_vpternlogv8hi_3 */
   17776              : 
   17777              :         case 42:
   17778              :           if (!(
   17779              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17780              : ((64 == 64 || TARGET_AVX512VL
   17781              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17782              :    && ix86_pre_reload_split ()) && 
   17783              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17784              : (TARGET_AVX512F)))
   17785              :             return -1;
   17786              :           return 6893; /* *avx512f_vpternlogv16si_3 */
   17787              : 
   17788              :         case 43:
   17789              :           if (!(
   17790              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17791              : ((32 == 64 || TARGET_AVX512VL
   17792              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17793              :    && ix86_pre_reload_split ()) && 
   17794              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17795              : (TARGET_AVX)))
   17796              :             return -1;
   17797              :           return 6902; /* *avx512vl_vpternlogv8si_3 */
   17798              : 
   17799              :         case 44:
   17800              :           if (!
   17801              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17802              : ((16 == 64 || TARGET_AVX512VL
   17803              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17804              :    && ix86_pre_reload_split ()))
   17805              :             return -1;
   17806              :           return 6911; /* *avx512vl_vpternlogv4si_3 */
   17807              : 
   17808              :         case 45:
   17809              :           if (!(
   17810              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17811              : ((64 == 64 || TARGET_AVX512VL
   17812              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17813              :    && ix86_pre_reload_split ()) && 
   17814              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17815              : (TARGET_AVX512F)))
   17816              :             return -1;
   17817              :           return 6920; /* *avx512f_vpternlogv8di_3 */
   17818              : 
   17819              :         case 46:
   17820              :           if (!(
   17821              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17822              : ((32 == 64 || TARGET_AVX512VL
   17823              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17824              :    && ix86_pre_reload_split ()) && 
   17825              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17826              : (TARGET_AVX)))
   17827              :             return -1;
   17828              :           return 6929; /* *avx512vl_vpternlogv4di_3 */
   17829              : 
   17830              :         case 47:
   17831              :           if (!
   17832              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17833              : ((16 == 64 || TARGET_AVX512VL
   17834              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17835              :    && ix86_pre_reload_split ()))
   17836              :             return -1;
   17837              :           return 6938; /* *avx512vl_vpternlogv2di_3 */
   17838              : 
   17839              :         default:
   17840              :           return -1;
   17841              :         }
   17842              : 
   17843              :     case AND:
   17844              :       switch (pattern537 (x2))
   17845              :         {
   17846              :         case 0:
   17847              :           if (!(
   17848              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17849              : ((64 == 64 || TARGET_AVX512VL
   17850              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17851              :    && ix86_pre_reload_split ()
   17852              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17853              :                     STRIP_UNARY (operands[4]))
   17854              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17855              :                        STRIP_UNARY (operands[4]))
   17856              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17857              :                        STRIP_UNARY (operands[3]))
   17858              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17859              :                        STRIP_UNARY (operands[3])))) && 
   17860              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17861              : (TARGET_AVX512F)))
   17862              :             return -1;
   17863              :           return 6197; /* *avx512bw_vpternlogv64qi_2 */
   17864              : 
   17865              :         case 1:
   17866              :           if (!(
   17867              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17868              : ((32 == 64 || TARGET_AVX512VL
   17869              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17870              :    && ix86_pre_reload_split ()
   17871              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17872              :                     STRIP_UNARY (operands[4]))
   17873              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17874              :                        STRIP_UNARY (operands[4]))
   17875              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17876              :                        STRIP_UNARY (operands[3]))
   17877              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17878              :                        STRIP_UNARY (operands[3])))) && 
   17879              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17880              : (TARGET_AVX)))
   17881              :             return -1;
   17882              :           return 6224; /* *avx512vl_vpternlogv32qi_2 */
   17883              : 
   17884              :         case 2:
   17885              :           if (!
   17886              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17887              : ((16 == 64 || TARGET_AVX512VL
   17888              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17889              :    && ix86_pre_reload_split ()
   17890              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17891              :                     STRIP_UNARY (operands[4]))
   17892              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17893              :                        STRIP_UNARY (operands[4]))
   17894              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17895              :                        STRIP_UNARY (operands[3]))
   17896              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17897              :                        STRIP_UNARY (operands[3])))))
   17898              :             return -1;
   17899              :           return 6251; /* *avx512vl_vpternlogv16qi_2 */
   17900              : 
   17901              :         case 3:
   17902              :           if (!(
   17903              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17904              : ((64 == 64 || TARGET_AVX512VL
   17905              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17906              :    && ix86_pre_reload_split ()
   17907              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17908              :                     STRIP_UNARY (operands[4]))
   17909              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17910              :                        STRIP_UNARY (operands[4]))
   17911              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17912              :                        STRIP_UNARY (operands[3]))
   17913              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17914              :                        STRIP_UNARY (operands[3])))) && 
   17915              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17916              : (TARGET_AVX512F)))
   17917              :             return -1;
   17918              :           return 6278; /* *avx512bw_vpternlogv32hi_2 */
   17919              : 
   17920              :         case 4:
   17921              :           if (!(
   17922              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17923              : ((32 == 64 || TARGET_AVX512VL
   17924              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17925              :    && ix86_pre_reload_split ()
   17926              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17927              :                     STRIP_UNARY (operands[4]))
   17928              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17929              :                        STRIP_UNARY (operands[4]))
   17930              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17931              :                        STRIP_UNARY (operands[3]))
   17932              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17933              :                        STRIP_UNARY (operands[3])))) && 
   17934              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17935              : (TARGET_AVX)))
   17936              :             return -1;
   17937              :           return 6305; /* *avx512vl_vpternlogv16hi_2 */
   17938              : 
   17939              :         case 5:
   17940              :           if (!
   17941              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17942              : ((16 == 64 || TARGET_AVX512VL
   17943              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17944              :    && ix86_pre_reload_split ()
   17945              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17946              :                     STRIP_UNARY (operands[4]))
   17947              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17948              :                        STRIP_UNARY (operands[4]))
   17949              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17950              :                        STRIP_UNARY (operands[3]))
   17951              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17952              :                        STRIP_UNARY (operands[3])))))
   17953              :             return -1;
   17954              :           return 6332; /* *avx512vl_vpternlogv8hi_2 */
   17955              : 
   17956              :         case 6:
   17957              :           if (!(
   17958              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17959              : ((64 == 64 || TARGET_AVX512VL
   17960              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17961              :    && ix86_pre_reload_split ()
   17962              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17963              :                     STRIP_UNARY (operands[4]))
   17964              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17965              :                        STRIP_UNARY (operands[4]))
   17966              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17967              :                        STRIP_UNARY (operands[3]))
   17968              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17969              :                        STRIP_UNARY (operands[3])))) && 
   17970              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17971              : (TARGET_AVX512F)))
   17972              :             return -1;
   17973              :           return 6359; /* *avx512f_vpternlogv16si_2 */
   17974              : 
   17975              :         case 7:
   17976              :           if (!(
   17977              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17978              : ((32 == 64 || TARGET_AVX512VL
   17979              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17980              :    && ix86_pre_reload_split ()
   17981              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17982              :                     STRIP_UNARY (operands[4]))
   17983              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17984              :                        STRIP_UNARY (operands[4]))
   17985              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17986              :                        STRIP_UNARY (operands[3]))
   17987              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17988              :                        STRIP_UNARY (operands[3])))) && 
   17989              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17990              : (TARGET_AVX)))
   17991              :             return -1;
   17992              :           return 6386; /* *avx512vl_vpternlogv8si_2 */
   17993              : 
   17994              :         case 8:
   17995              :           if (!
   17996              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17997              : ((16 == 64 || TARGET_AVX512VL
   17998              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17999              :    && ix86_pre_reload_split ()
   18000              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18001              :                     STRIP_UNARY (operands[4]))
   18002              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18003              :                        STRIP_UNARY (operands[4]))
   18004              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18005              :                        STRIP_UNARY (operands[3]))
   18006              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18007              :                        STRIP_UNARY (operands[3])))))
   18008              :             return -1;
   18009              :           return 6413; /* *avx512vl_vpternlogv4si_2 */
   18010              : 
   18011              :         case 9:
   18012              :           if (!(
   18013              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18014              : ((64 == 64 || TARGET_AVX512VL
   18015              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18016              :    && ix86_pre_reload_split ()
   18017              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18018              :                     STRIP_UNARY (operands[4]))
   18019              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18020              :                        STRIP_UNARY (operands[4]))
   18021              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18022              :                        STRIP_UNARY (operands[3]))
   18023              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18024              :                        STRIP_UNARY (operands[3])))) && 
   18025              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18026              : (TARGET_AVX512F)))
   18027              :             return -1;
   18028              :           return 6440; /* *avx512f_vpternlogv8di_2 */
   18029              : 
   18030              :         case 10:
   18031              :           if (!(
   18032              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18033              : ((32 == 64 || TARGET_AVX512VL
   18034              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18035              :    && ix86_pre_reload_split ()
   18036              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18037              :                     STRIP_UNARY (operands[4]))
   18038              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18039              :                        STRIP_UNARY (operands[4]))
   18040              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18041              :                        STRIP_UNARY (operands[3]))
   18042              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18043              :                        STRIP_UNARY (operands[3])))) && 
   18044              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18045              : (TARGET_AVX)))
   18046              :             return -1;
   18047              :           return 6467; /* *avx512vl_vpternlogv4di_2 */
   18048              : 
   18049              :         case 11:
   18050              :           if (!
   18051              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18052              : ((16 == 64 || TARGET_AVX512VL
   18053              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18054              :    && ix86_pre_reload_split ()
   18055              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18056              :                     STRIP_UNARY (operands[4]))
   18057              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18058              :                        STRIP_UNARY (operands[4]))
   18059              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18060              :                        STRIP_UNARY (operands[3]))
   18061              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18062              :                        STRIP_UNARY (operands[3])))))
   18063              :             return -1;
   18064              :           return 6494; /* *avx512vl_vpternlogv2di_2 */
   18065              : 
   18066              :         default:
   18067              :           return -1;
   18068              :         }
   18069              : 
   18070              :     case IOR:
   18071              :       switch (pattern537 (x2))
   18072              :         {
   18073              :         case 0:
   18074              :           if (!(
   18075              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18076              : ((64 == 64 || TARGET_AVX512VL
   18077              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18078              :    && ix86_pre_reload_split ()
   18079              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18080              :                     STRIP_UNARY (operands[4]))
   18081              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18082              :                        STRIP_UNARY (operands[4]))
   18083              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18084              :                        STRIP_UNARY (operands[3]))
   18085              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18086              :                        STRIP_UNARY (operands[3])))) && 
   18087              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18088              : (TARGET_AVX512F)))
   18089              :             return -1;
   18090              :           return 6200; /* *avx512bw_vpternlogv64qi_2 */
   18091              : 
   18092              :         case 1:
   18093              :           if (!(
   18094              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18095              : ((32 == 64 || TARGET_AVX512VL
   18096              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18097              :    && ix86_pre_reload_split ()
   18098              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18099              :                     STRIP_UNARY (operands[4]))
   18100              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18101              :                        STRIP_UNARY (operands[4]))
   18102              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18103              :                        STRIP_UNARY (operands[3]))
   18104              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18105              :                        STRIP_UNARY (operands[3])))) && 
   18106              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18107              : (TARGET_AVX)))
   18108              :             return -1;
   18109              :           return 6227; /* *avx512vl_vpternlogv32qi_2 */
   18110              : 
   18111              :         case 2:
   18112              :           if (!
   18113              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18114              : ((16 == 64 || TARGET_AVX512VL
   18115              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18116              :    && ix86_pre_reload_split ()
   18117              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18118              :                     STRIP_UNARY (operands[4]))
   18119              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18120              :                        STRIP_UNARY (operands[4]))
   18121              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18122              :                        STRIP_UNARY (operands[3]))
   18123              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18124              :                        STRIP_UNARY (operands[3])))))
   18125              :             return -1;
   18126              :           return 6254; /* *avx512vl_vpternlogv16qi_2 */
   18127              : 
   18128              :         case 3:
   18129              :           if (!(
   18130              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18131              : ((64 == 64 || TARGET_AVX512VL
   18132              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18133              :    && ix86_pre_reload_split ()
   18134              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18135              :                     STRIP_UNARY (operands[4]))
   18136              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18137              :                        STRIP_UNARY (operands[4]))
   18138              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18139              :                        STRIP_UNARY (operands[3]))
   18140              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18141              :                        STRIP_UNARY (operands[3])))) && 
   18142              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18143              : (TARGET_AVX512F)))
   18144              :             return -1;
   18145              :           return 6281; /* *avx512bw_vpternlogv32hi_2 */
   18146              : 
   18147              :         case 4:
   18148              :           if (!(
   18149              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18150              : ((32 == 64 || TARGET_AVX512VL
   18151              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18152              :    && ix86_pre_reload_split ()
   18153              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18154              :                     STRIP_UNARY (operands[4]))
   18155              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18156              :                        STRIP_UNARY (operands[4]))
   18157              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18158              :                        STRIP_UNARY (operands[3]))
   18159              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18160              :                        STRIP_UNARY (operands[3])))) && 
   18161              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18162              : (TARGET_AVX)))
   18163              :             return -1;
   18164              :           return 6308; /* *avx512vl_vpternlogv16hi_2 */
   18165              : 
   18166              :         case 5:
   18167              :           if (!
   18168              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18169              : ((16 == 64 || TARGET_AVX512VL
   18170              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18171              :    && ix86_pre_reload_split ()
   18172              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18173              :                     STRIP_UNARY (operands[4]))
   18174              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18175              :                        STRIP_UNARY (operands[4]))
   18176              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18177              :                        STRIP_UNARY (operands[3]))
   18178              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18179              :                        STRIP_UNARY (operands[3])))))
   18180              :             return -1;
   18181              :           return 6335; /* *avx512vl_vpternlogv8hi_2 */
   18182              : 
   18183              :         case 6:
   18184              :           if (!(
   18185              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18186              : ((64 == 64 || TARGET_AVX512VL
   18187              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18188              :    && ix86_pre_reload_split ()
   18189              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18190              :                     STRIP_UNARY (operands[4]))
   18191              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18192              :                        STRIP_UNARY (operands[4]))
   18193              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18194              :                        STRIP_UNARY (operands[3]))
   18195              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18196              :                        STRIP_UNARY (operands[3])))) && 
   18197              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18198              : (TARGET_AVX512F)))
   18199              :             return -1;
   18200              :           return 6362; /* *avx512f_vpternlogv16si_2 */
   18201              : 
   18202              :         case 7:
   18203              :           if (!(
   18204              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18205              : ((32 == 64 || TARGET_AVX512VL
   18206              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18207              :    && ix86_pre_reload_split ()
   18208              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18209              :                     STRIP_UNARY (operands[4]))
   18210              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18211              :                        STRIP_UNARY (operands[4]))
   18212              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18213              :                        STRIP_UNARY (operands[3]))
   18214              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18215              :                        STRIP_UNARY (operands[3])))) && 
   18216              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18217              : (TARGET_AVX)))
   18218              :             return -1;
   18219              :           return 6389; /* *avx512vl_vpternlogv8si_2 */
   18220              : 
   18221              :         case 8:
   18222              :           if (!
   18223              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18224              : ((16 == 64 || TARGET_AVX512VL
   18225              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18226              :    && ix86_pre_reload_split ()
   18227              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18228              :                     STRIP_UNARY (operands[4]))
   18229              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18230              :                        STRIP_UNARY (operands[4]))
   18231              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18232              :                        STRIP_UNARY (operands[3]))
   18233              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18234              :                        STRIP_UNARY (operands[3])))))
   18235              :             return -1;
   18236              :           return 6416; /* *avx512vl_vpternlogv4si_2 */
   18237              : 
   18238              :         case 9:
   18239              :           if (!(
   18240              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18241              : ((64 == 64 || TARGET_AVX512VL
   18242              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18243              :    && ix86_pre_reload_split ()
   18244              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18245              :                     STRIP_UNARY (operands[4]))
   18246              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18247              :                        STRIP_UNARY (operands[4]))
   18248              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18249              :                        STRIP_UNARY (operands[3]))
   18250              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18251              :                        STRIP_UNARY (operands[3])))) && 
   18252              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18253              : (TARGET_AVX512F)))
   18254              :             return -1;
   18255              :           return 6443; /* *avx512f_vpternlogv8di_2 */
   18256              : 
   18257              :         case 10:
   18258              :           if (!(
   18259              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18260              : ((32 == 64 || TARGET_AVX512VL
   18261              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18262              :    && ix86_pre_reload_split ()
   18263              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18264              :                     STRIP_UNARY (operands[4]))
   18265              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18266              :                        STRIP_UNARY (operands[4]))
   18267              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18268              :                        STRIP_UNARY (operands[3]))
   18269              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18270              :                        STRIP_UNARY (operands[3])))) && 
   18271              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18272              : (TARGET_AVX)))
   18273              :             return -1;
   18274              :           return 6470; /* *avx512vl_vpternlogv4di_2 */
   18275              : 
   18276              :         case 11:
   18277              :           if (!
   18278              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18279              : ((16 == 64 || TARGET_AVX512VL
   18280              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18281              :    && ix86_pre_reload_split ()
   18282              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18283              :                     STRIP_UNARY (operands[4]))
   18284              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18285              :                        STRIP_UNARY (operands[4]))
   18286              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18287              :                        STRIP_UNARY (operands[3]))
   18288              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18289              :                        STRIP_UNARY (operands[3])))))
   18290              :             return -1;
   18291              :           return 6497; /* *avx512vl_vpternlogv2di_2 */
   18292              : 
   18293              :         default:
   18294              :           return -1;
   18295              :         }
   18296              : 
   18297              :     case XOR:
   18298              :       switch (pattern537 (x2))
   18299              :         {
   18300              :         case 0:
   18301              :           if (!(
   18302              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18303              : ((64 == 64 || TARGET_AVX512VL
   18304              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18305              :    && ix86_pre_reload_split ()
   18306              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18307              :                     STRIP_UNARY (operands[4]))
   18308              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18309              :                        STRIP_UNARY (operands[4]))
   18310              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18311              :                        STRIP_UNARY (operands[3]))
   18312              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18313              :                        STRIP_UNARY (operands[3])))) && 
   18314              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18315              : (TARGET_AVX512F)))
   18316              :             return -1;
   18317              :           return 6203; /* *avx512bw_vpternlogv64qi_2 */
   18318              : 
   18319              :         case 1:
   18320              :           if (!(
   18321              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18322              : ((32 == 64 || TARGET_AVX512VL
   18323              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18324              :    && ix86_pre_reload_split ()
   18325              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18326              :                     STRIP_UNARY (operands[4]))
   18327              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18328              :                        STRIP_UNARY (operands[4]))
   18329              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18330              :                        STRIP_UNARY (operands[3]))
   18331              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18332              :                        STRIP_UNARY (operands[3])))) && 
   18333              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18334              : (TARGET_AVX)))
   18335              :             return -1;
   18336              :           return 6230; /* *avx512vl_vpternlogv32qi_2 */
   18337              : 
   18338              :         case 2:
   18339              :           if (!
   18340              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18341              : ((16 == 64 || TARGET_AVX512VL
   18342              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18343              :    && ix86_pre_reload_split ()
   18344              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18345              :                     STRIP_UNARY (operands[4]))
   18346              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18347              :                        STRIP_UNARY (operands[4]))
   18348              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18349              :                        STRIP_UNARY (operands[3]))
   18350              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18351              :                        STRIP_UNARY (operands[3])))))
   18352              :             return -1;
   18353              :           return 6257; /* *avx512vl_vpternlogv16qi_2 */
   18354              : 
   18355              :         case 3:
   18356              :           if (!(
   18357              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18358              : ((64 == 64 || TARGET_AVX512VL
   18359              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18360              :    && ix86_pre_reload_split ()
   18361              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18362              :                     STRIP_UNARY (operands[4]))
   18363              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18364              :                        STRIP_UNARY (operands[4]))
   18365              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18366              :                        STRIP_UNARY (operands[3]))
   18367              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18368              :                        STRIP_UNARY (operands[3])))) && 
   18369              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18370              : (TARGET_AVX512F)))
   18371              :             return -1;
   18372              :           return 6284; /* *avx512bw_vpternlogv32hi_2 */
   18373              : 
   18374              :         case 4:
   18375              :           if (!(
   18376              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18377              : ((32 == 64 || TARGET_AVX512VL
   18378              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18379              :    && ix86_pre_reload_split ()
   18380              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18381              :                     STRIP_UNARY (operands[4]))
   18382              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18383              :                        STRIP_UNARY (operands[4]))
   18384              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18385              :                        STRIP_UNARY (operands[3]))
   18386              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18387              :                        STRIP_UNARY (operands[3])))) && 
   18388              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18389              : (TARGET_AVX)))
   18390              :             return -1;
   18391              :           return 6311; /* *avx512vl_vpternlogv16hi_2 */
   18392              : 
   18393              :         case 5:
   18394              :           if (!
   18395              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18396              : ((16 == 64 || TARGET_AVX512VL
   18397              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18398              :    && ix86_pre_reload_split ()
   18399              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18400              :                     STRIP_UNARY (operands[4]))
   18401              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18402              :                        STRIP_UNARY (operands[4]))
   18403              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18404              :                        STRIP_UNARY (operands[3]))
   18405              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18406              :                        STRIP_UNARY (operands[3])))))
   18407              :             return -1;
   18408              :           return 6338; /* *avx512vl_vpternlogv8hi_2 */
   18409              : 
   18410              :         case 6:
   18411              :           if (!(
   18412              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18413              : ((64 == 64 || TARGET_AVX512VL
   18414              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18415              :    && ix86_pre_reload_split ()
   18416              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18417              :                     STRIP_UNARY (operands[4]))
   18418              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18419              :                        STRIP_UNARY (operands[4]))
   18420              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18421              :                        STRIP_UNARY (operands[3]))
   18422              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18423              :                        STRIP_UNARY (operands[3])))) && 
   18424              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18425              : (TARGET_AVX512F)))
   18426              :             return -1;
   18427              :           return 6365; /* *avx512f_vpternlogv16si_2 */
   18428              : 
   18429              :         case 7:
   18430              :           if (!(
   18431              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18432              : ((32 == 64 || TARGET_AVX512VL
   18433              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18434              :    && ix86_pre_reload_split ()
   18435              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18436              :                     STRIP_UNARY (operands[4]))
   18437              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18438              :                        STRIP_UNARY (operands[4]))
   18439              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18440              :                        STRIP_UNARY (operands[3]))
   18441              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18442              :                        STRIP_UNARY (operands[3])))) && 
   18443              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18444              : (TARGET_AVX)))
   18445              :             return -1;
   18446              :           return 6392; /* *avx512vl_vpternlogv8si_2 */
   18447              : 
   18448              :         case 8:
   18449              :           if (!
   18450              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18451              : ((16 == 64 || TARGET_AVX512VL
   18452              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18453              :    && ix86_pre_reload_split ()
   18454              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18455              :                     STRIP_UNARY (operands[4]))
   18456              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18457              :                        STRIP_UNARY (operands[4]))
   18458              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18459              :                        STRIP_UNARY (operands[3]))
   18460              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18461              :                        STRIP_UNARY (operands[3])))))
   18462              :             return -1;
   18463              :           return 6419; /* *avx512vl_vpternlogv4si_2 */
   18464              : 
   18465              :         case 9:
   18466              :           if (!(
   18467              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18468              : ((64 == 64 || TARGET_AVX512VL
   18469              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18470              :    && ix86_pre_reload_split ()
   18471              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18472              :                     STRIP_UNARY (operands[4]))
   18473              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18474              :                        STRIP_UNARY (operands[4]))
   18475              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18476              :                        STRIP_UNARY (operands[3]))
   18477              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18478              :                        STRIP_UNARY (operands[3])))) && 
   18479              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18480              : (TARGET_AVX512F)))
   18481              :             return -1;
   18482              :           return 6446; /* *avx512f_vpternlogv8di_2 */
   18483              : 
   18484              :         case 10:
   18485              :           if (!(
   18486              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18487              : ((32 == 64 || TARGET_AVX512VL
   18488              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18489              :    && ix86_pre_reload_split ()
   18490              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18491              :                     STRIP_UNARY (operands[4]))
   18492              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18493              :                        STRIP_UNARY (operands[4]))
   18494              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18495              :                        STRIP_UNARY (operands[3]))
   18496              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18497              :                        STRIP_UNARY (operands[3])))) && 
   18498              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18499              : (TARGET_AVX)))
   18500              :             return -1;
   18501              :           return 6473; /* *avx512vl_vpternlogv4di_2 */
   18502              : 
   18503              :         case 11:
   18504              :           if (!
   18505              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18506              : ((16 == 64 || TARGET_AVX512VL
   18507              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18508              :    && ix86_pre_reload_split ()
   18509              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18510              :                     STRIP_UNARY (operands[4]))
   18511              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18512              :                        STRIP_UNARY (operands[4]))
   18513              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18514              :                        STRIP_UNARY (operands[3]))
   18515              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18516              :                        STRIP_UNARY (operands[3])))))
   18517              :             return -1;
   18518              :           return 6500; /* *avx512vl_vpternlogv2di_2 */
   18519              : 
   18520              :         default:
   18521              :           return -1;
   18522              :         }
   18523              : 
   18524              :     default:
   18525              :       return -1;
   18526              :     }
   18527              : }
   18528              : 
   18529              :  int
   18530              : recog_321 (rtx x1 ATTRIBUTE_UNUSED,
   18531              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   18532              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   18533              : {
   18534              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   18535              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   18536              :   rtx x10, x11, x12, x13, x14, x15, x16, x17;
   18537              :   rtx x18, x19, x20, x21, x22, x23, x24, x25;
   18538              :   rtx x26, x27, x28, x29, x30, x31, x32, x33;
   18539              :   int res ATTRIBUTE_UNUSED;
   18540              :   x2 = XEXP (x1, 1);
   18541              :   x3 = XEXP (x2, 0);
   18542              :   x4 = XEXP (x3, 0);
   18543              :   x5 = XEXP (x4, 1);
   18544              :   if (GET_CODE (x5) != CONST_VECTOR
   18545              :       || XVECLEN (x5, 0) != 32
   18546              :       || pattern1370 (x5, 
   18547              : E_V32HImode) != 0)
   18548              :     return -1;
   18549              :   x6 = XVECEXP (x5, 0, 8);
   18550              :   if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   18551              :     return -1;
   18552              :   x7 = XVECEXP (x5, 0, 9);
   18553              :   if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   18554              :     return -1;
   18555              :   x8 = XVECEXP (x5, 0, 10);
   18556              :   if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   18557              :     return -1;
   18558              :   x9 = XVECEXP (x5, 0, 11);
   18559              :   if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   18560              :     return -1;
   18561              :   x10 = XVECEXP (x5, 0, 12);
   18562              :   if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   18563              :     return -1;
   18564              :   x11 = XVECEXP (x5, 0, 13);
   18565              :   if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   18566              :     return -1;
   18567              :   x12 = XVECEXP (x5, 0, 14);
   18568              :   if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   18569              :     return -1;
   18570              :   x13 = XVECEXP (x5, 0, 15);
   18571              :   if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   18572              :     return -1;
   18573              :   x14 = XVECEXP (x5, 0, 16);
   18574              :   if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   18575              :     return -1;
   18576              :   x15 = XVECEXP (x5, 0, 17);
   18577              :   if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   18578              :     return -1;
   18579              :   x16 = XVECEXP (x5, 0, 18);
   18580              :   if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   18581              :     return -1;
   18582              :   x17 = XVECEXP (x5, 0, 19);
   18583              :   if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   18584              :     return -1;
   18585              :   x18 = XVECEXP (x5, 0, 20);
   18586              :   if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   18587              :     return -1;
   18588              :   x19 = XVECEXP (x5, 0, 21);
   18589              :   if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   18590              :     return -1;
   18591              :   x20 = XVECEXP (x5, 0, 22);
   18592              :   if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   18593              :     return -1;
   18594              :   x21 = XVECEXP (x5, 0, 23);
   18595              :   if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   18596              :     return -1;
   18597              :   x22 = XVECEXP (x5, 0, 24);
   18598              :   if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   18599              :     return -1;
   18600              :   x23 = XVECEXP (x5, 0, 25);
   18601              :   if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   18602              :     return -1;
   18603              :   x24 = XVECEXP (x5, 0, 26);
   18604              :   if (x24 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   18605              :     return -1;
   18606              :   x25 = XVECEXP (x5, 0, 27);
   18607              :   if (x25 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   18608              :     return -1;
   18609              :   x26 = XVECEXP (x5, 0, 28);
   18610              :   if (x26 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   18611              :     return -1;
   18612              :   x27 = XVECEXP (x5, 0, 29);
   18613              :   if (x27 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   18614              :     return -1;
   18615              :   x28 = XVECEXP (x5, 0, 30);
   18616              :   if (x28 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   18617              :     return -1;
   18618              :   x29 = XVECEXP (x5, 0, 31);
   18619              :   if (x29 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
   18620              :       || !register_operand (operands[0], E_V32HImode)
   18621              :       || GET_MODE (x2) != E_V32HImode
   18622              :       || GET_MODE (x3) != E_V32SImode
   18623              :       || pattern1522 (x4, 
   18624              : E_V32SImode) != 0)
   18625              :     return -1;
   18626              :   x30 = XEXP (x4, 0);
   18627              :   x31 = XEXP (x30, 0);
   18628              :   x32 = XEXP (x31, 1);
   18629              :   if (GET_MODE (x32) != E_V32SImode)
   18630              :     return -1;
   18631              :   x33 = XEXP (x32, 0);
   18632              :   operands[2] = x33;
   18633              :   if (!nonimmediate_operand (operands[2], E_V32HImode)
   18634              :       || !
   18635              : #line 23182 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18636              : (TARGET_AVX512BW))
   18637              :     return -1;
   18638              :   return 8657; /* avx512bw_umulhrswv32hi3 */
   18639              : }
   18640              : 
   18641              :  int
   18642              : recog_322 (rtx x1 ATTRIBUTE_UNUSED,
   18643              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   18644              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   18645              : {
   18646              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   18647              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   18648              :   rtx x10, x11, x12, x13, x14, x15, x16, x17;
   18649              :   rtx x18, x19, x20, x21, x22;
   18650              :   int res ATTRIBUTE_UNUSED;
   18651              :   x2 = XEXP (x1, 0);
   18652              :   operands[0] = x2;
   18653              :   x3 = XEXP (x1, 1);
   18654              :   x4 = XEXP (x3, 0);
   18655              :   switch (GET_CODE (x4))
   18656              :     {
   18657              :     case VEC_SELECT:
   18658              :       return recog_274 (x1, insn, pnum_clobbers);
   18659              : 
   18660              :     case VEC_CONCAT:
   18661              :       x5 = XEXP (x4, 0);
   18662              :       switch (GET_CODE (x5))
   18663              :         {
   18664              :         case PLUS:
   18665              :           switch (pattern331 (x3, 
   18666              : PLUS))
   18667              :             {
   18668              :             case 0:
   18669              :               if (!
   18670              : #line 3736 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18671              : (TARGET_AVX))
   18672              :                 return -1;
   18673              :               return 3220; /* avx_haddv4df3 */
   18674              : 
   18675              :             case 1:
   18676              :               if (!
   18677              : #line 3912 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18678              : (TARGET_SSE3))
   18679              :                 return -1;
   18680              :               return 3228; /* sse3_haddv4sf3 */
   18681              : 
   18682              :             default:
   18683              :               return -1;
   18684              :             }
   18685              : 
   18686              :         case MINUS:
   18687              :           switch (pattern331 (x3, 
   18688              : MINUS))
   18689              :             {
   18690              :             case 0:
   18691              :               if (!
   18692              : #line 3736 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18693              : (TARGET_AVX))
   18694              :                 return -1;
   18695              :               return 3221; /* avx_hsubv4df3 */
   18696              : 
   18697              :             case 1:
   18698              :               if (!
   18699              : #line 3912 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18700              : (TARGET_SSE3))
   18701              :                 return -1;
   18702              :               return 3229; /* sse3_hsubv4sf3 */
   18703              : 
   18704              :             default:
   18705              :               return -1;
   18706              :             }
   18707              : 
   18708              :         case VEC_CONCAT:
   18709              :           if (GET_MODE (x5) != E_V2SFmode)
   18710              :             return -1;
   18711              :           x6 = XEXP (x4, 1);
   18712              :           if (GET_CODE (x6) != VEC_CONCAT
   18713              :               || GET_MODE (x6) != E_V2SFmode)
   18714              :             return -1;
   18715              :           x7 = XEXP (x3, 1);
   18716              :           if (GET_CODE (x7) != VEC_CONCAT
   18717              :               || GET_MODE (x7) != E_V4SFmode
   18718              :               || pattern1040 (x7, 
   18719              : E_V2SFmode, 
   18720              : VEC_CONCAT) != 0
   18721              :               || !register_operand (operands[0], E_V8SFmode)
   18722              :               || GET_MODE (x3) != E_V8SFmode
   18723              :               || GET_MODE (x4) != E_V4SFmode
   18724              :               || pattern1564 (x3, 
   18725              : E_SFmode) != 0)
   18726              :             return -1;
   18727              :           x8 = XEXP (x5, 0);
   18728              :           switch (GET_CODE (x8))
   18729              :             {
   18730              :             case PLUS:
   18731              :               if (pattern1844 (x3, 
   18732              : PLUS) != 0
   18733              :                   || !
   18734              : #line 3884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18735              : (TARGET_AVX))
   18736              :                 return -1;
   18737              :               return 3226; /* avx_haddv8sf3 */
   18738              : 
   18739              :             case MINUS:
   18740              :               if (pattern1844 (x3, 
   18741              : MINUS) != 0
   18742              :                   || !
   18743              : #line 3884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18744              : (TARGET_AVX))
   18745              :                 return -1;
   18746              :               return 3227; /* avx_hsubv8sf3 */
   18747              : 
   18748              :             default:
   18749              :               return -1;
   18750              :             }
   18751              : 
   18752              :         case REG:
   18753              :         case SUBREG:
   18754              :         case MEM:
   18755              :           operands[1] = x5;
   18756              :           if (pattern416 (x3) != 0)
   18757              :             return -1;
   18758              :           switch (GET_MODE (operands[0]))
   18759              :             {
   18760              :             case E_V16SImode:
   18761              :               if (pattern1491 (x3, 
   18762              : E_V8SImode, 
   18763              : E_V4SImode, 
   18764              : E_V16SImode) != 0
   18765              :                   || !
   18766              : #line 30839 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18767              : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
   18768              :                 return -1;
   18769              :               return 10177; /* avx512f_si512_si */
   18770              : 
   18771              :             case E_V16SFmode:
   18772              :               if (pattern1491 (x3, 
   18773              : E_V8SFmode, 
   18774              : E_V4SFmode, 
   18775              : E_V16SFmode) != 0
   18776              :                   || !
   18777              : #line 30839 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18778              : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
   18779              :                 return -1;
   18780              :               return 10178; /* avx512f_ps512_ps */
   18781              : 
   18782              :             case E_V8DFmode:
   18783              :               if (pattern1491 (x3, 
   18784              : E_V4DFmode, 
   18785              : E_V2DFmode, 
   18786              : E_V8DFmode) != 0
   18787              :                   || !
   18788              : #line 30839 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18789              : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
   18790              :                 return -1;
   18791              :               return 10179; /* avx512f_pd512_pd */
   18792              : 
   18793              :             default:
   18794              :               return -1;
   18795              :             }
   18796              : 
   18797              :         default:
   18798              :           return -1;
   18799              :         }
   18800              : 
   18801              :     case PLUS:
   18802              :       if (pattern102 (x3, 
   18803              : E_V2DFmode, 
   18804              : E_DFmode) != 0)
   18805              :         return -1;
   18806              :       x7 = XEXP (x3, 1);
   18807              :       x9 = XEXP (x7, 0);
   18808              :       x10 = XEXP (x9, 0);
   18809              :       operands[2] = x10;
   18810              :       if (!vector_operand (operands[2], E_V2DFmode)
   18811              :           || pattern1879 (x3) != 0
   18812              :           || !
   18813              : #line 3775 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18814              : (TARGET_SSE3
   18815              :    && INTVAL (operands[3]) != INTVAL (operands[4])
   18816              :    && INTVAL (operands[5]) != INTVAL (operands[6])))
   18817              :         return -1;
   18818              :       return 3222; /* *sse3_haddv2df3 */
   18819              : 
   18820              :     case MINUS:
   18821              :       if (pattern103 (x4, 
   18822              : E_DFmode) != 0)
   18823              :         return -1;
   18824              :       x7 = XEXP (x3, 1);
   18825              :       if (GET_CODE (x7) != MINUS
   18826              :           || GET_MODE (x7) != E_DFmode
   18827              :           || pattern1565 (x7, 
   18828              : E_DFmode) != 0
   18829              :           || !register_operand (operands[0], E_V2DFmode)
   18830              :           || GET_MODE (x3) != E_V2DFmode)
   18831              :         return -1;
   18832              :       x5 = XEXP (x4, 0);
   18833              :       x8 = XEXP (x5, 0);
   18834              :       operands[1] = x8;
   18835              :       if (!register_operand (operands[1], E_V2DFmode))
   18836              :         return -1;
   18837              :       x9 = XEXP (x7, 0);
   18838              :       x10 = XEXP (x9, 0);
   18839              :       operands[2] = x10;
   18840              :       if (!vector_operand (operands[2], E_V2DFmode))
   18841              :         return -1;
   18842              :       x6 = XEXP (x4, 1);
   18843              :       x11 = XEXP (x6, 0);
   18844              :       if (!rtx_equal_p (x11, operands[1]))
   18845              :         return -1;
   18846              :       x12 = XEXP (x7, 1);
   18847              :       x13 = XEXP (x12, 0);
   18848              :       if (!rtx_equal_p (x13, operands[2])
   18849              :           || !
   18850              : #line 3800 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18851              : (TARGET_SSE3))
   18852              :         return -1;
   18853              :       return 3223; /* sse3_hsubv2df3 */
   18854              : 
   18855              :     case FLOAT:
   18856              :       switch (pattern187 (x3))
   18857              :         {
   18858              :         case 0:
   18859              :           if (!
   18860              : #line 8025 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18861              : (TARGET_AVX512FP16 && TARGET_AVX512VL))
   18862              :             return -1;
   18863              :           return 4566; /* *avx512fp16_vcvtdq2ph_v4si */
   18864              : 
   18865              :         case 1:
   18866              :           if (!
   18867              : #line 8025 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18868              : (TARGET_AVX512FP16 && TARGET_AVX512VL))
   18869              :             return -1;
   18870              :           return 4568; /* *avx512fp16_vcvtqq2ph_v4di */
   18871              : 
   18872              :         case 2:
   18873              :           if (!
   18874              : #line 8101 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18875              : (TARGET_AVX512FP16 && TARGET_AVX512VL))
   18876              :             return -1;
   18877              :           return 4578; /* *avx512fp16_vcvtqq2ph_v2di */
   18878              : 
   18879              :         case 3:
   18880              :           if (!
   18881              : #line 9537 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18882              : (TARGET_AVX512DQ && TARGET_AVX512VL))
   18883              :             return -1;
   18884              :           return 5022; /* *avx512dq_floatv2div2sf2 */
   18885              : 
   18886              :         default:
   18887              :           return -1;
   18888              :         }
   18889              : 
   18890              :     case UNSIGNED_FLOAT:
   18891              :       switch (pattern187 (x3))
   18892              :         {
   18893              :         case 0:
   18894              :           if (!
   18895              : #line 8025 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18896              : (TARGET_AVX512FP16 && TARGET_AVX512VL))
   18897              :             return -1;
   18898              :           return 4567; /* *avx512fp16_vcvtudq2ph_v4si */
   18899              : 
   18900              :         case 1:
   18901              :           if (!
   18902              : #line 8025 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18903              : (TARGET_AVX512FP16 && TARGET_AVX512VL))
   18904              :             return -1;
   18905              :           return 4569; /* *avx512fp16_vcvtuqq2ph_v4di */
   18906              : 
   18907              :         case 2:
   18908              :           if (!
   18909              : #line 8101 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18910              : (TARGET_AVX512FP16 && TARGET_AVX512VL))
   18911              :             return -1;
   18912              :           return 4579; /* *avx512fp16_vcvtuqq2ph_v2di */
   18913              : 
   18914              :         case 3:
   18915              :           if (!
   18916              : #line 9537 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18917              : (TARGET_AVX512DQ && TARGET_AVX512VL))
   18918              :             return -1;
   18919              :           return 5023; /* *avx512dq_floatunsv2div2sf2 */
   18920              : 
   18921              :         default:
   18922              :           return -1;
   18923              :         }
   18924              : 
   18925              :     case VEC_MERGE:
   18926              :       return recog_273 (x1, insn, pnum_clobbers);
   18927              : 
   18928              :     case FLOAT_TRUNCATE:
   18929              :       x7 = XEXP (x3, 1);
   18930              :       switch (GET_CODE (x7))
   18931              :         {
   18932              :         case CONST_INT:
   18933              :         case CONST_DOUBLE:
   18934              :         case CONST_VECTOR:
   18935              :           operands[2] = x7;
   18936              :           x5 = XEXP (x4, 0);
   18937              :           operands[1] = x5;
   18938              :           switch (GET_MODE (operands[0]))
   18939              :             {
   18940              :             case E_V8HFmode:
   18941              :               if (!register_operand (operands[0], E_V8HFmode)
   18942              :                   || GET_MODE (x3) != E_V8HFmode)
   18943              :                 return -1;
   18944              :               switch (GET_MODE (x4))
   18945              :                 {
   18946              :                 case E_V4HFmode:
   18947              :                   if (!const0_operand (operands[2], E_V4HFmode))
   18948              :                     return -1;
   18949              :                   switch (GET_MODE (operands[1]))
   18950              :                     {
   18951              :                     case E_V4DFmode:
   18952              :                       if (!vector_operand (operands[1], E_V4DFmode)
   18953              :                           || !
   18954              : #line 8492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18955              : (TARGET_AVX512FP16 && TARGET_AVX512VL))
   18956              :                         return -1;
   18957              :                       return 4792; /* *avx512fp16_vcvtpd2ph_v4df */
   18958              : 
   18959              :                     case E_V4SFmode:
   18960              :                       if (!vector_operand (operands[1], E_V4SFmode)
   18961              :                           || !
   18962              : #line 8492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18963              : (TARGET_AVX512FP16 && TARGET_AVX512VL))
   18964              :                         return -1;
   18965              :                       return 4793; /* *avx512fp16_vcvtps2ph_v4sf */
   18966              : 
   18967              :                     default:
   18968              :                       return -1;
   18969              :                     }
   18970              : 
   18971              :                 case E_V2HFmode:
   18972              :                   if (!vector_operand (operands[1], E_V2DFmode)
   18973              :                       || !const0_operand (operands[2], E_V6HFmode)
   18974              :                       || !
   18975              : #line 8571 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18976              : (TARGET_AVX512FP16 && TARGET_AVX512VL))
   18977              :                     return -1;
   18978              :                   return 4798; /* *avx512fp16_vcvtpd2ph_v2df */
   18979              : 
   18980              :                 default:
   18981              :                   return -1;
   18982              :                 }
   18983              : 
   18984              :             case E_V4SFmode:
   18985              :               if (!register_operand (operands[0], E_V4SFmode)
   18986              :                   || GET_MODE (x3) != E_V4SFmode
   18987              :                   || GET_MODE (x4) != E_V2SFmode
   18988              :                   || !vector_operand (operands[1], E_V2DFmode)
   18989              :                   || !const0_operand (operands[2], E_V2SFmode)
   18990              :                   || !
   18991              : #line 10462 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18992              : (TARGET_SSE2))
   18993              :                 return -1;
   18994              :               return 5197; /* *sse2_cvtpd2ps */
   18995              : 
   18996              :             case E_V8BFmode:
   18997              :               if (pattern186 (x3, 
   18998              : E_V4BFmode, 
   18999              : E_V4SFmode, 
   19000              : E_V8BFmode) != 0
   19001              :                   || !
   19002              : #line 31764 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19003              : (TARGET_AVXNECONVERT || (TARGET_AVX512BF16 && TARGET_AVX512VL)))
   19004              :                 return -1;
   19005              :               return 10418; /* *vcvtneps2bf16_v4sf */
   19006              : 
   19007              :             default:
   19008              :               return -1;
   19009              :             }
   19010              : 
   19011              :         case FLOAT_TRUNCATE:
   19012              :           x5 = XEXP (x4, 0);
   19013              :           operands[2] = x5;
   19014              :           x9 = XEXP (x7, 0);
   19015              :           operands[1] = x9;
   19016              :           switch (GET_MODE (operands[0]))
   19017              :             {
   19018              :             case E_V32BFmode:
   19019              :               if (pattern796 (x3, 
   19020              : E_V16SFmode, 
   19021              : E_V16BFmode, 
   19022              : E_V32BFmode) != 0
   19023              :                   || !
   19024              : #line 31725 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19025              : (TARGET_AVX512BF16))
   19026              :                 return -1;
   19027              :               return 10412; /* avx512f_cvtne2ps2bf16_v32bf */
   19028              : 
   19029              :             case E_V16BFmode:
   19030              :               if (pattern796 (x3, 
   19031              : E_V8SFmode, 
   19032              : E_V8BFmode, 
   19033              : E_V16BFmode) != 0
   19034              :                   || !(
   19035              : #line 31725 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19036              : (TARGET_AVX512BF16) && 
   19037              : #line 31691 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19038              : (TARGET_AVX512VL)))
   19039              :                 return -1;
   19040              :               return 10414; /* avx512f_cvtne2ps2bf16_v16bf */
   19041              : 
   19042              :             case E_V8BFmode:
   19043              :               if (pattern796 (x3, 
   19044              : E_V4SFmode, 
   19045              : E_V4BFmode, 
   19046              : E_V8BFmode) != 0
   19047              :                   || !(
   19048              : #line 31725 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19049              : (TARGET_AVX512BF16) && 
   19050              : #line 31691 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19051              : (TARGET_AVX512VL)))
   19052              :                 return -1;
   19053              :               return 10416; /* avx512f_cvtne2ps2bf16_v8bf */
   19054              : 
   19055              :             case E_V32HFmode:
   19056              :               if (pattern797 (x3, 
   19057              : E_V16SFmode, 
   19058              : E_V16HFmode, 
   19059              : E_V32HFmode) != 0
   19060              :                   || !
   19061              : #line 32424 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19062              : (TARGET_AVX10_2 && 1))
   19063              :                 return -1;
   19064              :               return 10511; /* avx10_2_cvt2ps2phx_v32hf */
   19065              : 
   19066              :             case E_V16HFmode:
   19067              :               if (pattern797 (x3, 
   19068              : E_V8SFmode, 
   19069              : E_V8HFmode, 
   19070              : E_V16HFmode) != 0
   19071              :                   || !(
   19072              : #line 32424 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19073              : (TARGET_AVX10_2 && 1) && 
   19074              : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19075              : (TARGET_AVX512VL)))
   19076              :                 return -1;
   19077              :               return 10515; /* avx10_2_cvt2ps2phx_v16hf */
   19078              : 
   19079              :             case E_V8HFmode:
   19080              :               if (pattern797 (x3, 
   19081              : E_V4SFmode, 
   19082              : E_V4HFmode, 
   19083              : E_V8HFmode) != 0
   19084              :                   || !(
   19085              : #line 32424 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19086              : (TARGET_AVX10_2 && 1) && 
   19087              : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19088              : (TARGET_AVX512VL)))
   19089              :                 return -1;
   19090              :               return 10517; /* avx10_2_cvt2ps2phx_v8hf */
   19091              : 
   19092              :             default:
   19093              :               return -1;
   19094              :             }
   19095              : 
   19096              :         default:
   19097              :           return -1;
   19098              :         }
   19099              : 
   19100              :     case UNSPEC:
   19101              :       return recog_275 (x1, insn, pnum_clobbers);
   19102              : 
   19103              :     case UNSIGNED_FIX:
   19104              :       if (GET_MODE (x4) != E_V2SImode)
   19105              :         return -1;
   19106              :       x7 = XEXP (x3, 1);
   19107              :       if (GET_CODE (x7) != CONST_VECTOR
   19108              :           || XVECLEN (x7, 0) != 2
   19109              :           || GET_MODE (x7) != E_V2SImode
   19110              :           || pattern276 (x3, 
   19111              : E_V2DFmode, 
   19112              : E_V4SImode, 
   19113              : 0) != 0
   19114              :           || !
   19115              : #line 9923 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19116              : (TARGET_AVX512VL))
   19117              :         return -1;
   19118              :       return 5076; /* *fixuns_truncv2dfv2si2 */
   19119              : 
   19120              :     case FIX:
   19121              :       if (GET_MODE (x4) != E_V2SImode)
   19122              :         return -1;
   19123              :       x7 = XEXP (x3, 1);
   19124              :       if (GET_CODE (x7) != CONST_VECTOR
   19125              :           || pattern512 (x7, 
   19126              : E_V2SImode, 
   19127              : 2) != 0
   19128              :           || !register_operand (operands[0], E_V4SImode)
   19129              :           || GET_MODE (x3) != E_V4SImode)
   19130              :         return -1;
   19131              :       x5 = XEXP (x4, 0);
   19132              :       operands[1] = x5;
   19133              :       if (!vector_operand (operands[1], E_V2DFmode)
   19134              :           || !
   19135              : #line 10281 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19136              : (TARGET_SSE2))
   19137              :         return -1;
   19138              :       return 5178; /* sse2_cvttpd2dq */
   19139              : 
   19140              :     case REG:
   19141              :     case SUBREG:
   19142              :     case MEM:
   19143              :       x7 = XEXP (x3, 1);
   19144              :       switch (GET_CODE (x7))
   19145              :         {
   19146              :         case VEC_SELECT:
   19147              :           res = recog_271 (x1, insn, pnum_clobbers);
   19148              :           if (res >= 0)
   19149              :             return res;
   19150              :           break;
   19151              : 
   19152              :         case CONST_INT:
   19153              :         case CONST_DOUBLE:
   19154              :         case CONST_VECTOR:
   19155              :         case REG:
   19156              :         case SUBREG:
   19157              :         case MEM:
   19158              :           res = recog_272 (x1, insn, pnum_clobbers);
   19159              :           if (res >= 0)
   19160              :             return res;
   19161              :           break;
   19162              : 
   19163              :         case UNSPEC:
   19164              :           if (XVECLEN (x7, 0) == 1
   19165              :               && XINT (x7, 1) == 148)
   19166              :             {
   19167              :               x14 = XVECEXP (x7, 0, 0);
   19168              :               if (x14 == const_int_rtx[MAX_SAVED_CONST_INT + 0])
   19169              :                 {
   19170              :                   operands[1] = x4;
   19171              :                   switch (GET_MODE (operands[0]))
   19172              :                     {
   19173              :                     case E_V8SImode:
   19174              :                       if (pattern1041 (x3, 
   19175              : E_V4SImode, 
   19176              : E_V8SImode) == 0
   19177              :                           && 
   19178              : #line 29514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19179              : (TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
   19180              :                         return 9624; /* avx_si256_si */
   19181              :                       break;
   19182              : 
   19183              :                     case E_V8SFmode:
   19184              :                       if (pattern1041 (x3, 
   19185              : E_V4SFmode, 
   19186              : E_V8SFmode) == 0
   19187              :                           && 
   19188              : #line 29514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19189              : (TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
   19190              :                         return 9625; /* avx_ps256_ps */
   19191              :                       break;
   19192              : 
   19193              :                     case E_V4DFmode:
   19194              :                       if (pattern1041 (x3, 
   19195              : E_V2DFmode, 
   19196              : E_V4DFmode) == 0
   19197              :                           && 
   19198              : #line 29514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19199              : (TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
   19200              :                         return 9626; /* avx_pd256_pd */
   19201              :                       break;
   19202              : 
   19203              :                     case E_V16SImode:
   19204              :                       if (pattern1041 (x3, 
   19205              : E_V8SImode, 
   19206              : E_V16SImode) == 0
   19207              :                           && 
   19208              : #line 30856 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19209              : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
   19210              :                         return 10180; /* avx512f_si512_256si */
   19211              :                       break;
   19212              : 
   19213              :                     case E_V16SFmode:
   19214              :                       if (pattern1041 (x3, 
   19215              : E_V8SFmode, 
   19216              : E_V16SFmode) == 0
   19217              :                           && 
   19218              : #line 30856 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19219              : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
   19220              :                         return 10181; /* avx512f_ps512_256ps */
   19221              :                       break;
   19222              : 
   19223              :                     case E_V8DFmode:
   19224              :                       if (pattern1041 (x3, 
   19225              : E_V4DFmode, 
   19226              : E_V8DFmode) == 0
   19227              :                           && 
   19228              : #line 30856 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19229              : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
   19230              :                         return 10182; /* avx512f_pd512_256pd */
   19231              :                       break;
   19232              : 
   19233              :                     default:
   19234              :                       break;
   19235              :                     }
   19236              :                 }
   19237              :             }
   19238              :           break;
   19239              : 
   19240              :         default:
   19241              :           break;
   19242              :         }
   19243              :       if (!register_operand (operands[0], E_V4DImode)
   19244              :           || GET_MODE (x3) != E_V4DImode)
   19245              :         return -1;
   19246              :       if (GET_CODE (x4) == SUBREG
   19247              :           && known_eq (SUBREG_BYTE (x4), 0)
   19248              :           && GET_MODE (x4) == E_V2DImode)
   19249              :         {
   19250              :           x5 = XEXP (x4, 0);
   19251              :           if (pattern89 (x5, 
   19252              : E_V16QImode, 
   19253              : 120, 
   19254              : 1) == 0
   19255              :               && GET_CODE (x7) == SUBREG
   19256              :               && pattern1263 (x7) == 0)
   19257              :             {
   19258              :               x15 = XVECEXP (x5, 0, 0);
   19259              :               operands[1] = x15;
   19260              :               if (memory_operand (operands[1], E_V16QImode))
   19261              :                 {
   19262              :                   x9 = XEXP (x7, 0);
   19263              :                   x16 = XVECEXP (x9, 0, 0);
   19264              :                   if (rtx_equal_p (x16, operands[1])
   19265              :                       && 
   19266              : #line 28598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19267              : (TARGET_AVX2 && ix86_pre_reload_split ()))
   19268              :                     return 9363; /* avx2_lddqu_inserti_to_bcasti */
   19269              :                 }
   19270              :             }
   19271              :         }
   19272              :       operands[1] = x4;
   19273              :       if (!nonimmediate_operand (operands[1], E_V2DImode))
   19274              :         return -1;
   19275              :       if (rtx_equal_p (x7, operands[1])
   19276              :           && 
   19277              : #line 28690 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19278              : (TARGET_AVX))
   19279              :         return 9381; /* avx_vbroadcastf128_v4di */
   19280              :       operands[2] = x7;
   19281              :       if (!nonimm_or_0_operand (operands[2], E_V2DImode)
   19282              :           || !
   19283              : #line 29647 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19284              : (TARGET_AVX
   19285              :    && (operands[2] == CONST0_RTX (V2DImode)
   19286              :        || !MEM_P (operands[1]))))
   19287              :         return -1;
   19288              :       return 9686; /* avx_vec_concatv4di */
   19289              : 
   19290              :     case ZERO_EXTEND:
   19291              :       switch (pattern188 (x3))
   19292              :         {
   19293              :         case 0:
   19294              :           if (!
   19295              : #line 12426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19296              : (TARGET_AVX512FP16 && ix86_pre_reload_split ()))
   19297              :             return -1;
   19298              :           return 5331; /* *vec_setv2di_0_zero_extendhi_1 */
   19299              : 
   19300              :         case 1:
   19301              :           if (!
   19302              : #line 12540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19303              : (TARGET_SSE2 && ix86_pre_reload_split ()))
   19304              :             return -1;
   19305              :           return 5343; /* *vec_setv2di_0_zero_extendsi_1 */
   19306              : 
   19307              :         default:
   19308              :           return -1;
   19309              :         }
   19310              : 
   19311              :     case SS_TRUNCATE:
   19312              :       x5 = XEXP (x4, 0);
   19313              :       operands[1] = x5;
   19314              :       x7 = XEXP (x3, 1);
   19315              :       switch (GET_CODE (x7))
   19316              :         {
   19317              :         case CONST_INT:
   19318              :         case CONST_DOUBLE:
   19319              :         case CONST_VECTOR:
   19320              :           operands[2] = x7;
   19321              :           switch (pattern514 (x3))
   19322              :             {
   19323              :             case 0:
   19324              :               if (
   19325              : #line 15692 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19326              : (TARGET_AVX512VL))
   19327              :                 return 7316; /* avx512vl_ss_truncatev4div4qi2 */
   19328              :               break;
   19329              : 
   19330              :             case 1:
   19331              :               if (
   19332              : #line 15692 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19333              : (TARGET_AVX512VL))
   19334              :                 return 7325; /* avx512vl_ss_truncatev4siv4qi2 */
   19335              :               break;
   19336              : 
   19337              :             case 2:
   19338              :               if (
   19339              : #line 15692 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19340              : (TARGET_AVX512VL))
   19341              :                 return 7319; /* avx512vl_ss_truncatev2div2qi2 */
   19342              :               break;
   19343              : 
   19344              :             case 3:
   19345              :               if (
   19346              : #line 15692 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19347              : (TARGET_AVX512VL))
   19348              :                 return 7322; /* avx512vl_ss_truncatev8siv8qi2 */
   19349              :               break;
   19350              : 
   19351              :             case 4:
   19352              :               if ((
   19353              : #line 15692 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19354              : (TARGET_AVX512VL) && 
   19355              : #line 15648 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19356              : (TARGET_AVX512BW)))
   19357              :                 return 7328; /* avx512vl_ss_truncatev8hiv8qi2 */
   19358              :               break;
   19359              : 
   19360              :             case 5:
   19361              :               if ((
   19362              : #line 16047 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19363              : (TARGET_AVX512VL) && 
   19364              : #line 16009 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19365              : (TARGET_AVX2)))
   19366              :                 return 7407; /* avx512vl_ss_truncatev4div4hi2 */
   19367              :               break;
   19368              : 
   19369              :             case 6:
   19370              :               if (
   19371              : #line 16047 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19372              : (TARGET_AVX512VL))
   19373              :                 return 7413; /* avx512vl_ss_truncatev4siv4hi2 */
   19374              :               break;
   19375              : 
   19376              :             case 7:
   19377              :               if (
   19378              : #line 16047 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19379              : (TARGET_AVX512VL))
   19380              :                 return 7410; /* avx512vl_ss_truncatev2div2hi2 */
   19381              :               break;
   19382              : 
   19383              :             case 8:
   19384              :               if (
   19385              : #line 16288 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19386              : (TARGET_AVX512VL))
   19387              :                 return 7462; /* avx512vl_ss_truncatev2div2si2 */
   19388              :               break;
   19389              : 
   19390              :             default:
   19391              :               break;
   19392              :             }
   19393              :           if (GET_CODE (x7) != CONST_VECTOR
   19394              :               || pattern512 (x7, 
   19395              : E_V8QImode, 
   19396              : 8) != 0)
   19397              :             return -1;
   19398              :           x17 = XVECEXP (x7, 0, 2);
   19399              :           if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   19400              :             return -1;
   19401              :           x18 = XVECEXP (x7, 0, 3);
   19402              :           if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   19403              :             return -1;
   19404              :           x19 = XVECEXP (x7, 0, 4);
   19405              :           if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   19406              :             return -1;
   19407              :           x20 = XVECEXP (x7, 0, 5);
   19408              :           if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   19409              :             return -1;
   19410              :           x21 = XVECEXP (x7, 0, 6);
   19411              :           if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   19412              :             return -1;
   19413              :           x22 = XVECEXP (x7, 0, 7);
   19414              :           if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
   19415              :               || pattern618 (x3, 
   19416              : E_V8DImode, 
   19417              : E_V8QImode, 
   19418              : E_V16QImode) != 0
   19419              :               || !
   19420              : #line 16424 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19421              : (TARGET_AVX512F))
   19422              :             return -1;
   19423              :           return 7481; /* avx512f_ss_truncatev8div16qi2 */
   19424              : 
   19425              :         case SS_TRUNCATE:
   19426              :           x9 = XEXP (x7, 0);
   19427              :           operands[2] = x9;
   19428              :           switch (GET_MODE (operands[0]))
   19429              :             {
   19430              :             case E_V16QImode:
   19431              :               if (pattern802 (x3, 
   19432              : E_V8HImode, 
   19433              : E_V8QImode, 
   19434              : E_V16QImode) != 0
   19435              :                   || !
   19436              : #line 19550 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19437              : (TARGET_SSE2 && 1 && 1))
   19438              :                 return -1;
   19439              :               return 8346; /* sse2_packsswb */
   19440              : 
   19441              :             case E_V8HImode:
   19442              :               if (pattern802 (x3, 
   19443              : E_V4SImode, 
   19444              : E_V4HImode, 
   19445              : E_V8HImode) != 0
   19446              :                   || !
   19447              : #line 19644 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19448              : (TARGET_SSE2 && 1 && 1))
   19449              :                 return -1;
   19450              :               return 8352; /* sse2_packssdw */
   19451              : 
   19452              :             default:
   19453              :               return -1;
   19454              :             }
   19455              : 
   19456              :         default:
   19457              :           return -1;
   19458              :         }
   19459              : 
   19460              :     case TRUNCATE:
   19461              :       x5 = XEXP (x4, 0);
   19462              :       operands[1] = x5;
   19463              :       x7 = XEXP (x3, 1);
   19464              :       operands[2] = x7;
   19465              :       switch (pattern514 (x3))
   19466              :         {
   19467              :         case 0:
   19468              :           if (
   19469              : #line 15692 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19470              : (TARGET_AVX512VL))
   19471              :             return 7317; /* avx512vl_truncatev4div4qi2 */
   19472              :           break;
   19473              : 
   19474              :         case 1:
   19475              :           if (
   19476              : #line 15692 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19477              : (TARGET_AVX512VL))
   19478              :             return 7326; /* avx512vl_truncatev4siv4qi2 */
   19479              :           break;
   19480              : 
   19481              :         case 2:
   19482              :           if (
   19483              : #line 15692 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19484              : (TARGET_AVX512VL))
   19485              :             return 7320; /* avx512vl_truncatev2div2qi2 */
   19486              :           break;
   19487              : 
   19488              :         case 3:
   19489              :           if (
   19490              : #line 15692 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19491              : (TARGET_AVX512VL))
   19492              :             return 7323; /* avx512vl_truncatev8siv8qi2 */
   19493              :           break;
   19494              : 
   19495              :         case 4:
   19496              :           if ((
   19497              : #line 15692 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19498              : (TARGET_AVX512VL) && 
   19499              : #line 15648 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19500              : (TARGET_AVX512BW)))
   19501              :             return 7329; /* avx512vl_truncatev8hiv8qi2 */
   19502              :           break;
   19503              : 
   19504              :         case 5:
   19505              :           if ((
   19506              : #line 16047 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19507              : (TARGET_AVX512VL) && 
   19508              : #line 16009 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19509              : (TARGET_AVX2)))
   19510              :             return 7408; /* avx512vl_truncatev4div4hi2 */
   19511              :           break;
   19512              : 
   19513              :         case 6:
   19514              :           if (
   19515              : #line 16047 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19516              : (TARGET_AVX512VL))
   19517              :             return 7414; /* avx512vl_truncatev4siv4hi2 */
   19518              :           break;
   19519              : 
   19520              :         case 7:
   19521              :           if (
   19522              : #line 16047 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19523              : (TARGET_AVX512VL))
   19524              :             return 7411; /* avx512vl_truncatev2div2hi2 */
   19525              :           break;
   19526              : 
   19527              :         case 8:
   19528              :           if (
   19529              : #line 16288 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19530              : (TARGET_AVX512VL))
   19531              :             return 7463; /* avx512vl_truncatev2div2si2 */
   19532              :           break;
   19533              : 
   19534              :         default:
   19535              :           break;
   19536              :         }
   19537              :       if (!register_operand (operands[1], E_V8DImode)
   19538              :           || pattern515 (x3) != 0
   19539              :           || !
   19540              : #line 16424 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19541              : (TARGET_AVX512F))
   19542              :         return -1;
   19543              :       return 7482; /* avx512f_truncatev8div16qi2 */
   19544              : 
   19545              :     case US_TRUNCATE:
   19546              :       x5 = XEXP (x4, 0);
   19547              :       operands[1] = x5;
   19548              :       x7 = XEXP (x3, 1);
   19549              :       operands[2] = x7;
   19550              :       switch (pattern514 (x3))
   19551              :         {
   19552              :         case 0:
   19553              :           if (
   19554              : #line 15692 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19555              : (TARGET_AVX512VL))
   19556              :             return 7318; /* avx512vl_us_truncatev4div4qi2 */
   19557              :           break;
   19558              : 
   19559              :         case 1:
   19560              :           if (
   19561              : #line 15692 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19562              : (TARGET_AVX512VL))
   19563              :             return 7327; /* avx512vl_us_truncatev4siv4qi2 */
   19564              :           break;
   19565              : 
   19566              :         case 2:
   19567              :           if (
   19568              : #line 15692 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19569              : (TARGET_AVX512VL))
   19570              :             return 7321; /* avx512vl_us_truncatev2div2qi2 */
   19571              :           break;
   19572              : 
   19573              :         case 3:
   19574              :           if (
   19575              : #line 15692 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19576              : (TARGET_AVX512VL))
   19577              :             return 7324; /* avx512vl_us_truncatev8siv8qi2 */
   19578              :           break;
   19579              : 
   19580              :         case 4:
   19581              :           if ((
   19582              : #line 15692 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19583              : (TARGET_AVX512VL) && 
   19584              : #line 15648 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19585              : (TARGET_AVX512BW)))
   19586              :             return 7330; /* avx512vl_us_truncatev8hiv8qi2 */
   19587              :           break;
   19588              : 
   19589              :         case 5:
   19590              :           if ((
   19591              : #line 16047 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19592              : (TARGET_AVX512VL) && 
   19593              : #line 16009 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19594              : (TARGET_AVX2)))
   19595              :             return 7409; /* avx512vl_us_truncatev4div4hi2 */
   19596              :           break;
   19597              : 
   19598              :         case 6:
   19599              :           if (
   19600              : #line 16047 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19601              : (TARGET_AVX512VL))
   19602              :             return 7415; /* avx512vl_us_truncatev4siv4hi2 */
   19603              :           break;
   19604              : 
   19605              :         case 7:
   19606              :           if (
   19607              : #line 16047 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19608              : (TARGET_AVX512VL))
   19609              :             return 7412; /* avx512vl_us_truncatev2div2hi2 */
   19610              :           break;
   19611              : 
   19612              :         case 8:
   19613              :           if (
   19614              : #line 16288 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19615              : (TARGET_AVX512VL))
   19616              :             return 7464; /* avx512vl_us_truncatev2div2si2 */
   19617              :           break;
   19618              : 
   19619              :         default:
   19620              :           break;
   19621              :         }
   19622              :       if (!register_operand (operands[1], E_V8DImode)
   19623              :           || pattern515 (x3) != 0
   19624              :           || !
   19625              : #line 16424 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19626              : (TARGET_AVX512F))
   19627              :         return -1;
   19628              :       return 7483; /* avx512f_us_truncatev8div16qi2 */
   19629              : 
   19630              :     default:
   19631              :       return -1;
   19632              :     }
   19633              : }
   19634              : 
   19635              :  int
   19636              : recog_327 (rtx x1 ATTRIBUTE_UNUSED,
   19637              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   19638              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   19639              : {
   19640              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   19641              :   rtx x2, x3, x4, x5;
   19642              :   int res ATTRIBUTE_UNUSED;
   19643              :   x2 = XEXP (x1, 0);
   19644              :   operands[0] = x2;
   19645              :   x3 = XEXP (x1, 1);
   19646              :   x4 = XEXP (x3, 0);
   19647              :   switch (GET_CODE (x4))
   19648              :     {
   19649              :     case VEC_SELECT:
   19650              :       return recog_304 (x1, insn, pnum_clobbers);
   19651              : 
   19652              :     case REG:
   19653              :     case SUBREG:
   19654              :     case MEM:
   19655              :       operands[1] = x4;
   19656              :       switch (GET_MODE (operands[0]))
   19657              :         {
   19658              :         case E_V2DFmode:
   19659              :           if (!register_operand (operands[0], E_V2DFmode)
   19660              :               || GET_MODE (x3) != E_V2DFmode
   19661              :               || !nonimmediate_operand (operands[1], E_DFmode))
   19662              :             return -1;
   19663              :           if (
   19664              : #line 15211 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19665              : (TARGET_SSE2))
   19666              :             return 7255; /* vec_dupv2df */
   19667              :           if (!(
   19668              : #line 28468 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19669              : (TARGET_AVX512F) && 
   19670              : #line 302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19671              : (TARGET_AVX512VL)))
   19672              :             return -1;
   19673              :           return 9354; /* *avx512vl_vec_dup_gprv2df */
   19674              : 
   19675              :         case E_V16SFmode:
   19676              :           if (!register_operand (operands[0], E_V16SFmode)
   19677              :               || GET_MODE (x3) != E_V16SFmode)
   19678              :             return -1;
   19679              :           switch (GET_MODE (operands[1]))
   19680              :             {
   19681              :             case E_V4SFmode:
   19682              :               if (!nonimmediate_operand (operands[1], E_V4SFmode)
   19683              :                   || !
   19684              : #line 28432 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19685              : (TARGET_AVX512F))
   19686              :                 return -1;
   19687              :               return 9300; /* *avx512f_broadcastv16sf */
   19688              : 
   19689              :             case E_SFmode:
   19690              :               if (!nonimmediate_operand (operands[1], E_SFmode)
   19691              :                   || !
   19692              : #line 28468 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19693              : (TARGET_AVX512F))
   19694              :                 return -1;
   19695              :               return 9344; /* *avx512f_vec_dup_gprv16sf */
   19696              : 
   19697              :             case E_V8SFmode:
   19698              :               if (!nonimmediate_operand (operands[1], E_V8SFmode)
   19699              :                   || !
   19700              : #line 28767 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19701              : (TARGET_AVX512DQ))
   19702              :                 return -1;
   19703              :               return 9408; /* *avx512dq_broadcastv16sf_1 */
   19704              : 
   19705              :             default:
   19706              :               return -1;
   19707              :             }
   19708              : 
   19709              :         case E_V16SImode:
   19710              :           if (!register_operand (operands[0], E_V16SImode)
   19711              :               || GET_MODE (x3) != E_V16SImode)
   19712              :             return -1;
   19713              :           switch (GET_MODE (operands[1]))
   19714              :             {
   19715              :             case E_V4SImode:
   19716              :               if (!nonimmediate_operand (operands[1], E_V4SImode)
   19717              :                   || !
   19718              : #line 28432 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19719              : (TARGET_AVX512F))
   19720              :                 return -1;
   19721              :               return 9302; /* *avx512f_broadcastv16si */
   19722              : 
   19723              :             case E_SImode:
   19724              :               if (!nonimmediate_operand (operands[1], E_SImode)
   19725              :                   || !
   19726              : #line 28468 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19727              : (TARGET_AVX512F))
   19728              :                 return -1;
   19729              :               return 9332; /* *avx512f_vec_dup_gprv16si */
   19730              : 
   19731              :             case E_V8SImode:
   19732              :               if (!nonimmediate_operand (operands[1], E_V8SImode)
   19733              :                   || !
   19734              : #line 28767 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19735              : (TARGET_AVX512DQ))
   19736              :                 return -1;
   19737              :               return 9410; /* *avx512dq_broadcastv16si_1 */
   19738              : 
   19739              :             default:
   19740              :               return -1;
   19741              :             }
   19742              : 
   19743              :         case E_V8DFmode:
   19744              :           if (!register_operand (operands[0], E_V8DFmode)
   19745              :               || GET_MODE (x3) != E_V8DFmode)
   19746              :             return -1;
   19747              :           switch (GET_MODE (operands[1]))
   19748              :             {
   19749              :             case E_V4DFmode:
   19750              :               if (!nonimmediate_operand (operands[1], E_V4DFmode)
   19751              :                   || !
   19752              : #line 28444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19753              : (TARGET_AVX512F))
   19754              :                 return -1;
   19755              :               return 9304; /* *avx512f_broadcastv8df */
   19756              : 
   19757              :             case E_DFmode:
   19758              :               if (!nonimmediate_operand (operands[1], E_DFmode)
   19759              :                   || !
   19760              : #line 28468 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19761              : (TARGET_AVX512F))
   19762              :                 return -1;
   19763              :               return 9350; /* *avx512f_vec_dup_gprv8df */
   19764              : 
   19765              :             case E_V2DFmode:
   19766              :               if (!nonimmediate_operand (operands[1], E_V2DFmode)
   19767              :                   || !
   19768              : #line 28784 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19769              : (TARGET_AVX512DQ))
   19770              :                 return -1;
   19771              :               return 9414; /* *avx512dq_broadcastv8df_1 */
   19772              : 
   19773              :             default:
   19774              :               return -1;
   19775              :             }
   19776              : 
   19777              :         case E_V8DImode:
   19778              :           if (!register_operand (operands[0], E_V8DImode)
   19779              :               || GET_MODE (x3) != E_V8DImode)
   19780              :             return -1;
   19781              :           switch (GET_MODE (operands[1]))
   19782              :             {
   19783              :             case E_V4DImode:
   19784              :               if (!nonimmediate_operand (operands[1], E_V4DImode)
   19785              :                   || !
   19786              : #line 28444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19787              : (TARGET_AVX512F))
   19788              :                 return -1;
   19789              :               return 9306; /* *avx512f_broadcastv8di */
   19790              : 
   19791              :             case E_DImode:
   19792              :               if (!nonimmediate_operand (operands[1], E_DImode)
   19793              :                   || !
   19794              : #line 28468 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19795              : (TARGET_AVX512F))
   19796              :                 return -1;
   19797              :               return 9338; /* *avx512f_vec_dup_gprv8di */
   19798              : 
   19799              :             case E_V2DImode:
   19800              :               if (!nonimmediate_operand (operands[1], E_V2DImode)
   19801              :                   || !
   19802              : #line 28784 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19803              : (TARGET_AVX512DQ))
   19804              :                 return -1;
   19805              :               return 9412; /* *avx512dq_broadcastv8di_1 */
   19806              : 
   19807              :             default:
   19808              :               return -1;
   19809              :             }
   19810              : 
   19811              :         case E_V64QImode:
   19812              :           if (!register_operand (operands[0], E_V64QImode)
   19813              :               || GET_MODE (x3) != E_V64QImode
   19814              :               || !nonimmediate_operand (operands[1], E_QImode)
   19815              :               || !
   19816              : #line 28456 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19817              : (TARGET_AVX512BW))
   19818              :             return -1;
   19819              :           return 9308; /* *avx512bw_vec_dup_gprv64qi */
   19820              : 
   19821              :         case E_V16QImode:
   19822              :           if (!register_operand (operands[0], E_V16QImode)
   19823              :               || GET_MODE (x3) != E_V16QImode
   19824              :               || !nonimmediate_operand (operands[1], E_QImode))
   19825              :             return -1;
   19826              :           if ((
   19827              : #line 28456 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19828              : (TARGET_AVX512BW) && 
   19829              : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19830              : (TARGET_AVX512VL)))
   19831              :             return 9310; /* *avx512vl_vec_dup_gprv16qi */
   19832              :           if (!
   19833              : #line 28618 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19834              : (TARGET_AVX2))
   19835              :             return -1;
   19836              :           return 9365; /* *vec_dupv16qi */
   19837              : 
   19838              :         case E_V32QImode:
   19839              :           if (!register_operand (operands[0], E_V32QImode)
   19840              :               || GET_MODE (x3) != E_V32QImode
   19841              :               || !nonimmediate_operand (operands[1], E_QImode))
   19842              :             return -1;
   19843              :           if ((
   19844              : #line 28456 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19845              : (TARGET_AVX512BW) && 
   19846              : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19847              : (TARGET_AVX512VL)))
   19848              :             return 9312; /* *avx512vl_vec_dup_gprv32qi */
   19849              :           if (!
   19850              : #line 28618 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19851              : (TARGET_AVX2))
   19852              :             return -1;
   19853              :           return 9364; /* *vec_dupv32qi */
   19854              : 
   19855              :         case E_V32HImode:
   19856              :           if (!register_operand (operands[0], E_V32HImode)
   19857              :               || GET_MODE (x3) != E_V32HImode
   19858              :               || !nonimmediate_operand (operands[1], E_HImode)
   19859              :               || !
   19860              : #line 28456 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19861              : (TARGET_AVX512BW))
   19862              :             return -1;
   19863              :           return 9314; /* *avx512bw_vec_dup_gprv32hi */
   19864              : 
   19865              :         case E_V16HImode:
   19866              :           if (!register_operand (operands[0], E_V16HImode)
   19867              :               || GET_MODE (x3) != E_V16HImode
   19868              :               || !nonimmediate_operand (operands[1], E_HImode))
   19869              :             return -1;
   19870              :           if ((
   19871              : #line 28456 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19872              : (TARGET_AVX512BW) && 
   19873              : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19874              : (TARGET_AVX512VL)))
   19875              :             return 9316; /* *avx512vl_vec_dup_gprv16hi */
   19876              :           if (!
   19877              : #line 28618 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19878              : (TARGET_AVX2))
   19879              :             return -1;
   19880              :           return 9366; /* *vec_dupv16hi */
   19881              : 
   19882              :         case E_V8HImode:
   19883              :           if (!register_operand (operands[0], E_V8HImode)
   19884              :               || GET_MODE (x3) != E_V8HImode
   19885              :               || !nonimmediate_operand (operands[1], E_HImode))
   19886              :             return -1;
   19887              :           if ((
   19888              : #line 28456 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19889              : (TARGET_AVX512BW) && 
   19890              : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19891              : (TARGET_AVX512VL)))
   19892              :             return 9318; /* *avx512vl_vec_dup_gprv8hi */
   19893              :           if (!
   19894              : #line 28618 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19895              : (TARGET_AVX2))
   19896              :             return -1;
   19897              :           return 9367; /* *vec_dupv8hi */
   19898              : 
   19899              :         case E_V32HFmode:
   19900              :           if (!register_operand (operands[0], E_V32HFmode)
   19901              :               || GET_MODE (x3) != E_V32HFmode
   19902              :               || !nonimmediate_operand (operands[1], E_HFmode)
   19903              :               || !
   19904              : #line 28456 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19905              : (TARGET_AVX512BW))
   19906              :             return -1;
   19907              :           return 9320; /* *avx512bw_vec_dup_gprv32hf */
   19908              : 
   19909              :         case E_V16HFmode:
   19910              :           if (!register_operand (operands[0], E_V16HFmode)
   19911              :               || GET_MODE (x3) != E_V16HFmode
   19912              :               || !nonimmediate_operand (operands[1], E_HFmode))
   19913              :             return -1;
   19914              :           if ((
   19915              : #line 28456 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19916              : (TARGET_AVX512BW) && 
   19917              : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19918              : (TARGET_AVX512VL)))
   19919              :             return 9322; /* *avx512vl_vec_dup_gprv16hf */
   19920              :           if (!
   19921              : #line 28618 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19922              : (TARGET_AVX2))
   19923              :             return -1;
   19924              :           return 9370; /* *vec_dupv16hf */
   19925              : 
   19926              :         case E_V8HFmode:
   19927              :           if (!register_operand (operands[0], E_V8HFmode)
   19928              :               || GET_MODE (x3) != E_V8HFmode
   19929              :               || !nonimmediate_operand (operands[1], E_HFmode))
   19930              :             return -1;
   19931              :           if ((
   19932              : #line 28456 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19933              : (TARGET_AVX512BW) && 
   19934              : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19935              : (TARGET_AVX512VL)))
   19936              :             return 9324; /* *avx512fp16_vec_dup_gprv8hf */
   19937              :           if (!
   19938              : #line 28618 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19939              : (TARGET_AVX2))
   19940              :             return -1;
   19941              :           return 9371; /* *vec_dupv8hf */
   19942              : 
   19943              :         case E_V32BFmode:
   19944              :           if (!register_operand (operands[0], E_V32BFmode)
   19945              :               || GET_MODE (x3) != E_V32BFmode
   19946              :               || !nonimmediate_operand (operands[1], E_BFmode)
   19947              :               || !
   19948              : #line 28456 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19949              : (TARGET_AVX512BW))
   19950              :             return -1;
   19951              :           return 9326; /* *avx512bw_vec_dup_gprv32bf */
   19952              : 
   19953              :         case E_V16BFmode:
   19954              :           if (!register_operand (operands[0], E_V16BFmode)
   19955              :               || GET_MODE (x3) != E_V16BFmode
   19956              :               || !nonimmediate_operand (operands[1], E_BFmode))
   19957              :             return -1;
   19958              :           if ((
   19959              : #line 28456 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19960              : (TARGET_AVX512BW) && 
   19961              : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19962              : (TARGET_AVX512VL)))
   19963              :             return 9328; /* *avx512vl_vec_dup_gprv16bf */
   19964              :           if (!
   19965              : #line 28618 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19966              : (TARGET_AVX2))
   19967              :             return -1;
   19968              :           return 9372; /* *vec_dupv16bf */
   19969              : 
   19970              :         case E_V8BFmode:
   19971              :           if (!register_operand (operands[0], E_V8BFmode)
   19972              :               || GET_MODE (x3) != E_V8BFmode
   19973              :               || !nonimmediate_operand (operands[1], E_BFmode))
   19974              :             return -1;
   19975              :           if ((
   19976              : #line 28456 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19977              : (TARGET_AVX512BW) && 
   19978              : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19979              : (TARGET_AVX512VL)))
   19980              :             return 9330; /* *avx512vl_vec_dup_gprv8bf */
   19981              :           if (!
   19982              : #line 28618 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19983              : (TARGET_AVX2))
   19984              :             return -1;
   19985              :           return 9373; /* *vec_dupv8bf */
   19986              : 
   19987              :         case E_V8SImode:
   19988              :           if (!register_operand (operands[0], E_V8SImode)
   19989              :               || GET_MODE (x3) != E_V8SImode)
   19990              :             return -1;
   19991              :           switch (GET_MODE (operands[1]))
   19992              :             {
   19993              :             case E_SImode:
   19994              :               if (!nonimmediate_operand (operands[1], E_SImode))
   19995              :                 return -1;
   19996              :               if ((
   19997              : #line 28468 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19998              : (TARGET_AVX512F) && 
   19999              : #line 299 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20000              : (TARGET_AVX512VL)))
   20001              :                 return 9334; /* *avx512vl_vec_dup_gprv8si */
   20002              :               if (
   20003              : #line 28618 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20004              : (TARGET_AVX2))
   20005              :                 return 9368; /* *vec_dupv8si */
   20006              :               if (!
   20007              : #line 28638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20008              : (TARGET_AVX))
   20009              :                 return -1;
   20010              :               return 9374; /* vec_dupv8si */
   20011              : 
   20012              :             case E_V4SImode:
   20013              :               if (!nonimmediate_operand (operands[1], E_V4SImode)
   20014              :                   || !
   20015              : #line 28754 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20016              : (TARGET_AVX512VL))
   20017              :                 return -1;
   20018              :               return 9404; /* *avx512vl_broadcastv8si_1 */
   20019              : 
   20020              :             default:
   20021              :               return -1;
   20022              :             }
   20023              : 
   20024              :         case E_V4SImode:
   20025              :           if (!register_operand (operands[0], E_V4SImode)
   20026              :               || GET_MODE (x3) != E_V4SImode
   20027              :               || !nonimmediate_operand (operands[1], E_SImode))
   20028              :             return -1;
   20029              :           if ((
   20030              : #line 28468 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20031              : (TARGET_AVX512F) && 
   20032              : #line 299 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20033              : (TARGET_AVX512VL)))
   20034              :             return 9336; /* *avx512vl_vec_dup_gprv4si */
   20035              :           if (
   20036              : #line 28515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20037              : (TARGET_SSE))
   20038              :             return 9357; /* *vec_dupv4si */
   20039              :           if (!
   20040              : #line 28618 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20041              : (TARGET_AVX2))
   20042              :             return -1;
   20043              :           return 9369; /* *vec_dupv4si */
   20044              : 
   20045              :         case E_V4DImode:
   20046              :           if (!register_operand (operands[0], E_V4DImode)
   20047              :               || GET_MODE (x3) != E_V4DImode)
   20048              :             return -1;
   20049              :           switch (GET_MODE (operands[1]))
   20050              :             {
   20051              :             case E_DImode:
   20052              :               if (!nonimmediate_operand (operands[1], E_DImode))
   20053              :                 return -1;
   20054              :               if ((
   20055              : #line 28468 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20056              : (TARGET_AVX512F) && 
   20057              : #line 300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20058              : (TARGET_AVX512VL)))
   20059              :                 return 9340; /* *avx512vl_vec_dup_gprv4di */
   20060              :               if (!
   20061              : #line 28638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20062              : (TARGET_AVX))
   20063              :                 return -1;
   20064              :               return 9376; /* vec_dupv4di */
   20065              : 
   20066              :             case E_V2DImode:
   20067              :               if (!nonimmediate_operand (operands[1], E_V2DImode)
   20068              :                   || !(
   20069              : #line 28784 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20070              : (TARGET_AVX512DQ) && 
   20071              : #line 28778 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20072              : (TARGET_AVX512VL)))
   20073              :                 return -1;
   20074              :               return 9416; /* *avx512dq_broadcastv4di_1 */
   20075              : 
   20076              :             default:
   20077              :               return -1;
   20078              :             }
   20079              : 
   20080              :         case E_V2DImode:
   20081              :           if (!register_operand (operands[0], E_V2DImode)
   20082              :               || GET_MODE (x3) != E_V2DImode
   20083              :               || !nonimmediate_operand (operands[1], E_DImode))
   20084              :             return -1;
   20085              :           if ((
   20086              : #line 28468 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20087              : (TARGET_AVX512F) && 
   20088              : #line 300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20089              : (TARGET_AVX512VL)))
   20090              :             return 9342; /* *avx512vl_vec_dup_gprv2di */
   20091              :           if (!
   20092              : #line 28543 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20093              : (TARGET_SSE))
   20094              :             return -1;
   20095              :           return 9358; /* *vec_dupv2di */
   20096              : 
   20097              :         case E_V8SFmode:
   20098              :           if (!register_operand (operands[0], E_V8SFmode)
   20099              :               || GET_MODE (x3) != E_V8SFmode)
   20100              :             return -1;
   20101              :           switch (GET_MODE (operands[1]))
   20102              :             {
   20103              :             case E_SFmode:
   20104              :               if (!nonimmediate_operand (operands[1], E_SFmode))
   20105              :                 return -1;
   20106              :               if ((
   20107              : #line 28468 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20108              : (TARGET_AVX512F) && 
   20109              : #line 301 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20110              : (TARGET_AVX512VL)))
   20111              :                 return 9346; /* *avx512vl_vec_dup_gprv8sf */
   20112              :               if (!
   20113              : #line 28638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20114              : (TARGET_AVX))
   20115              :                 return -1;
   20116              :               return 9375; /* vec_dupv8sf */
   20117              : 
   20118              :             case E_V4SFmode:
   20119              :               if (!nonimmediate_operand (operands[1], E_V4SFmode)
   20120              :                   || !
   20121              : #line 28754 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20122              : (TARGET_AVX512VL))
   20123              :                 return -1;
   20124              :               return 9406; /* *avx512vl_broadcastv8sf_1 */
   20125              : 
   20126              :             default:
   20127              :               return -1;
   20128              :             }
   20129              : 
   20130              :         case E_V4SFmode:
   20131              :           if (!register_operand (operands[0], E_V4SFmode)
   20132              :               || GET_MODE (x3) != E_V4SFmode
   20133              :               || !nonimmediate_operand (operands[1], E_SFmode))
   20134              :             return -1;
   20135              :           if ((
   20136              : #line 28468 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20137              : (TARGET_AVX512F) && 
   20138              : #line 301 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20139              : (TARGET_AVX512VL)))
   20140              :             return 9348; /* *avx512vl_vec_dup_gprv4sf */
   20141              :           if (!
   20142              : #line 28483 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20143              : (TARGET_SSE))
   20144              :             return -1;
   20145              :           return 9356; /* vec_dupv4sf */
   20146              : 
   20147              :         case E_V4DFmode:
   20148              :           if (!register_operand (operands[0], E_V4DFmode)
   20149              :               || GET_MODE (x3) != E_V4DFmode)
   20150              :             return -1;
   20151              :           switch (GET_MODE (operands[1]))
   20152              :             {
   20153              :             case E_DFmode:
   20154              :               if (!nonimmediate_operand (operands[1], E_DFmode))
   20155              :                 return -1;
   20156              :               if ((
   20157              : #line 28468 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20158              : (TARGET_AVX512F) && 
   20159              : #line 302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20160              : (TARGET_AVX512VL)))
   20161              :                 return 9352; /* *avx512vl_vec_dup_gprv4df */
   20162              :               if (!
   20163              : #line 28638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20164              : (TARGET_AVX))
   20165              :                 return -1;
   20166              :               return 9377; /* vec_dupv4df */
   20167              : 
   20168              :             case E_V2DFmode:
   20169              :               if (!nonimmediate_operand (operands[1], E_V2DFmode)
   20170              :                   || !(
   20171              : #line 28784 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20172              : (TARGET_AVX512DQ) && 
   20173              : #line 28778 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20174              : (TARGET_AVX512VL)))
   20175              :                 return -1;
   20176              :               return 9418; /* *avx512dq_broadcastv4df_1 */
   20177              : 
   20178              :             default:
   20179              :               return -1;
   20180              :             }
   20181              : 
   20182              :         default:
   20183              :           return -1;
   20184              :         }
   20185              : 
   20186              :     case FLOAT_EXTEND:
   20187              :       if (GET_MODE (x4) != E_SFmode)
   20188              :         return -1;
   20189              :       x5 = XEXP (x4, 0);
   20190              :       operands[1] = x5;
   20191              :       switch (GET_MODE (operands[0]))
   20192              :         {
   20193              :         case E_V8SFmode:
   20194              :           switch (pattern684 (x3, 
   20195              : E_V8SFmode))
   20196              :             {
   20197              :             case 0:
   20198              :               if (!(
   20199              : #line 32340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20200              : (TARGET_AVXNECONVERT) && 
   20201              : #line 444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20202              : (TARGET_AVX)))
   20203              :                 return -1;
   20204              :               return 10499; /* vbcstnebf162ps_v8sf */
   20205              : 
   20206              :             case 1:
   20207              :               if (!(
   20208              : #line 32351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20209              : (TARGET_AVXNECONVERT) && 
   20210              : #line 444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20211              : (TARGET_AVX)))
   20212              :                 return -1;
   20213              :               return 10501; /* vbcstnesh2ps_v8sf */
   20214              : 
   20215              :             default:
   20216              :               return -1;
   20217              :             }
   20218              : 
   20219              :         case E_V4SFmode:
   20220              :           switch (pattern684 (x3, 
   20221              : E_V4SFmode))
   20222              :             {
   20223              :             case 0:
   20224              :               if (!
   20225              : #line 32340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20226              : (TARGET_AVXNECONVERT))
   20227              :                 return -1;
   20228              :               return 10500; /* vbcstnebf162ps_v4sf */
   20229              : 
   20230              :             case 1:
   20231              :               if (!
   20232              : #line 32351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20233              : (TARGET_AVXNECONVERT))
   20234              :                 return -1;
   20235              :               return 10502; /* vbcstnesh2ps_v4sf */
   20236              : 
   20237              :             default:
   20238              :               return -1;
   20239              :             }
   20240              : 
   20241              :         default:
   20242              :           return -1;
   20243              :         }
   20244              : 
   20245              :     default:
   20246              :       return -1;
   20247              :     }
   20248              : }
   20249              : 
   20250              :  int
   20251              : recog_332 (rtx x1 ATTRIBUTE_UNUSED,
   20252              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   20253              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   20254              : {
   20255              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   20256              :   rtx x2, x3, x4, x5;
   20257              :   int res ATTRIBUTE_UNUSED;
   20258              :   x2 = XEXP (x1, 0);
   20259              :   operands[0] = x2;
   20260              :   x3 = XEXP (x1, 1);
   20261              :   x4 = XEXP (x3, 0);
   20262              :   operands[1] = x4;
   20263              :   x5 = XEXP (x3, 1);
   20264              :   operands[2] = x5;
   20265              :   switch (GET_MODE (operands[0]))
   20266              :     {
   20267              :     case E_V16HImode:
   20268              :       if (!register_operand (operands[0], E_V16HImode)
   20269              :           || GET_MODE (x3) != E_V16HImode)
   20270              :         return -1;
   20271              :       if (nonimmediate_operand (operands[1], E_V16HImode)
   20272              :           && nonmemory_operand (operands[2], E_DImode)
   20273              :           && (
   20274              : #line 17419 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20275              : (TARGET_AVX512VL) && 
   20276              : #line 785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20277              : (TARGET_AVX512BW)))
   20278              :         return 7645; /* *ashrv16hi3 */
   20279              :       if (!register_operand (operands[1], E_V16HImode))
   20280              :         return -1;
   20281              :       if (nonmemory_operand (operands[2], E_DImode)
   20282              :           && (
   20283              : #line 17433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20284              : (TARGET_SSE2) && 
   20285              : #line 736 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20286              : (TARGET_AVX2)))
   20287              :         return 7655; /* ashrv16hi3 */
   20288              :       if (!nonimmediate_operand (operands[2], E_V16HImode)
   20289              :           || !(
   20290              : #line 29614 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20291              : (TARGET_AVX512BW) && 
   20292              : #line 679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20293              : (TARGET_AVX512VL)))
   20294              :         return -1;
   20295              :       return 9641; /* avx512vl_ashrvv16hi */
   20296              : 
   20297              :     case E_V8HImode:
   20298              :       if (!register_operand (operands[0], E_V8HImode)
   20299              :           || GET_MODE (x3) != E_V8HImode)
   20300              :         return -1;
   20301              :       if (nonimmediate_operand (operands[1], E_V8HImode)
   20302              :           && nonmemory_operand (operands[2], E_DImode)
   20303              :           && (
   20304              : #line 17419 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20305              : (TARGET_AVX512VL) && 
   20306              : #line 785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20307              : (TARGET_AVX512BW)))
   20308              :         return 7647; /* *ashrv8hi3 */
   20309              :       if (!register_operand (operands[1], E_V8HImode))
   20310              :         return -1;
   20311              :       if (nonmemory_operand (operands[2], E_DImode)
   20312              :           && 
   20313              : #line 17433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20314              : (TARGET_SSE2))
   20315              :         return 7656; /* ashrv8hi3 */
   20316              :       if (!nonimmediate_operand (operands[2], E_V8HImode)
   20317              :           || !(
   20318              : #line 29614 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20319              : (TARGET_AVX512BW) && 
   20320              : #line 679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20321              : (TARGET_AVX512VL)))
   20322              :         return -1;
   20323              :       return 9639; /* avx512vl_ashrvv8hi */
   20324              : 
   20325              :     case E_V8SImode:
   20326              :       if (!register_operand (operands[0], E_V8SImode)
   20327              :           || GET_MODE (x3) != E_V8SImode)
   20328              :         return -1;
   20329              :       if (nonimmediate_operand (operands[1], E_V8SImode)
   20330              :           && nonmemory_operand (operands[2], E_DImode)
   20331              :           && 
   20332              : #line 17419 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20333              : (TARGET_AVX512VL))
   20334              :         return 7649; /* *ashrv8si3 */
   20335              :       if (!register_operand (operands[1], E_V8SImode))
   20336              :         return -1;
   20337              :       if (nonmemory_operand (operands[2], E_DImode)
   20338              :           && (
   20339              : #line 17433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20340              : (TARGET_SSE2) && 
   20341              : #line 737 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20342              : (TARGET_AVX2)))
   20343              :         return 7657; /* ashrv8si3 */
   20344              :       if (!nonimmediate_operand (operands[2], E_V8SImode)
   20345              :           || !
   20346              : #line 29603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20347              : (TARGET_AVX2 && 1))
   20348              :         return -1;
   20349              :       return 9629; /* avx2_ashrvv8si */
   20350              : 
   20351              :     case E_V4SImode:
   20352              :       if (!register_operand (operands[0], E_V4SImode)
   20353              :           || GET_MODE (x3) != E_V4SImode)
   20354              :         return -1;
   20355              :       if (nonimmediate_operand (operands[1], E_V4SImode)
   20356              :           && nonmemory_operand (operands[2], E_DImode)
   20357              :           && 
   20358              : #line 17419 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20359              : (TARGET_AVX512VL))
   20360              :         return 7651; /* *ashrv4si3 */
   20361              :       if (!register_operand (operands[1], E_V4SImode))
   20362              :         return -1;
   20363              :       if (nonmemory_operand (operands[2], E_DImode)
   20364              :           && 
   20365              : #line 17433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20366              : (TARGET_SSE2))
   20367              :         return 7658; /* ashrv4si3 */
   20368              :       if (!nonimmediate_operand (operands[2], E_V4SImode)
   20369              :           || !
   20370              : #line 29603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20371              : (TARGET_AVX2 && 1))
   20372              :         return -1;
   20373              :       return 9627; /* avx2_ashrvv4si */
   20374              : 
   20375              :     case E_V2DImode:
   20376              :       if (!register_operand (operands[0], E_V2DImode)
   20377              :           || GET_MODE (x3) != E_V2DImode)
   20378              :         return -1;
   20379              :       if (nonimmediate_operand (operands[1], E_V2DImode)
   20380              :           && nonmemory_operand (operands[2], E_DImode)
   20381              :           && 
   20382              : #line 17419 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20383              : (TARGET_AVX512VL))
   20384              :         return 7653; /* *ashrv2di3 */
   20385              :       if (!register_operand (operands[1], E_V2DImode))
   20386              :         return -1;
   20387              :       if (nonmemory_operand (operands[2], E_DImode)
   20388              :           && 
   20389              : #line 27669 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20390              : (TARGET_SSE2 && !TARGET_AVX512VL && ix86_pre_reload_split ()))
   20391              :         return 9107; /* *ashrv2di3 */
   20392              :       if (!nonimmediate_operand (operands[2], E_V2DImode)
   20393              :           || !(
   20394              : #line 29603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20395              : (TARGET_AVX2 && 1) && 
   20396              : #line 675 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20397              : (TARGET_AVX512VL)))
   20398              :         return -1;
   20399              :       return 9633; /* avx2_ashrvv2di */
   20400              : 
   20401              :     case E_V32HImode:
   20402              :       if (!register_operand (operands[0], E_V32HImode)
   20403              :           || GET_MODE (x3) != E_V32HImode)
   20404              :         return -1;
   20405              :       if (nonimmediate_operand (operands[1], E_V32HImode)
   20406              :           && nonmemory_operand (operands[2], E_DImode)
   20407              :           && (
   20408              : #line 17463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20409              : (TARGET_AVX512F) && 
   20410              : #line 780 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20411              : (TARGET_AVX512BW)))
   20412              :         return 7663; /* *ashrv32hi3 */
   20413              :       if (!register_operand (operands[1], E_V32HImode)
   20414              :           || !nonimmediate_operand (operands[2], E_V32HImode)
   20415              :           || !
   20416              : #line 29614 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20417              : (TARGET_AVX512BW))
   20418              :         return -1;
   20419              :       return 9643; /* avx512bw_ashrvv32hi */
   20420              : 
   20421              :     case E_V4DImode:
   20422              :       if (!register_operand (operands[0], E_V4DImode)
   20423              :           || GET_MODE (x3) != E_V4DImode)
   20424              :         return -1;
   20425              :       if (nonimmediate_operand (operands[1], E_V4DImode)
   20426              :           && nonmemory_operand (operands[2], E_DImode)
   20427              :           && (
   20428              : #line 17463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20429              : (TARGET_AVX512F) && 
   20430              : #line 781 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20431              : (TARGET_AVX512VL)))
   20432              :         return 7665; /* *ashrv4di3 */
   20433              :       if (!register_operand (operands[1], E_V4DImode)
   20434              :           || !nonimmediate_operand (operands[2], E_V4DImode)
   20435              :           || !(
   20436              : #line 29603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20437              : (TARGET_AVX2 && 1) && 
   20438              : #line 675 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20439              : (TARGET_AVX512VL)))
   20440              :         return -1;
   20441              :       return 9635; /* avx2_ashrvv4di */
   20442              : 
   20443              :     case E_V16SImode:
   20444              :       if (!register_operand (operands[0], E_V16SImode)
   20445              :           || GET_MODE (x3) != E_V16SImode)
   20446              :         return -1;
   20447              :       if (nonimmediate_operand (operands[1], E_V16SImode)
   20448              :           && nonmemory_operand (operands[2], E_DImode)
   20449              :           && 
   20450              : #line 17463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20451              : (TARGET_AVX512F))
   20452              :         return 7667; /* *ashrv16si3 */
   20453              :       if (!register_operand (operands[1], E_V16SImode)
   20454              :           || !nonimmediate_operand (operands[2], E_V16SImode)
   20455              :           || !(
   20456              : #line 29603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20457              : (TARGET_AVX2 && 1) && 
   20458              : #line 674 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20459              : (TARGET_AVX512F)))
   20460              :         return -1;
   20461              :       return 9631; /* avx512f_ashrvv16si */
   20462              : 
   20463              :     case E_V8DImode:
   20464              :       if (!register_operand (operands[0], E_V8DImode)
   20465              :           || GET_MODE (x3) != E_V8DImode)
   20466              :         return -1;
   20467              :       if (nonimmediate_operand (operands[1], E_V8DImode)
   20468              :           && nonmemory_operand (operands[2], E_DImode)
   20469              :           && 
   20470              : #line 17463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20471              : (TARGET_AVX512F))
   20472              :         return 7669; /* *ashrv8di3 */
   20473              :       if (!register_operand (operands[1], E_V8DImode)
   20474              :           || !nonimmediate_operand (operands[2], E_V8DImode)
   20475              :           || !(
   20476              : #line 29603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20477              : (TARGET_AVX2 && 1) && 
   20478              : #line 676 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20479              : (TARGET_AVX512F)))
   20480              :         return -1;
   20481              :       return 9637; /* avx512f_ashrvv8di */
   20482              : 
   20483              :     case E_V1TImode:
   20484              :       if (pattern31 (x3) != 0
   20485              :           || !
   20486              : #line 17837 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20487              : (TARGET_SSE2 && TARGET_64BIT
   20488              :    && ix86_pre_reload_split ()))
   20489              :         return -1;
   20490              :       return 7734; /* *ashrv1ti3_internal */
   20491              : 
   20492              :     default:
   20493              :       return -1;
   20494              :     }
   20495              : }
   20496              : 
   20497              :  int
   20498              : recog_336 (rtx x1 ATTRIBUTE_UNUSED,
   20499              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   20500              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   20501              : {
   20502              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   20503              :   rtx x2, x3, x4, x5, x6, x7, x8;
   20504              :   int res ATTRIBUTE_UNUSED;
   20505              :   x2 = XEXP (x1, 0);
   20506              :   operands[0] = x2;
   20507              :   x3 = XEXP (x1, 1);
   20508              :   x4 = XEXP (x3, 0);
   20509              :   switch (GET_CODE (x4))
   20510              :     {
   20511              :     case REG:
   20512              :     case SUBREG:
   20513              :     case MEM:
   20514              :       operands[1] = x4;
   20515              :       switch (GET_MODE (operands[0]))
   20516              :         {
   20517              :         case E_V8HFmode:
   20518              :           switch (pattern517 (x3))
   20519              :             {
   20520              :             case 0:
   20521              :               if (!(
   20522              : #line 7993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20523              : (TARGET_AVX512FP16) && 
   20524              : #line 687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20525              : (TARGET_AVX512VL)))
   20526              :                 return -1;
   20527              :               return 4518; /* avx512fp16_vcvtw2ph_v8hi */
   20528              : 
   20529              :             case 1:
   20530              :               if (!(
   20531              : #line 7993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20532              : (TARGET_AVX512FP16) && 
   20533              : #line 688 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20534              : (TARGET_AVX512VL)))
   20535              :                 return -1;
   20536              :               return 4542; /* avx512fp16_vcvtdq2ph_v8si */
   20537              : 
   20538              :             case 2:
   20539              :               if (!
   20540              : #line 7993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20541              : (TARGET_AVX512FP16))
   20542              :                 return -1;
   20543              :               return 4558; /* avx512fp16_vcvtqq2ph_v8di */
   20544              : 
   20545              :             default:
   20546              :               return -1;
   20547              :             }
   20548              : 
   20549              :         case E_V16HFmode:
   20550              :           switch (pattern518 (x3))
   20551              :             {
   20552              :             case 0:
   20553              :               if (!(
   20554              : #line 7993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20555              : (TARGET_AVX512FP16) && 
   20556              : #line 687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20557              : (TARGET_AVX512VL)))
   20558              :                 return -1;
   20559              :               return 4526; /* avx512fp16_vcvtw2ph_v16hi */
   20560              : 
   20561              :             case 1:
   20562              :               if (!
   20563              : #line 7993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20564              : (TARGET_AVX512FP16))
   20565              :                 return -1;
   20566              :               return 4550; /* avx512fp16_vcvtdq2ph_v16si */
   20567              : 
   20568              :             default:
   20569              :               return -1;
   20570              :             }
   20571              : 
   20572              :         case E_V32HFmode:
   20573              :           if (!register_operand (operands[0], E_V32HFmode)
   20574              :               || GET_MODE (x3) != E_V32HFmode
   20575              :               || !vector_operand (operands[1], E_V32HImode)
   20576              :               || !
   20577              : #line 7993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20578              : (TARGET_AVX512FP16))
   20579              :             return -1;
   20580              :           return 4534; /* avx512fp16_vcvtw2ph_v32hi */
   20581              : 
   20582              :         case E_V16SFmode:
   20583              :           if (!register_operand (operands[0], E_V16SFmode)
   20584              :               || GET_MODE (x3) != E_V16SFmode
   20585              :               || !vector_operand (operands[1], E_V16SImode)
   20586              :               || !(
   20587              : #line 8971 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20588              : (TARGET_SSE2 && 1 && 1) && 
   20589              : #line 437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20590              : (TARGET_AVX512F)))
   20591              :             return -1;
   20592              :           return 4854; /* floatv16siv16sf2 */
   20593              : 
   20594              :         case E_V8SFmode:
   20595              :           if (!register_operand (operands[0], E_V8SFmode)
   20596              :               || GET_MODE (x3) != E_V8SFmode)
   20597              :             return -1;
   20598              :           switch (GET_MODE (operands[1]))
   20599              :             {
   20600              :             case E_V8SImode:
   20601              :               if (!vector_operand (operands[1], E_V8SImode)
   20602              :                   || !(
   20603              : #line 8971 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20604              : (TARGET_SSE2 && 1 && 1) && 
   20605              : #line 437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20606              : (TARGET_AVX)))
   20607              :                 return -1;
   20608              :               return 4858; /* floatv8siv8sf2 */
   20609              : 
   20610              :             case E_V8DImode:
   20611              :               if (!nonimmediate_operand (operands[1], E_V8DImode)
   20612              :                   || !
   20613              : #line 9518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20614              : (TARGET_AVX512DQ && 1))
   20615              :                 return -1;
   20616              :               return 5010; /* floatv8div8sf2 */
   20617              : 
   20618              :             default:
   20619              :               return -1;
   20620              :             }
   20621              : 
   20622              :         case E_V4SFmode:
   20623              :           if (!register_operand (operands[0], E_V4SFmode)
   20624              :               || GET_MODE (x3) != E_V4SFmode)
   20625              :             return -1;
   20626              :           switch (GET_MODE (operands[1]))
   20627              :             {
   20628              :             case E_V4SImode:
   20629              :               if (!vector_operand (operands[1], E_V4SImode)
   20630              :                   || !
   20631              : #line 8971 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20632              : (TARGET_SSE2 && 1 && 1))
   20633              :                 return -1;
   20634              :               return 4860; /* floatv4siv4sf2 */
   20635              : 
   20636              :             case E_V4DImode:
   20637              :               if (!nonimmediate_operand (operands[1], E_V4DImode)
   20638              :                   || !(
   20639              : #line 9518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20640              : (TARGET_AVX512DQ && 1) && 
   20641              : #line 620 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20642              : (TARGET_AVX512VL)))
   20643              :                 return -1;
   20644              :               return 5018; /* floatv4div4sf2 */
   20645              : 
   20646              :             default:
   20647              :               return -1;
   20648              :             }
   20649              : 
   20650              :         case E_V2DFmode:
   20651              :           switch (pattern519 (x3))
   20652              :             {
   20653              :             case 0:
   20654              :               if (!
   20655              : #line 9200 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20656              : (TARGET_SSE2))
   20657              :                 return -1;
   20658              :               return 4934; /* sse2_cvtpi2pd */
   20659              : 
   20660              :             case 1:
   20661              :               if (!(
   20662              : #line 9504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20663              : (TARGET_AVX512DQ) && 
   20664              : #line 531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20665              : (TARGET_AVX512VL)))
   20666              :                 return -1;
   20667              :               return 5002; /* floatv2div2df2 */
   20668              : 
   20669              :             default:
   20670              :               return -1;
   20671              :             }
   20672              : 
   20673              :         case E_V8DFmode:
   20674              :           switch (pattern520 (x3, 
   20675              : E_V8DFmode))
   20676              :             {
   20677              :             case 0:
   20678              :               if (!(
   20679              : #line 9494 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20680              : (TARGET_AVX && 1) && 
   20681              : #line 466 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20682              : (TARGET_AVX512F)))
   20683              :                 return -1;
   20684              :               return 4982; /* floatv8siv8df2 */
   20685              : 
   20686              :             case 1:
   20687              :               if (!
   20688              : #line 9504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20689              : (TARGET_AVX512DQ))
   20690              :                 return -1;
   20691              :               return 4986; /* floatv8div8df2 */
   20692              : 
   20693              :             default:
   20694              :               return -1;
   20695              :             }
   20696              : 
   20697              :         case E_V4DFmode:
   20698              :           switch (pattern521 (x3, 
   20699              : E_V4DFmode))
   20700              :             {
   20701              :             case 0:
   20702              :               if (!
   20703              : #line 9494 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20704              : (TARGET_AVX && 1))
   20705              :                 return -1;
   20706              :               return 4984; /* floatv4siv4df2 */
   20707              : 
   20708              :             case 1:
   20709              :               if (!(
   20710              : #line 9504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20711              : (TARGET_AVX512DQ) && 
   20712              : #line 531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20713              : (TARGET_AVX512VL)))
   20714              :                 return -1;
   20715              :               return 4994; /* floatv4div4df2 */
   20716              : 
   20717              :             default:
   20718              :               return -1;
   20719              :             }
   20720              : 
   20721              :         default:
   20722              :           return -1;
   20723              :         }
   20724              : 
   20725              :     case VEC_SELECT:
   20726              :       x5 = XEXP (x4, 1);
   20727              :       if (GET_CODE (x5) != PARALLEL)
   20728              :         return -1;
   20729              :       x6 = XEXP (x4, 0);
   20730              :       operands[1] = x6;
   20731              :       switch (XVECLEN (x5, 0))
   20732              :         {
   20733              :         case 8:
   20734              :           if (pattern681 (x5) != 0
   20735              :               || pattern928 (x3, 
   20736              : E_V16SImode, 
   20737              : E_V8SImode, 
   20738              : E_V8DFmode) != 0
   20739              :               || !
   20740              : #line 9695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20741              : (TARGET_AVX512F))
   20742              :             return -1;
   20743              :           return 5034; /* avx512f_cvtdq2pd512_2 */
   20744              : 
   20745              :         case 4:
   20746              :           if (pattern682 (x5, 
   20747              : 3, 
   20748              : 2, 
   20749              : 1) != 0
   20750              :               || pattern928 (x3, 
   20751              : E_V8SImode, 
   20752              : E_V4SImode, 
   20753              : E_V4DFmode) != 0
   20754              :               || !
   20755              : #line 9708 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20756              : (TARGET_AVX))
   20757              :             return -1;
   20758              :           return 5035; /* avx_cvtdq2pd256_2 */
   20759              : 
   20760              :         case 2:
   20761              :           x7 = XVECEXP (x5, 0, 0);
   20762              :           if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   20763              :             return -1;
   20764              :           x8 = XVECEXP (x5, 0, 1);
   20765              :           if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
   20766              :               || pattern928 (x3, 
   20767              : E_V4SImode, 
   20768              : E_V2SImode, 
   20769              : E_V2DFmode) != 0
   20770              :               || !
   20771              : #line 9720 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20772              : (TARGET_SSE2 && 1))
   20773              :             return -1;
   20774              :           return 5036; /* sse2_cvtdq2pd */
   20775              : 
   20776              :         default:
   20777              :           return -1;
   20778              :         }
   20779              : 
   20780              :     default:
   20781              :       return -1;
   20782              :     }
   20783              : }
   20784              : 
   20785              :  int
   20786              : recog_341 (rtx x1 ATTRIBUTE_UNUSED,
   20787              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   20788              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   20789              : {
   20790              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   20791              :   rtx x2, x3, x4, x5, x6, x7, x8;
   20792              :   int res ATTRIBUTE_UNUSED;
   20793              :   x2 = XEXP (x1, 0);
   20794              :   operands[0] = x2;
   20795              :   x3 = XEXP (x1, 1);
   20796              :   x4 = XEXP (x3, 0);
   20797              :   switch (GET_CODE (x4))
   20798              :     {
   20799              :     case REG:
   20800              :     case SUBREG:
   20801              :     case MEM:
   20802              :       operands[1] = x4;
   20803              :       switch (GET_MODE (operands[0]))
   20804              :         {
   20805              :         case E_V8HFmode:
   20806              :           switch (pattern517 (x3))
   20807              :             {
   20808              :             case 0:
   20809              :               if (!(
   20810              : #line 7993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20811              : (TARGET_AVX512FP16) && 
   20812              : #line 687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20813              : (TARGET_AVX512VL)))
   20814              :                 return -1;
   20815              :               return 4522; /* avx512fp16_vcvtuw2ph_v8hi */
   20816              : 
   20817              :             case 1:
   20818              :               if (!(
   20819              : #line 7993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20820              : (TARGET_AVX512FP16) && 
   20821              : #line 688 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20822              : (TARGET_AVX512VL)))
   20823              :                 return -1;
   20824              :               return 4546; /* avx512fp16_vcvtudq2ph_v8si */
   20825              : 
   20826              :             case 2:
   20827              :               if (!
   20828              : #line 7993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20829              : (TARGET_AVX512FP16))
   20830              :                 return -1;
   20831              :               return 4562; /* avx512fp16_vcvtuqq2ph_v8di */
   20832              : 
   20833              :             default:
   20834              :               return -1;
   20835              :             }
   20836              : 
   20837              :         case E_V16HFmode:
   20838              :           switch (pattern518 (x3))
   20839              :             {
   20840              :             case 0:
   20841              :               if (!(
   20842              : #line 7993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20843              : (TARGET_AVX512FP16) && 
   20844              : #line 687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20845              : (TARGET_AVX512VL)))
   20846              :                 return -1;
   20847              :               return 4530; /* avx512fp16_vcvtuw2ph_v16hi */
   20848              : 
   20849              :             case 1:
   20850              :               if (!
   20851              : #line 7993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20852              : (TARGET_AVX512FP16))
   20853              :                 return -1;
   20854              :               return 4554; /* avx512fp16_vcvtudq2ph_v16si */
   20855              : 
   20856              :             default:
   20857              :               return -1;
   20858              :             }
   20859              : 
   20860              :         case E_V32HFmode:
   20861              :           if (!register_operand (operands[0], E_V32HFmode)
   20862              :               || GET_MODE (x3) != E_V32HFmode
   20863              :               || !vector_operand (operands[1], E_V32HImode)
   20864              :               || !
   20865              : #line 7993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20866              : (TARGET_AVX512FP16))
   20867              :             return -1;
   20868              :           return 4538; /* avx512fp16_vcvtuw2ph_v32hi */
   20869              : 
   20870              :         case E_V16SFmode:
   20871              :           if (!register_operand (operands[0], E_V16SFmode)
   20872              :               || GET_MODE (x3) != E_V16SFmode
   20873              :               || !nonimmediate_operand (operands[1], E_V16SImode)
   20874              :               || !
   20875              : #line 8984 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20876              : (TARGET_AVX512F))
   20877              :             return -1;
   20878              :           return 4862; /* *floatunsv16siv16sf2 */
   20879              : 
   20880              :         case E_V8SFmode:
   20881              :           switch (pattern520 (x3, 
   20882              : E_V8SFmode))
   20883              :             {
   20884              :             case 0:
   20885              :               if (!(
   20886              : #line 8984 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20887              : (TARGET_AVX512F) && 
   20888              : #line 534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20889              : (TARGET_AVX512VL)))
   20890              :                 return -1;
   20891              :               return 4866; /* *floatunsv8siv8sf2 */
   20892              : 
   20893              :             case 1:
   20894              :               if (!
   20895              : #line 9518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20896              : (TARGET_AVX512DQ && 1))
   20897              :                 return -1;
   20898              :               return 5014; /* floatunsv8div8sf2 */
   20899              : 
   20900              :             default:
   20901              :               return -1;
   20902              :             }
   20903              : 
   20904              :         case E_V4SFmode:
   20905              :           switch (pattern521 (x3, 
   20906              : E_V4SFmode))
   20907              :             {
   20908              :             case 0:
   20909              :               if (!(
   20910              : #line 8984 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20911              : (TARGET_AVX512F) && 
   20912              : #line 534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20913              : (TARGET_AVX512VL)))
   20914              :                 return -1;
   20915              :               return 4870; /* *floatunsv4siv4sf2 */
   20916              : 
   20917              :             case 1:
   20918              :               if (!(
   20919              : #line 9518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20920              : (TARGET_AVX512DQ && 1) && 
   20921              : #line 620 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20922              : (TARGET_AVX512VL)))
   20923              :                 return -1;
   20924              :               return 5020; /* floatunsv4div4sf2 */
   20925              : 
   20926              :             default:
   20927              :               return -1;
   20928              :             }
   20929              : 
   20930              :         case E_V2DFmode:
   20931              :           switch (pattern519 (x3))
   20932              :             {
   20933              :             case 0:
   20934              :               if (!
   20935              : #line 9220 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20936              : (TARGET_MMX_WITH_SSE && TARGET_AVX512VL))
   20937              :                 return -1;
   20938              :               return 4935; /* floatunsv2siv2df2 */
   20939              : 
   20940              :             case 1:
   20941              :               if (!(
   20942              : #line 9504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20943              : (TARGET_AVX512DQ) && 
   20944              : #line 531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20945              : (TARGET_AVX512VL)))
   20946              :                 return -1;
   20947              :               return 5006; /* floatunsv2div2df2 */
   20948              : 
   20949              :             default:
   20950              :               return -1;
   20951              :             }
   20952              : 
   20953              :         case E_V8DFmode:
   20954              :           if (!register_operand (operands[0], E_V8DFmode)
   20955              :               || GET_MODE (x3) != E_V8DFmode)
   20956              :             return -1;
   20957              :           switch (GET_MODE (operands[1]))
   20958              :             {
   20959              :             case E_V8DImode:
   20960              :               if (!nonimmediate_operand (operands[1], E_V8DImode)
   20961              :                   || !
   20962              : #line 9504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20963              : (TARGET_AVX512DQ))
   20964              :                 return -1;
   20965              :               return 4990; /* floatunsv8div8df2 */
   20966              : 
   20967              :             case E_V8SImode:
   20968              :               if (!nonimmediate_operand (operands[1], E_V8SImode)
   20969              :                   || !
   20970              : #line 9668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20971              : (TARGET_AVX512F))
   20972              :                 return -1;
   20973              :               return 5028; /* floatunsv8siv8df2 */
   20974              : 
   20975              :             default:
   20976              :               return -1;
   20977              :             }
   20978              : 
   20979              :         case E_V4DFmode:
   20980              :           if (!register_operand (operands[0], E_V4DFmode)
   20981              :               || GET_MODE (x3) != E_V4DFmode)
   20982              :             return -1;
   20983              :           switch (GET_MODE (operands[1]))
   20984              :             {
   20985              :             case E_V4DImode:
   20986              :               if (!nonimmediate_operand (operands[1], E_V4DImode)
   20987              :                   || !(
   20988              : #line 9504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20989              : (TARGET_AVX512DQ) && 
   20990              : #line 531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20991              : (TARGET_AVX512VL)))
   20992              :                 return -1;
   20993              :               return 4998; /* floatunsv4div4df2 */
   20994              : 
   20995              :             case E_V4SImode:
   20996              :               if (!nonimmediate_operand (operands[1], E_V4SImode)
   20997              :                   || !(
   20998              : #line 9668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20999              : (TARGET_AVX512F) && 
   21000              : #line 469 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21001              : (TARGET_AVX512VL)))
   21002              :                 return -1;
   21003              :               return 5030; /* floatunsv4siv4df2 */
   21004              : 
   21005              :             default:
   21006              :               return -1;
   21007              :             }
   21008              : 
   21009              :         default:
   21010              :           return -1;
   21011              :         }
   21012              : 
   21013              :     case VEC_SELECT:
   21014              :       if (GET_MODE (x4) != E_V2SImode)
   21015              :         return -1;
   21016              :       x5 = XEXP (x4, 1);
   21017              :       if (GET_CODE (x5) != PARALLEL
   21018              :           || XVECLEN (x5, 0) != 2)
   21019              :         return -1;
   21020              :       x6 = XVECEXP (x5, 0, 0);
   21021              :       if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   21022              :         return -1;
   21023              :       x7 = XVECEXP (x5, 0, 1);
   21024              :       if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
   21025              :           || !register_operand (operands[0], E_V2DFmode)
   21026              :           || GET_MODE (x3) != E_V2DFmode)
   21027              :         return -1;
   21028              :       x8 = XEXP (x4, 0);
   21029              :       operands[1] = x8;
   21030              :       if (!nonimmediate_operand (operands[1], E_V4SImode)
   21031              :           || !
   21032              : #line 9680 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21033              : (TARGET_AVX512VL))
   21034              :         return -1;
   21035              :       return 5032; /* *floatunsv2siv2df2 */
   21036              : 
   21037              :     default:
   21038              :       return -1;
   21039              :     }
   21040              : }
   21041              : 
   21042              :  int
   21043              : recog_348 (rtx x1 ATTRIBUTE_UNUSED,
   21044              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   21045              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   21046              : {
   21047              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   21048              :   rtx x2, x3, x4, x5, x6;
   21049              :   int res ATTRIBUTE_UNUSED;
   21050              :   x2 = XEXP (x1, 0);
   21051              :   operands[0] = x2;
   21052              :   x3 = XEXP (x1, 1);
   21053              :   switch (GET_CODE (x3))
   21054              :     {
   21055              :     case AND:
   21056              :       res = recog_308 (x1, insn, pnum_clobbers);
   21057              :       if (res >= 0)
   21058              :         return res;
   21059              :       break;
   21060              : 
   21061              :     case IOR:
   21062              :       res = recog_320 (x1, insn, pnum_clobbers);
   21063              :       if (res >= 0)
   21064              :         return res;
   21065              :       break;
   21066              : 
   21067              :     case XOR:
   21068              :       res = recog_313 (x1, insn, pnum_clobbers);
   21069              :       if (res >= 0)
   21070              :         return res;
   21071              :       break;
   21072              : 
   21073              :     case NOT:
   21074              :       x4 = XEXP (x3, 0);
   21075              :       if (GET_CODE (x4) == XOR)
   21076              :         {
   21077              :           x5 = XEXP (x4, 0);
   21078              :           operands[1] = x5;
   21079              :           x6 = XEXP (x4, 1);
   21080              :           operands[2] = x6;
   21081              :           switch (GET_MODE (operands[0]))
   21082              :             {
   21083              :             case E_V16SImode:
   21084              :               if (pattern815 (x3, 
   21085              : E_V16SImode) == 0
   21086              :                   && (
   21087              : #line 19328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21088              : ((64 == 64 || TARGET_AVX512VL
   21089              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   21090              :    && (register_operand (operands[1], V16SImode)
   21091              :        || register_operand (operands[2], V16SImode))) && 
   21092              : #line 556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21093              : (TARGET_AVX512F)))
   21094              :                 return 8118; /* *xnorv16si3 */
   21095              :               break;
   21096              : 
   21097              :             case E_V8DImode:
   21098              :               if (pattern815 (x3, 
   21099              : E_V8DImode) == 0
   21100              :                   && (
   21101              : #line 19328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21102              : ((64 == 64 || TARGET_AVX512VL
   21103              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   21104              :    && (register_operand (operands[1], V8DImode)
   21105              :        || register_operand (operands[2], V8DImode))) && 
   21106              : #line 556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21107              : (TARGET_AVX512F)))
   21108              :                 return 8119; /* *xnorv8di3 */
   21109              :               break;
   21110              : 
   21111              :             case E_V64QImode:
   21112              :               if (pattern815 (x3, 
   21113              : E_V64QImode) == 0
   21114              :                   && (
   21115              : #line 19328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21116              : ((64 == 64 || TARGET_AVX512VL
   21117              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   21118              :    && (register_operand (operands[1], V64QImode)
   21119              :        || register_operand (operands[2], V64QImode))) && 
   21120              : #line 557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21121              : (TARGET_AVX512BW)))
   21122              :                 return 8120; /* *xnorv64qi3 */
   21123              :               break;
   21124              : 
   21125              :             case E_V32QImode:
   21126              :               if (pattern815 (x3, 
   21127              : E_V32QImode) == 0
   21128              :                   && (
   21129              : #line 19328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21130              : ((32 == 64 || TARGET_AVX512VL
   21131              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   21132              :    && (register_operand (operands[1], V32QImode)
   21133              :        || register_operand (operands[2], V32QImode))) && 
   21134              : #line 557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21135              : (TARGET_AVX)))
   21136              :                 return 8121; /* *xnorv32qi3 */
   21137              :               break;
   21138              : 
   21139              :             case E_V16QImode:
   21140              :               if (pattern815 (x3, 
   21141              : E_V16QImode) == 0
   21142              :                   && 
   21143              : #line 19328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21144              : ((16 == 64 || TARGET_AVX512VL
   21145              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   21146              :    && (register_operand (operands[1], V16QImode)
   21147              :        || register_operand (operands[2], V16QImode))))
   21148              :                 return 8122; /* *xnorv16qi3 */
   21149              :               break;
   21150              : 
   21151              :             case E_V32HImode:
   21152              :               if (pattern815 (x3, 
   21153              : E_V32HImode) == 0
   21154              :                   && (
   21155              : #line 19328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21156              : ((64 == 64 || TARGET_AVX512VL
   21157              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   21158              :    && (register_operand (operands[1], V32HImode)
   21159              :        || register_operand (operands[2], V32HImode))) && 
   21160              : #line 558 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21161              : (TARGET_AVX512BW)))
   21162              :                 return 8123; /* *xnorv32hi3 */
   21163              :               break;
   21164              : 
   21165              :             case E_V16HImode:
   21166              :               if (pattern815 (x3, 
   21167              : E_V16HImode) == 0
   21168              :                   && (
   21169              : #line 19328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21170              : ((32 == 64 || TARGET_AVX512VL
   21171              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   21172              :    && (register_operand (operands[1], V16HImode)
   21173              :        || register_operand (operands[2], V16HImode))) && 
   21174              : #line 558 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21175              : (TARGET_AVX)))
   21176              :                 return 8124; /* *xnorv16hi3 */
   21177              :               break;
   21178              : 
   21179              :             case E_V8HImode:
   21180              :               if (pattern815 (x3, 
   21181              : E_V8HImode) == 0
   21182              :                   && 
   21183              : #line 19328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21184              : ((16 == 64 || TARGET_AVX512VL
   21185              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   21186              :    && (register_operand (operands[1], V8HImode)
   21187              :        || register_operand (operands[2], V8HImode))))
   21188              :                 return 8125; /* *xnorv8hi3 */
   21189              :               break;
   21190              : 
   21191              :             case E_V8SImode:
   21192              :               if (pattern815 (x3, 
   21193              : E_V8SImode) == 0
   21194              :                   && (
   21195              : #line 19328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21196              : ((32 == 64 || TARGET_AVX512VL
   21197              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   21198              :    && (register_operand (operands[1], V8SImode)
   21199              :        || register_operand (operands[2], V8SImode))) && 
   21200              : #line 559 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21201              : (TARGET_AVX)))
   21202              :                 return 8126; /* *xnorv8si3 */
   21203              :               break;
   21204              : 
   21205              :             case E_V4SImode:
   21206              :               if (pattern815 (x3, 
   21207              : E_V4SImode) == 0
   21208              :                   && 
   21209              : #line 19328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21210              : ((16 == 64 || TARGET_AVX512VL
   21211              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   21212              :    && (register_operand (operands[1], V4SImode)
   21213              :        || register_operand (operands[2], V4SImode))))
   21214              :                 return 8127; /* *xnorv4si3 */
   21215              :               break;
   21216              : 
   21217              :             case E_V4DImode:
   21218              :               if (pattern815 (x3, 
   21219              : E_V4DImode) == 0
   21220              :                   && (
   21221              : #line 19328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21222              : ((32 == 64 || TARGET_AVX512VL
   21223              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   21224              :    && (register_operand (operands[1], V4DImode)
   21225              :        || register_operand (operands[2], V4DImode))) && 
   21226              : #line 560 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21227              : (TARGET_AVX)))
   21228              :                 return 8128; /* *xnorv4di3 */
   21229              :               break;
   21230              : 
   21231              :             case E_V2DImode:
   21232              :               if (pattern815 (x3, 
   21233              : E_V2DImode) == 0
   21234              :                   && 
   21235              : #line 19328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21236              : ((16 == 64 || TARGET_AVX512VL
   21237              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   21238              :    && (register_operand (operands[1], V2DImode)
   21239              :        || register_operand (operands[2], V2DImode))))
   21240              :                 return 8129; /* *xnorv2di3 */
   21241              :               break;
   21242              : 
   21243              :             default:
   21244              :               break;
   21245              :             }
   21246              :         }
   21247              :       break;
   21248              : 
   21249              :     default:
   21250              :       break;
   21251              :     }
   21252              :   operands[1] = x3;
   21253              :   switch (pattern204 ())
   21254              :     {
   21255              :     case 0:
   21256              :       if ((
   21257              : #line 14072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21258              : ((64 == 64 || TARGET_AVX512VL
   21259              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   21260              :    && ix86_pre_reload_split ()) && 
   21261              : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21262              : (TARGET_AVX512F)))
   21263              :         return 5526; /* *avx512bw_vpternlogv32hf_0 */
   21264              :       break;
   21265              : 
   21266              :     case 1:
   21267              :       if ((
   21268              : #line 14072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21269              : ((32 == 64 || TARGET_AVX512VL
   21270              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   21271              :    && ix86_pre_reload_split ()) && 
   21272              : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21273              : (TARGET_AVX)))
   21274              :         return 5527; /* *avx512vl_vpternlogv16hf_0 */
   21275              :       break;
   21276              : 
   21277              :     case 2:
   21278              :       if (
   21279              : #line 14072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21280              : ((16 == 64 || TARGET_AVX512VL
   21281              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   21282              :    && ix86_pre_reload_split ()))
   21283              :         return 5528; /* *avx512fp16_vpternlogv8hf_0 */
   21284              :       break;
   21285              : 
   21286              :     case 3:
   21287              :       if ((
   21288              : #line 14072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21289              : ((64 == 64 || TARGET_AVX512VL
   21290              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   21291              :    && ix86_pre_reload_split ()) && 
   21292              : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21293              : (TARGET_AVX512F)))
   21294              :         return 5529; /* *avx512bw_vpternlogv32bf_0 */
   21295              :       break;
   21296              : 
   21297              :     case 4:
   21298              :       if ((
   21299              : #line 14072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21300              : ((32 == 64 || TARGET_AVX512VL
   21301              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   21302              :    && ix86_pre_reload_split ()) && 
   21303              : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21304              : (TARGET_AVX)))
   21305              :         return 5530; /* *avx512vl_vpternlogv16bf_0 */
   21306              :       break;
   21307              : 
   21308              :     case 5:
   21309              :       if (
   21310              : #line 14072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21311              : ((16 == 64 || TARGET_AVX512VL
   21312              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   21313              :    && ix86_pre_reload_split ()))
   21314              :         return 5531; /* *avx512vl_vpternlogv8bf_0 */
   21315              :       break;
   21316              : 
   21317              :     case 6:
   21318              :       if ((
   21319              : #line 14072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21320              : ((64 == 64 || TARGET_AVX512VL
   21321              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   21322              :    && ix86_pre_reload_split ()) && 
   21323              : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21324              : (TARGET_AVX512F)))
   21325              :         return 5532; /* *avx512f_vpternlogv16sf_0 */
   21326              :       break;
   21327              : 
   21328              :     case 7:
   21329              :       if ((
   21330              : #line 14072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21331              : ((32 == 64 || TARGET_AVX512VL
   21332              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   21333              :    && ix86_pre_reload_split ()) && 
   21334              : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21335              : (TARGET_AVX)))
   21336              :         return 5533; /* *avx512vl_vpternlogv8sf_0 */
   21337              :       break;
   21338              : 
   21339              :     case 8:
   21340              :       if (
   21341              : #line 14072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21342              : ((16 == 64 || TARGET_AVX512VL
   21343              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   21344              :    && ix86_pre_reload_split ()))
   21345              :         return 5534; /* *avx512vl_vpternlogv4sf_0 */
   21346              :       break;
   21347              : 
   21348              :     case 9:
   21349              :       if ((
   21350              : #line 14072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21351              : ((64 == 64 || TARGET_AVX512VL
   21352              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   21353              :    && ix86_pre_reload_split ()) && 
   21354              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21355              : (TARGET_AVX512F)))
   21356              :         return 5535; /* *avx512f_vpternlogv8df_0 */
   21357              :       break;
   21358              : 
   21359              :     case 10:
   21360              :       if ((
   21361              : #line 14072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21362              : ((32 == 64 || TARGET_AVX512VL
   21363              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   21364              :    && ix86_pre_reload_split ()) && 
   21365              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21366              : (TARGET_AVX)))
   21367              :         return 5536; /* *avx512vl_vpternlogv4df_0 */
   21368              :       break;
   21369              : 
   21370              :     case 11:
   21371              :       if ((
   21372              : #line 14072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21373              : ((16 == 64 || TARGET_AVX512VL
   21374              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   21375              :    && ix86_pre_reload_split ()) && 
   21376              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21377              : (TARGET_SSE2)))
   21378              :         return 5537; /* *avx512vl_vpternlogv2df_0 */
   21379              :       break;
   21380              : 
   21381              :     default:
   21382              :       break;
   21383              :     }
   21384              :   switch (GET_CODE (x3))
   21385              :     {
   21386              :     case AND:
   21387              :       return recog_319 (x1, insn, pnum_clobbers);
   21388              : 
   21389              :     case IOR:
   21390              :       return recog_318 (x1, insn, pnum_clobbers);
   21391              : 
   21392              :     case XOR:
   21393              :       return recog_317 (x1, insn, pnum_clobbers);
   21394              : 
   21395              :     default:
   21396              :       return -1;
   21397              :     }
   21398              : }
   21399              : 
   21400              :  int
   21401              : recog_358 (rtx x1 ATTRIBUTE_UNUSED,
   21402              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   21403              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   21404              : {
   21405              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   21406              :   int res ATTRIBUTE_UNUSED;
   21407              :   switch (pattern33 (x1))
   21408              :     {
   21409              :     case 0:
   21410              :       if (!
   21411              : #line 17878 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21412              : (TARGET_SSE2 && TARGET_64BIT
   21413              :    && ix86_pre_reload_split ()))
   21414              :         return -1;
   21415              :       return 7735; /* *rotlv1ti3_internal */
   21416              : 
   21417              :     case 1:
   21418              :       if (!
   21419              : #line 17974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21420              : (TARGET_AVX512F))
   21421              :         return -1;
   21422              :       return 7771; /* avx512f_rolv16si */
   21423              : 
   21424              :     case 2:
   21425              :       if (!(
   21426              : #line 17974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21427              : (TARGET_AVX512F) && 
   21428              : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21429              : (TARGET_AVX512VL)))
   21430              :         return -1;
   21431              :       return 7775; /* avx512vl_rolv8si */
   21432              : 
   21433              :     case 3:
   21434              :       if (const_0_to_255_operand (operands[2], E_SImode)
   21435              :           && (
   21436              : #line 17974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21437              : (TARGET_AVX512F) && 
   21438              : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21439              : (TARGET_AVX512VL)))
   21440              :         return 7779; /* avx512vl_rolv4si */
   21441              :       if (!const_0_to_31_operand (operands[2], E_SImode)
   21442              :           || !
   21443              : #line 27215 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21444              : (TARGET_XOP))
   21445              :         return -1;
   21446              :       return 9089; /* xop_rotlv4si3 */
   21447              : 
   21448              :     case 4:
   21449              :       if (!
   21450              : #line 17974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21451              : (TARGET_AVX512F))
   21452              :         return -1;
   21453              :       return 7783; /* avx512f_rolv8di */
   21454              : 
   21455              :     case 5:
   21456              :       if (!(
   21457              : #line 17974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21458              : (TARGET_AVX512F) && 
   21459              : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21460              : (TARGET_AVX512VL)))
   21461              :         return -1;
   21462              :       return 7787; /* avx512vl_rolv4di */
   21463              : 
   21464              :     case 6:
   21465              :       if (const_0_to_255_operand (operands[2], E_SImode)
   21466              :           && (
   21467              : #line 17974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21468              : (TARGET_AVX512F) && 
   21469              : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21470              : (TARGET_AVX512VL)))
   21471              :         return 7791; /* avx512vl_rolv2di */
   21472              :       if (!const_0_to_63_operand (operands[2], E_SImode)
   21473              :           || !
   21474              : #line 27215 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21475              : (TARGET_XOP))
   21476              :         return -1;
   21477              :       return 9090; /* xop_rotlv2di3 */
   21478              : 
   21479              :     case 7:
   21480              :       if (!
   21481              : #line 27215 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21482              : (TARGET_XOP))
   21483              :         return -1;
   21484              :       return 9087; /* xop_rotlv16qi3 */
   21485              : 
   21486              :     case 8:
   21487              :       if (!
   21488              : #line 27215 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21489              : (TARGET_XOP))
   21490              :         return -1;
   21491              :       return 9088; /* xop_rotlv8hi3 */
   21492              : 
   21493              :     case 9:
   21494              :       if (!
   21495              : #line 17964 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21496              : (TARGET_AVX512F))
   21497              :         return -1;
   21498              :       return 7747; /* avx512f_rolvv16si */
   21499              : 
   21500              :     case 10:
   21501              :       if (!(
   21502              : #line 17964 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21503              : (TARGET_AVX512F) && 
   21504              : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21505              : (TARGET_AVX512VL)))
   21506              :         return -1;
   21507              :       return 7751; /* avx512vl_rolvv8si */
   21508              : 
   21509              :     case 11:
   21510              :       if (!(
   21511              : #line 17964 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21512              : (TARGET_AVX512F) && 
   21513              : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21514              : (TARGET_AVX512VL)))
   21515              :         return -1;
   21516              :       return 7755; /* avx512vl_rolvv4si */
   21517              : 
   21518              :     case 12:
   21519              :       if (!
   21520              : #line 17964 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21521              : (TARGET_AVX512F))
   21522              :         return -1;
   21523              :       return 7759; /* avx512f_rolvv8di */
   21524              : 
   21525              :     case 13:
   21526              :       if (!(
   21527              : #line 17964 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21528              : (TARGET_AVX512F) && 
   21529              : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21530              : (TARGET_AVX512VL)))
   21531              :         return -1;
   21532              :       return 7763; /* avx512vl_rolvv4di */
   21533              : 
   21534              :     case 14:
   21535              :       if (!(
   21536              : #line 17964 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21537              : (TARGET_AVX512F) && 
   21538              : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21539              : (TARGET_AVX512VL)))
   21540              :         return -1;
   21541              :       return 7767; /* avx512vl_rolvv2di */
   21542              : 
   21543              :     default:
   21544              :       return -1;
   21545              :     }
   21546              : }
   21547              : 
   21548              :  int
   21549              : recog_370 (rtx x1 ATTRIBUTE_UNUSED,
   21550              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   21551              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   21552              : {
   21553              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   21554              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   21555              :   int res ATTRIBUTE_UNUSED;
   21556              :   x2 = XVECEXP (x1, 0, 0);
   21557              :   x3 = XEXP (x2, 1);
   21558              :   x4 = XEXP (x3, 1);
   21559              :   if (GET_CODE (x4) != CONST_INT)
   21560              :     return -1;
   21561              :   x5 = XVECEXP (x1, 0, 1);
   21562              :   if (GET_CODE (x5) != CLOBBER)
   21563              :     return -1;
   21564              :   x6 = XEXP (x5, 0);
   21565              :   if (GET_CODE (x6) != REG
   21566              :       || REGNO (x6) != 17
   21567              :       || GET_MODE (x6) != E_CCmode)
   21568              :     return -1;
   21569              :   x7 = XEXP (x3, 0);
   21570              :   operands[1] = x7;
   21571              :   if (XWINT (x4, 0) == 1L)
   21572              :     {
   21573              :       x8 = XEXP (x2, 0);
   21574              :       if (GET_CODE (x8) == SUBREG)
   21575              :         {
   21576              :           switch (pattern1324 (x2))
   21577              :             {
   21578              :             case 0:
   21579              :               if (
   21580              : #line 19684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21581              : (TARGET_USE_BT && ix86_pre_reload_split ()))
   21582              :                 return 1466; /* *btsi_setcqi */
   21583              :               break;
   21584              : 
   21585              :             case 1:
   21586              :               if ((
   21587              : #line 19684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21588              : (TARGET_USE_BT && ix86_pre_reload_split ()) && 
   21589              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21590              : (TARGET_64BIT)))
   21591              :                 return 1467; /* *btdi_setcqi */
   21592              :               break;
   21593              : 
   21594              :             default:
   21595              :               break;
   21596              :             }
   21597              :         }
   21598              :       x9 = XEXP (x3, 2);
   21599              :       if (GET_CODE (x9) == SUBREG)
   21600              :         {
   21601              :           switch (pattern1326 (x2))
   21602              :             {
   21603              :             case 0:
   21604              :               if (
   21605              : #line 19765 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21606              : (TARGET_USE_BT
   21607              :    && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
   21608              :       == GET_MODE_BITSIZE (SImode)-1
   21609              :    && ix86_pre_reload_split ()))
   21610              :                 return 1474; /* *btsi_setcsi_mask */
   21611              :               break;
   21612              : 
   21613              :             case 1:
   21614              :               if ((
   21615              : #line 19765 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21616              : (TARGET_USE_BT
   21617              :    && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
   21618              :       == GET_MODE_BITSIZE (DImode)-1
   21619              :    && ix86_pre_reload_split ()) && 
   21620              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21621              : (TARGET_64BIT)))
   21622              :                 return 1475; /* *btdi_setcdi_mask */
   21623              :               break;
   21624              : 
   21625              :             default:
   21626              :               break;
   21627              :             }
   21628              :         }
   21629              :     }
   21630              :   x8 = XEXP (x2, 0);
   21631              :   operands[0] = x8;
   21632              :   operands[2] = x4;
   21633              :   if (!const_0_to_255_operand (operands[2], E_QImode))
   21634              :     return -1;
   21635              :   x9 = XEXP (x3, 2);
   21636              :   operands[3] = x9;
   21637              :   if (!const_0_to_255_operand (operands[3], E_QImode))
   21638              :     return -1;
   21639              :   switch (pattern408 (x3))
   21640              :     {
   21641              :     case 0:
   21642              :       if (!
   21643              : #line 22524 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21644              : (TARGET_TBM))
   21645              :         return -1;
   21646              :       return 1638; /* tbm_bextri_si */
   21647              : 
   21648              :     case 1:
   21649              :       if (!(
   21650              : #line 22524 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21651              : (TARGET_TBM) && 
   21652              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21653              : (TARGET_64BIT)))
   21654              :         return -1;
   21655              :       return 1639; /* tbm_bextri_di */
   21656              : 
   21657              :     default:
   21658              :       return -1;
   21659              :     }
   21660              : }
   21661              : 
   21662              :  int
   21663              : recog_372 (rtx x1 ATTRIBUTE_UNUSED,
   21664              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   21665              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   21666              : {
   21667              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   21668              :   rtx x2, x3, x4, x5, x6, x7;
   21669              :   int res ATTRIBUTE_UNUSED;
   21670              :   x2 = XVECEXP (x1, 0, 1);
   21671              :   x3 = XEXP (x2, 1);
   21672              :   if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   21673              :     return -1;
   21674              :   x4 = XVECEXP (x1, 0, 0);
   21675              :   x5 = XEXP (x4, 0);
   21676              :   operands[0] = x5;
   21677              :   x6 = XEXP (x4, 1);
   21678              :   x7 = XVECEXP (x6, 0, 0);
   21679              :   operands[1] = x7;
   21680              :   switch (pattern1159 (x1))
   21681              :     {
   21682              :     case 0:
   21683              :       if (!(
   21684              : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21685              : (ptr_mode == SImode) && 
   21686              : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21687              : (word_mode == SImode)))
   21688              :         return -1;
   21689              :       *pnum_clobbers = 1;
   21690              :       return 1921; /* stack_protect_set_1_si_si */
   21691              : 
   21692              :     case 1:
   21693              :       if (!(
   21694              : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21695              : (ptr_mode == SImode) && 
   21696              : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21697              : (word_mode == DImode)))
   21698              :         return -1;
   21699              :       *pnum_clobbers = 1;
   21700              :       return 1923; /* stack_protect_set_1_si_di */
   21701              : 
   21702              :     case 2:
   21703              :       if (!(
   21704              : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21705              : (ptr_mode == DImode) && 
   21706              : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21707              : (word_mode == SImode)))
   21708              :         return -1;
   21709              :       *pnum_clobbers = 1;
   21710              :       return 1922; /* stack_protect_set_1_di_si */
   21711              : 
   21712              :     case 3:
   21713              :       if (!(
   21714              : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21715              : (ptr_mode == DImode) && 
   21716              : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21717              : (word_mode == DImode)))
   21718              :         return -1;
   21719              :       *pnum_clobbers = 1;
   21720              :       return 1924; /* stack_protect_set_1_di_di */
   21721              : 
   21722              :     default:
   21723              :       return -1;
   21724              :     }
   21725              : }
   21726              : 
   21727              :  int
   21728              : recog_375 (rtx x1 ATTRIBUTE_UNUSED,
   21729              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   21730              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   21731              : {
   21732              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   21733              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   21734              :   rtx x10, x11, x12, x13, x14, x15, x16, x17;
   21735              :   rtx x18;
   21736              :   int res ATTRIBUTE_UNUSED;
   21737              :   x2 = XVECEXP (x1, 0, 0);
   21738              :   x3 = XEXP (x2, 1);
   21739              :   switch (XINT (x3, 1))
   21740              :     {
   21741              :     case 106:
   21742              :       if (GET_MODE (x3) != E_TImode)
   21743              :         return -1;
   21744              :       x4 = XVECEXP (x1, 0, 1);
   21745              :       if (GET_CODE (x4) != UNSPEC
   21746              :           || XVECLEN (x4, 0) != 1
   21747              :           || XINT (x4, 1) != 109
   21748              :           || GET_MODE (x4) != E_DImode)
   21749              :         return -1;
   21750              :       x5 = XVECEXP (x4, 0, 0);
   21751              :       if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   21752              :         return -1;
   21753              :       x6 = XEXP (x2, 0);
   21754              :       operands[0] = x6;
   21755              :       if (!push_operand (operands[0], E_TImode))
   21756              :         return -1;
   21757              :       x7 = XVECEXP (x3, 0, 0);
   21758              :       operands[1] = x7;
   21759              :       if (!register_operand (operands[1], E_DImode))
   21760              :         return -1;
   21761              :       x8 = XVECEXP (x3, 0, 1);
   21762              :       operands[2] = x8;
   21763              :       if (!register_operand (operands[2], E_DImode)
   21764              :           || !
   21765              : #line 3939 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21766              : (TARGET_APX_PUSH2POP2 && TARGET_APX_PPX))
   21767              :         return -1;
   21768              :       return 167; /* push2p_di */
   21769              : 
   21770              :     case 41:
   21771              :       x8 = XVECEXP (x3, 0, 1);
   21772              :       if (GET_CODE (x8) != CONST_INT)
   21773              :         return -1;
   21774              :       x6 = XEXP (x2, 0);
   21775              :       if (GET_CODE (x6) != REG
   21776              :           || REGNO (x6) != 17)
   21777              :         return -1;
   21778              :       x7 = XVECEXP (x3, 0, 0);
   21779              :       switch (GET_CODE (x7))
   21780              :         {
   21781              :         case REG:
   21782              :         case SUBREG:
   21783              :         case MEM:
   21784              :           operands[1] = x7;
   21785              :           if (XWINT (x8, 0) == 0L)
   21786              :             {
   21787              :               res = recog_373 (x1, insn, pnum_clobbers);
   21788              :               if (res >= 0)
   21789              :                 return res;
   21790              :             }
   21791              :           x4 = XVECEXP (x1, 0, 1);
   21792              :           if (GET_CODE (x4) != SET)
   21793              :             return -1;
   21794              :           x9 = XEXP (x4, 1);
   21795              :           if (GET_CODE (x9) != NEG
   21796              :               || GET_MODE (x6) != E_CCOmode
   21797              :               || GET_MODE (x3) != E_CCOmode)
   21798              :             return -1;
   21799              :           operands[2] = x8;
   21800              :           x10 = XEXP (x4, 0);
   21801              :           operands[0] = x10;
   21802              :           x11 = XEXP (x9, 0);
   21803              :           if (!rtx_equal_p (x11, operands[1]))
   21804              :             return -1;
   21805              :           switch (GET_MODE (operands[1]))
   21806              :             {
   21807              :             case E_QImode:
   21808              :               if (pattern1678 (x9, 
   21809              : E_QImode) != 0
   21810              :                   || !
   21811              : #line 14877 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21812              : (ix86_unary_operator_ok (NEG, QImode, operands)
   21813              :    && mode_signbit_p (QImode, operands[2])))
   21814              :                 return -1;
   21815              :               return 1023; /* *negvqi3 */
   21816              : 
   21817              :             case E_HImode:
   21818              :               if (pattern1678 (x9, 
   21819              : E_HImode) != 0
   21820              :                   || !
   21821              : #line 14877 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21822              : (ix86_unary_operator_ok (NEG, HImode, operands)
   21823              :    && mode_signbit_p (HImode, operands[2])))
   21824              :                 return -1;
   21825              :               return 1024; /* *negvhi3 */
   21826              : 
   21827              :             case E_SImode:
   21828              :               if (pattern1678 (x9, 
   21829              : E_SImode) != 0
   21830              :                   || !
   21831              : #line 14877 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21832              : (ix86_unary_operator_ok (NEG, SImode, operands)
   21833              :    && mode_signbit_p (SImode, operands[2])))
   21834              :                 return -1;
   21835              :               return 1025; /* *negvsi3 */
   21836              : 
   21837              :             case E_DImode:
   21838              :               if (pattern1678 (x9, 
   21839              : E_DImode) != 0
   21840              :                   || !(
   21841              : #line 14877 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21842              : (ix86_unary_operator_ok (NEG, DImode, operands)
   21843              :    && mode_signbit_p (DImode, operands[2])) && 
   21844              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21845              : (TARGET_64BIT)))
   21846              :                 return -1;
   21847              :               return 1026; /* *negvdi3 */
   21848              : 
   21849              :             default:
   21850              :               return -1;
   21851              :             }
   21852              : 
   21853              :         case AND:
   21854              :           x12 = XEXP (x7, 1);
   21855              :           if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
   21856              :               || XWINT (x8, 0) != 0L)
   21857              :             return -1;
   21858              :           x4 = XVECEXP (x1, 0, 1);
   21859              :           if (GET_CODE (x4) != SET
   21860              :               || GET_MODE (x6) != E_CCCmode
   21861              :               || GET_MODE (x3) != E_CCCmode)
   21862              :             return -1;
   21863              :           x13 = XEXP (x7, 0);
   21864              :           operands[1] = x13;
   21865              :           x10 = XEXP (x4, 0);
   21866              :           operands[0] = x10;
   21867              :           x9 = XEXP (x4, 1);
   21868              :           switch (GET_CODE (x9))
   21869              :             {
   21870              :             case LSHIFTRT:
   21871              :               switch (pattern1634 (x1))
   21872              :                 {
   21873              :                 case 0:
   21874              :                   return 1419; /* lshrsi3_carry */
   21875              : 
   21876              :                 case 1:
   21877              :                   if (!
   21878              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21879              : (TARGET_64BIT))
   21880              :                     return -1;
   21881              :                   return 1421; /* lshrdi3_carry */
   21882              : 
   21883              :                 default:
   21884              :                   return -1;
   21885              :                 }
   21886              : 
   21887              :             case ASHIFTRT:
   21888              :               switch (pattern1634 (x1))
   21889              :                 {
   21890              :                 case 0:
   21891              :                   return 1420; /* ashrsi3_carry */
   21892              : 
   21893              :                 case 1:
   21894              :                   if (!
   21895              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21896              : (TARGET_64BIT))
   21897              :                     return -1;
   21898              :                   return 1422; /* ashrdi3_carry */
   21899              : 
   21900              :                 default:
   21901              :                   return -1;
   21902              :                 }
   21903              : 
   21904              :             default:
   21905              :               return -1;
   21906              :             }
   21907              : 
   21908              :         default:
   21909              :           return -1;
   21910              :         }
   21911              : 
   21912              :     case 99:
   21913              :       if (pattern348 (x1) != 0)
   21914              :         return -1;
   21915              :       x7 = XVECEXP (x3, 0, 0);
   21916              :       operands[1] = x7;
   21917              :       x8 = XVECEXP (x3, 0, 1);
   21918              :       operands[2] = x8;
   21919              :       switch (GET_MODE (operands[0]))
   21920              :         {
   21921              :         case E_SImode:
   21922              :           if (pattern1430 (x3, 
   21923              : E_SImode) != 0
   21924              :               || !
   21925              : #line 22106 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21926              : (TARGET_BMI))
   21927              :             return -1;
   21928              :           return 1600; /* bmi_bextr_si */
   21929              : 
   21930              :         case E_DImode:
   21931              :           if (pattern1430 (x3, 
   21932              : E_DImode) != 0
   21933              :               || !(
   21934              : #line 22106 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21935              : (TARGET_BMI) && 
   21936              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21937              : (TARGET_64BIT)))
   21938              :             return -1;
   21939              :           return 1601; /* bmi_bextr_di */
   21940              : 
   21941              :         default:
   21942              :           return -1;
   21943              :         }
   21944              : 
   21945              :     case 67:
   21946              :       if (GET_MODE (x3) != E_XFmode)
   21947              :         return -1;
   21948              :       x4 = XVECEXP (x1, 0, 1);
   21949              :       if (GET_CODE (x4) != CLOBBER)
   21950              :         return -1;
   21951              :       x6 = XEXP (x2, 0);
   21952              :       operands[0] = x6;
   21953              :       if (!register_operand (operands[0], E_XFmode))
   21954              :         return -1;
   21955              :       x7 = XVECEXP (x3, 0, 0);
   21956              :       operands[2] = x7;
   21957              :       if (!register_operand (operands[2], E_XFmode))
   21958              :         return -1;
   21959              :       x8 = XVECEXP (x3, 0, 1);
   21960              :       operands[1] = x8;
   21961              :       if (!register_operand (operands[1], E_XFmode))
   21962              :         return -1;
   21963              :       x10 = XEXP (x4, 0);
   21964              :       operands[3] = x10;
   21965              :       if (!scratch_operand (operands[3], E_XFmode)
   21966              :           || !
   21967              : #line 24512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21968              : (TARGET_USE_FANCY_MATH_387
   21969              :    && flag_unsafe_math_optimizations))
   21970              :         return -1;
   21971              :       return 1755; /* atan2xf3 */
   21972              : 
   21973              :     case 68:
   21974              :       if (pattern554 (x1) != 0
   21975              :           || !
   21976              : #line 24815 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21977              : (TARGET_USE_FANCY_MATH_387
   21978              :    && flag_unsafe_math_optimizations))
   21979              :         return -1;
   21980              :       return 1756; /* fyl2xxf3_i387 */
   21981              : 
   21982              :     case 69:
   21983              :       if (pattern554 (x1) != 0
   21984              :           || !
   21985              : #line 24912 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21986              : (TARGET_USE_FANCY_MATH_387
   21987              :    && flag_unsafe_math_optimizations))
   21988              :         return -1;
   21989              :       return 1757; /* fyl2xp1xf3_i387 */
   21990              : 
   21991              :     case 85:
   21992              :       if (GET_MODE (x3) != E_XFmode)
   21993              :         return -1;
   21994              :       x4 = XVECEXP (x1, 0, 1);
   21995              :       if (GET_CODE (x4) != SET)
   21996              :         return -1;
   21997              :       x9 = XEXP (x4, 1);
   21998              :       if (pattern824 (x9, 
   21999              : E_XFmode, 
   22000              : 86, 
   22001              : 2, 
   22002              : UNSPEC) != 0)
   22003              :         return -1;
   22004              :       x6 = XEXP (x2, 0);
   22005              :       operands[0] = x6;
   22006              :       if (!register_operand (operands[0], E_XFmode)
   22007              :           || pattern1431 (x1) != 0
   22008              :           || !
   22009              : #line 25047 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22010              : (TARGET_USE_FANCY_MATH_387
   22011              :    && flag_unsafe_math_optimizations))
   22012              :         return -1;
   22013              :       return 1760; /* fscalexf4_i387 */
   22014              : 
   22015              :     case 94:
   22016              :       if (GET_MODE (x3) != E_CCZmode)
   22017              :         return -1;
   22018              :       x4 = XVECEXP (x1, 0, 1);
   22019              :       if (GET_CODE (x4) != CLOBBER)
   22020              :         return -1;
   22021              :       x6 = XEXP (x2, 0);
   22022              :       operands[0] = x6;
   22023              :       if (!flags_reg_operand (operands[0], E_CCZmode))
   22024              :         return -1;
   22025              :       x7 = XVECEXP (x3, 0, 0);
   22026              :       operands[1] = x7;
   22027              :       x8 = XVECEXP (x3, 0, 1);
   22028              :       operands[2] = x8;
   22029              :       x10 = XEXP (x4, 0);
   22030              :       operands[3] = x10;
   22031              :       switch (GET_MODE (operands[1]))
   22032              :         {
   22033              :         case E_SImode:
   22034              :           if (!memory_operand (operands[1], E_SImode)
   22035              :               || !memory_operand (operands[2], E_SImode)
   22036              :               || !scratch_operand (operands[3], E_SImode)
   22037              :               || !
   22038              : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22039              : (ptr_mode == SImode))
   22040              :             return -1;
   22041              :           return 1937; /* stack_protect_test_1_si */
   22042              : 
   22043              :         case E_DImode:
   22044              :           if (!memory_operand (operands[1], E_DImode)
   22045              :               || !memory_operand (operands[2], E_DImode)
   22046              :               || !scratch_operand (operands[3], E_DImode)
   22047              :               || !
   22048              : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22049              : (ptr_mode == DImode))
   22050              :             return -1;
   22051              :           return 1938; /* stack_protect_test_1_di */
   22052              : 
   22053              :         default:
   22054              :           return -1;
   22055              :         }
   22056              : 
   22057              :     case 64:
   22058              :       if (pattern555 (x1) != 0
   22059              :           || !
   22060              : #line 913 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   22061              : (TARGET_3DNOW))
   22062              :         return -1;
   22063              :       return 2114; /* mmx_ieee_maxv2sf3 */
   22064              : 
   22065              :     case 63:
   22066              :       if (pattern555 (x1) != 0
   22067              :           || !
   22068              : #line 913 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   22069              : (TARGET_3DNOW))
   22070              :         return -1;
   22071              :       return 2115; /* mmx_ieee_minv2sf3 */
   22072              : 
   22073              :     case 161:
   22074              :       x6 = XEXP (x2, 0);
   22075              :       if (GET_CODE (x6) != MEM)
   22076              :         return -1;
   22077              :       operands[5] = x6;
   22078              :       x14 = XEXP (x6, 0);
   22079              :       if (GET_CODE (x14) != UNSPEC
   22080              :           || XVECLEN (x14, 0) != 4
   22081              :           || XINT (x14, 1) != 155)
   22082              :         return -1;
   22083              :       x4 = XVECEXP (x1, 0, 1);
   22084              :       if (GET_CODE (x4) != CLOBBER)
   22085              :         return -1;
   22086              :       x15 = XVECEXP (x14, 0, 0);
   22087              :       operands[0] = x15;
   22088              :       x16 = XVECEXP (x14, 0, 1);
   22089              :       operands[2] = x16;
   22090              :       x17 = XVECEXP (x14, 0, 2);
   22091              :       operands[4] = x17;
   22092              :       if (!const1248_operand (operands[4], E_SImode))
   22093              :         return -1;
   22094              :       x18 = XVECEXP (x14, 0, 3);
   22095              :       operands[6] = x18;
   22096              :       x8 = XVECEXP (x3, 0, 1);
   22097              :       operands[3] = x8;
   22098              :       x10 = XEXP (x4, 0);
   22099              :       operands[1] = x10;
   22100              :       x7 = XVECEXP (x3, 0, 0);
   22101              :       if (!rtx_equal_p (x7, operands[6]))
   22102              :         return -1;
   22103              :       switch (GET_MODE (operands[5]))
   22104              :         {
   22105              :         case E_V16SImode:
   22106              :           if (!vsib_mem_operator (operands[5], E_V16SImode)
   22107              :               || GET_MODE (x3) != E_V16SImode)
   22108              :             return -1;
   22109              :           switch (GET_MODE (x14))
   22110              :             {
   22111              :             case E_SImode:
   22112              :               switch (pattern1794 (
   22113              : E_SImode))
   22114              :                 {
   22115              :                 case 0:
   22116              :                   if (!(
   22117              : #line 30300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22118              : (TARGET_AVX512F) && 
   22119              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22120              : (Pmode == SImode)))
   22121              :                     return -1;
   22122              :                   return 9912; /* *avx512f_scattersiv16si */
   22123              : 
   22124              :                 case 1:
   22125              :                   if (!(
   22126              : #line 30340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22127              : (TARGET_AVX512F) && 
   22128              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22129              : (Pmode == SImode)))
   22130              :                     return -1;
   22131              :                   return 9936; /* *avx512f_scatterdiv16si */
   22132              : 
   22133              :                 default:
   22134              :                   return -1;
   22135              :                 }
   22136              : 
   22137              :             case E_DImode:
   22138              :               switch (pattern1794 (
   22139              : E_DImode))
   22140              :                 {
   22141              :                 case 0:
   22142              :                   if (!(
   22143              : #line 30300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22144              : (TARGET_AVX512F) && 
   22145              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22146              : (Pmode == DImode)))
   22147              :                     return -1;
   22148              :                   return 9924; /* *avx512f_scattersiv16si */
   22149              : 
   22150              :                 case 1:
   22151              :                   if (!(
   22152              : #line 30340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22153              : (TARGET_AVX512F) && 
   22154              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22155              : (Pmode == DImode)))
   22156              :                     return -1;
   22157              :                   return 9948; /* *avx512f_scatterdiv16si */
   22158              : 
   22159              :                 default:
   22160              :                   return -1;
   22161              :                 }
   22162              : 
   22163              :             default:
   22164              :               return -1;
   22165              :             }
   22166              : 
   22167              :         case E_V16SFmode:
   22168              :           if (!vsib_mem_operator (operands[5], E_V16SFmode)
   22169              :               || GET_MODE (x3) != E_V16SFmode)
   22170              :             return -1;
   22171              :           switch (GET_MODE (x14))
   22172              :             {
   22173              :             case E_SImode:
   22174              :               switch (pattern1795 (
   22175              : E_SImode))
   22176              :                 {
   22177              :                 case 0:
   22178              :                   if (!(
   22179              : #line 30300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22180              : (TARGET_AVX512F) && 
   22181              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22182              : (Pmode == SImode)))
   22183              :                     return -1;
   22184              :                   return 9913; /* *avx512f_scattersiv16sf */
   22185              : 
   22186              :                 case 1:
   22187              :                   if (!(
   22188              : #line 30340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22189              : (TARGET_AVX512F) && 
   22190              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22191              : (Pmode == SImode)))
   22192              :                     return -1;
   22193              :                   return 9937; /* *avx512f_scatterdiv16sf */
   22194              : 
   22195              :                 default:
   22196              :                   return -1;
   22197              :                 }
   22198              : 
   22199              :             case E_DImode:
   22200              :               switch (pattern1795 (
   22201              : E_DImode))
   22202              :                 {
   22203              :                 case 0:
   22204              :                   if (!(
   22205              : #line 30300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22206              : (TARGET_AVX512F) && 
   22207              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22208              : (Pmode == DImode)))
   22209              :                     return -1;
   22210              :                   return 9925; /* *avx512f_scattersiv16sf */
   22211              : 
   22212              :                 case 1:
   22213              :                   if (!(
   22214              : #line 30340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22215              : (TARGET_AVX512F) && 
   22216              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22217              : (Pmode == DImode)))
   22218              :                     return -1;
   22219              :                   return 9949; /* *avx512f_scatterdiv16sf */
   22220              : 
   22221              :                 default:
   22222              :                   return -1;
   22223              :                 }
   22224              : 
   22225              :             default:
   22226              :               return -1;
   22227              :             }
   22228              : 
   22229              :         case E_V8DImode:
   22230              :           switch (pattern1730 (x2, 
   22231              : E_V8DImode))
   22232              :             {
   22233              :             case 0:
   22234              :               if (!(
   22235              : #line 30300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22236              : (TARGET_AVX512F) && 
   22237              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22238              : (Pmode == SImode)))
   22239              :                 return -1;
   22240              :               return 9914; /* *avx512f_scattersiv8di */
   22241              : 
   22242              :             case 1:
   22243              :               if (!(
   22244              : #line 30340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22245              : (TARGET_AVX512F) && 
   22246              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22247              : (Pmode == SImode)))
   22248              :                 return -1;
   22249              :               return 9938; /* *avx512f_scatterdiv8di */
   22250              : 
   22251              :             case 2:
   22252              :               if (!(
   22253              : #line 30300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22254              : (TARGET_AVX512F) && 
   22255              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22256              : (Pmode == DImode)))
   22257              :                 return -1;
   22258              :               return 9926; /* *avx512f_scattersiv8di */
   22259              : 
   22260              :             case 3:
   22261              :               if (!(
   22262              : #line 30340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22263              : (TARGET_AVX512F) && 
   22264              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22265              : (Pmode == DImode)))
   22266              :                 return -1;
   22267              :               return 9950; /* *avx512f_scatterdiv8di */
   22268              : 
   22269              :             default:
   22270              :               return -1;
   22271              :             }
   22272              : 
   22273              :         case E_V8DFmode:
   22274              :           switch (pattern1730 (x2, 
   22275              : E_V8DFmode))
   22276              :             {
   22277              :             case 0:
   22278              :               if (!(
   22279              : #line 30300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22280              : (TARGET_AVX512F) && 
   22281              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22282              : (Pmode == SImode)))
   22283              :                 return -1;
   22284              :               return 9915; /* *avx512f_scattersiv8df */
   22285              : 
   22286              :             case 1:
   22287              :               if (!(
   22288              : #line 30340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22289              : (TARGET_AVX512F) && 
   22290              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22291              : (Pmode == SImode)))
   22292              :                 return -1;
   22293              :               return 9939; /* *avx512f_scatterdiv8df */
   22294              : 
   22295              :             case 2:
   22296              :               if (!(
   22297              : #line 30300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22298              : (TARGET_AVX512F) && 
   22299              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22300              : (Pmode == DImode)))
   22301              :                 return -1;
   22302              :               return 9927; /* *avx512f_scattersiv8df */
   22303              : 
   22304              :             case 3:
   22305              :               if (!(
   22306              : #line 30340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22307              : (TARGET_AVX512F) && 
   22308              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22309              : (Pmode == DImode)))
   22310              :                 return -1;
   22311              :               return 9951; /* *avx512f_scatterdiv8df */
   22312              : 
   22313              :             default:
   22314              :               return -1;
   22315              :             }
   22316              : 
   22317              :         case E_V8SImode:
   22318              :           switch (pattern1731 (x2, 
   22319              : E_V8SImode))
   22320              :             {
   22321              :             case 0:
   22322              :               switch (pattern1847 (
   22323              : E_SImode))
   22324              :                 {
   22325              :                 case 0:
   22326              :                   if (!(
   22327              : #line 30300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22328              : (TARGET_AVX512F) && ((((
   22329              : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22330              : (TARGET_AVX512VL) && 
   22331              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22332              : (Pmode == SImode)) && 
   22333              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22334              : (Pmode == SImode)) && 
   22335              : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22336              : (TARGET_AVX512VL)) && 
   22337              : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22338              : (TARGET_AVX512VL))))
   22339              :                     return -1;
   22340              :                   return 9916; /* *avx512f_scattersiv8si */
   22341              : 
   22342              :                 case 1:
   22343              :                   if (!(
   22344              : #line 30340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22345              : (TARGET_AVX512F) && (((
   22346              : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22347              : (TARGET_AVX512VL) && 
   22348              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22349              : (Pmode == SImode)) && 
   22350              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22351              : (Pmode == SImode)) && 
   22352              : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22353              : (TARGET_AVX512VL))))
   22354              :                     return -1;
   22355              :                   return 9940; /* *avx512f_scatterdiv8si */
   22356              : 
   22357              :                 default:
   22358              :                   return -1;
   22359              :                 }
   22360              : 
   22361              :             case 1:
   22362              :               switch (pattern1847 (
   22363              : E_DImode))
   22364              :                 {
   22365              :                 case 0:
   22366              :                   if (!(
   22367              : #line 30300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22368              : (TARGET_AVX512F) && ((((
   22369              : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22370              : (TARGET_AVX512VL) && 
   22371              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22372              : (Pmode == DImode)) && 
   22373              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22374              : (Pmode == DImode)) && 
   22375              : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22376              : (TARGET_AVX512VL)) && 
   22377              : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22378              : (TARGET_AVX512VL))))
   22379              :                     return -1;
   22380              :                   return 9928; /* *avx512f_scattersiv8si */
   22381              : 
   22382              :                 case 1:
   22383              :                   if (!(
   22384              : #line 30340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22385              : (TARGET_AVX512F) && (((
   22386              : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22387              : (TARGET_AVX512VL) && 
   22388              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22389              : (Pmode == DImode)) && 
   22390              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22391              : (Pmode == DImode)) && 
   22392              : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22393              : (TARGET_AVX512VL))))
   22394              :                     return -1;
   22395              :                   return 9952; /* *avx512f_scatterdiv8si */
   22396              : 
   22397              :                 default:
   22398              :                   return -1;
   22399              :                 }
   22400              : 
   22401              :             default:
   22402              :               return -1;
   22403              :             }
   22404              : 
   22405              :         case E_V8SFmode:
   22406              :           switch (pattern1731 (x2, 
   22407              : E_V8SFmode))
   22408              :             {
   22409              :             case 0:
   22410              :               switch (pattern1848 (
   22411              : E_SImode))
   22412              :                 {
   22413              :                 case 0:
   22414              :                   if (!(
   22415              : #line 30300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22416              : (TARGET_AVX512F) && ((((
   22417              : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22418              : (TARGET_AVX512VL) && 
   22419              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22420              : (Pmode == SImode)) && 
   22421              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22422              : (Pmode == SImode)) && 
   22423              : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22424              : (TARGET_AVX512VL)) && 
   22425              : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22426              : (TARGET_AVX512VL))))
   22427              :                     return -1;
   22428              :                   return 9917; /* *avx512f_scattersiv8sf */
   22429              : 
   22430              :                 case 1:
   22431              :                   if (!(
   22432              : #line 30340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22433              : (TARGET_AVX512F) && (((
   22434              : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22435              : (TARGET_AVX512VL) && 
   22436              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22437              : (Pmode == SImode)) && 
   22438              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22439              : (Pmode == SImode)) && 
   22440              : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22441              : (TARGET_AVX512VL))))
   22442              :                     return -1;
   22443              :                   return 9941; /* *avx512f_scatterdiv8sf */
   22444              : 
   22445              :                 default:
   22446              :                   return -1;
   22447              :                 }
   22448              : 
   22449              :             case 1:
   22450              :               switch (pattern1848 (
   22451              : E_DImode))
   22452              :                 {
   22453              :                 case 0:
   22454              :                   if (!(
   22455              : #line 30300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22456              : (TARGET_AVX512F) && ((((
   22457              : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22458              : (TARGET_AVX512VL) && 
   22459              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22460              : (Pmode == DImode)) && 
   22461              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22462              : (Pmode == DImode)) && 
   22463              : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22464              : (TARGET_AVX512VL)) && 
   22465              : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22466              : (TARGET_AVX512VL))))
   22467              :                     return -1;
   22468              :                   return 9929; /* *avx512f_scattersiv8sf */
   22469              : 
   22470              :                 case 1:
   22471              :                   if (!(
   22472              : #line 30340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22473              : (TARGET_AVX512F) && (((
   22474              : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22475              : (TARGET_AVX512VL) && 
   22476              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22477              : (Pmode == DImode)) && 
   22478              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22479              : (Pmode == DImode)) && 
   22480              : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22481              : (TARGET_AVX512VL))))
   22482              :                     return -1;
   22483              :                   return 9953; /* *avx512f_scatterdiv8sf */
   22484              : 
   22485              :                 default:
   22486              :                   return -1;
   22487              :                 }
   22488              : 
   22489              :             default:
   22490              :               return -1;
   22491              :             }
   22492              : 
   22493              :         case E_V4DImode:
   22494              :           switch (pattern1733 (x2, 
   22495              : E_V4DImode))
   22496              :             {
   22497              :             case 0:
   22498              :               if (!(
   22499              : #line 30300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22500              : (TARGET_AVX512F) && ((((
   22501              : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22502              : (TARGET_AVX512VL) && 
   22503              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22504              : (Pmode == SImode)) && 
   22505              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22506              : (Pmode == SImode)) && 
   22507              : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22508              : (TARGET_AVX512VL)) && 
   22509              : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22510              : (TARGET_AVX512VL))))
   22511              :                 return -1;
   22512              :               return 9918; /* *avx512f_scattersiv4di */
   22513              : 
   22514              :             case 1:
   22515              :               if (!(
   22516              : #line 30340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22517              : (TARGET_AVX512F) && (((
   22518              : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22519              : (TARGET_AVX512VL) && 
   22520              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22521              : (Pmode == SImode)) && 
   22522              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22523              : (Pmode == SImode)) && 
   22524              : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22525              : (TARGET_AVX512VL))))
   22526              :                 return -1;
   22527              :               return 9942; /* *avx512f_scatterdiv4di */
   22528              : 
   22529              :             case 2:
   22530              :               if (!(
   22531              : #line 30300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22532              : (TARGET_AVX512F) && ((((
   22533              : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22534              : (TARGET_AVX512VL) && 
   22535              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22536              : (Pmode == DImode)) && 
   22537              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22538              : (Pmode == DImode)) && 
   22539              : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22540              : (TARGET_AVX512VL)) && 
   22541              : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22542              : (TARGET_AVX512VL))))
   22543              :                 return -1;
   22544              :               return 9930; /* *avx512f_scattersiv4di */
   22545              : 
   22546              :             case 3:
   22547              :               if (!(
   22548              : #line 30340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22549              : (TARGET_AVX512F) && (((
   22550              : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22551              : (TARGET_AVX512VL) && 
   22552              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22553              : (Pmode == DImode)) && 
   22554              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22555              : (Pmode == DImode)) && 
   22556              : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22557              : (TARGET_AVX512VL))))
   22558              :                 return -1;
   22559              :               return 9954; /* *avx512f_scatterdiv4di */
   22560              : 
   22561              :             default:
   22562              :               return -1;
   22563              :             }
   22564              : 
   22565              :         case E_V4DFmode:
   22566              :           switch (pattern1733 (x2, 
   22567              : E_V4DFmode))
   22568              :             {
   22569              :             case 0:
   22570              :               if (!(
   22571              : #line 30300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22572              : (TARGET_AVX512F) && ((((
   22573              : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22574              : (TARGET_AVX512VL) && 
   22575              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22576              : (Pmode == SImode)) && 
   22577              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22578              : (Pmode == SImode)) && 
   22579              : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22580              : (TARGET_AVX512VL)) && 
   22581              : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22582              : (TARGET_AVX512VL))))
   22583              :                 return -1;
   22584              :               return 9919; /* *avx512f_scattersiv4df */
   22585              : 
   22586              :             case 1:
   22587              :               if (!(
   22588              : #line 30340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22589              : (TARGET_AVX512F) && (((
   22590              : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22591              : (TARGET_AVX512VL) && 
   22592              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22593              : (Pmode == SImode)) && 
   22594              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22595              : (Pmode == SImode)) && 
   22596              : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22597              : (TARGET_AVX512VL))))
   22598              :                 return -1;
   22599              :               return 9943; /* *avx512f_scatterdiv4df */
   22600              : 
   22601              :             case 2:
   22602              :               if (!(
   22603              : #line 30300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22604              : (TARGET_AVX512F) && ((((
   22605              : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22606              : (TARGET_AVX512VL) && 
   22607              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22608              : (Pmode == DImode)) && 
   22609              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22610              : (Pmode == DImode)) && 
   22611              : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22612              : (TARGET_AVX512VL)) && 
   22613              : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22614              : (TARGET_AVX512VL))))
   22615              :                 return -1;
   22616              :               return 9931; /* *avx512f_scattersiv4df */
   22617              : 
   22618              :             case 3:
   22619              :               if (!(
   22620              : #line 30340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22621              : (TARGET_AVX512F) && (((
   22622              : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22623              : (TARGET_AVX512VL) && 
   22624              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22625              : (Pmode == DImode)) && 
   22626              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22627              : (Pmode == DImode)) && 
   22628              : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22629              : (TARGET_AVX512VL))))
   22630              :                 return -1;
   22631              :               return 9955; /* *avx512f_scatterdiv4df */
   22632              : 
   22633              :             default:
   22634              :               return -1;
   22635              :             }
   22636              : 
   22637              :         case E_V4SImode:
   22638              :           switch (pattern1735 (x2, 
   22639              : E_V4SImode))
   22640              :             {
   22641              :             case 0:
   22642              :               if (!(
   22643              : #line 30300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22644              : (TARGET_AVX512F) && ((((
   22645              : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22646              : (TARGET_AVX512VL) && 
   22647              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22648              : (Pmode == SImode)) && 
   22649              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22650              : (Pmode == SImode)) && 
   22651              : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22652              : (TARGET_AVX512VL)) && 
   22653              : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22654              : (TARGET_AVX512VL))))
   22655              :                 return -1;
   22656              :               return 9920; /* *avx512f_scattersiv4si */
   22657              : 
   22658              :             case 1:
   22659              :               if (!(
   22660              : #line 30340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22661              : (TARGET_AVX512F) && (((
   22662              : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22663              : (TARGET_AVX512VL) && 
   22664              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22665              : (Pmode == SImode)) && 
   22666              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22667              : (Pmode == SImode)) && 
   22668              : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22669              : (TARGET_AVX512VL))))
   22670              :                 return -1;
   22671              :               return 9944; /* *avx512f_scatterdiv4si */
   22672              : 
   22673              :             case 2:
   22674              :               if (!(
   22675              : #line 30300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22676              : (TARGET_AVX512F) && ((((
   22677              : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22678              : (TARGET_AVX512VL) && 
   22679              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22680              : (Pmode == DImode)) && 
   22681              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22682              : (Pmode == DImode)) && 
   22683              : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22684              : (TARGET_AVX512VL)) && 
   22685              : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22686              : (TARGET_AVX512VL))))
   22687              :                 return -1;
   22688              :               return 9932; /* *avx512f_scattersiv4si */
   22689              : 
   22690              :             case 3:
   22691              :               if (!(
   22692              : #line 30340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22693              : (TARGET_AVX512F) && (((
   22694              : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22695              : (TARGET_AVX512VL) && 
   22696              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22697              : (Pmode == DImode)) && 
   22698              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22699              : (Pmode == DImode)) && 
   22700              : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22701              : (TARGET_AVX512VL))))
   22702              :                 return -1;
   22703              :               return 9956; /* *avx512f_scatterdiv4si */
   22704              : 
   22705              :             default:
   22706              :               return -1;
   22707              :             }
   22708              : 
   22709              :         case E_V4SFmode:
   22710              :           switch (pattern1735 (x2, 
   22711              : E_V4SFmode))
   22712              :             {
   22713              :             case 0:
   22714              :               if (!(
   22715              : #line 30300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22716              : (TARGET_AVX512F) && ((((
   22717              : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22718              : (TARGET_AVX512VL) && 
   22719              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22720              : (Pmode == SImode)) && 
   22721              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22722              : (Pmode == SImode)) && 
   22723              : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22724              : (TARGET_AVX512VL)) && 
   22725              : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22726              : (TARGET_AVX512VL))))
   22727              :                 return -1;
   22728              :               return 9921; /* *avx512f_scattersiv4sf */
   22729              : 
   22730              :             case 1:
   22731              :               if (!(
   22732              : #line 30340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22733              : (TARGET_AVX512F) && (((
   22734              : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22735              : (TARGET_AVX512VL) && 
   22736              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22737              : (Pmode == SImode)) && 
   22738              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22739              : (Pmode == SImode)) && 
   22740              : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22741              : (TARGET_AVX512VL))))
   22742              :                 return -1;
   22743              :               return 9945; /* *avx512f_scatterdiv4sf */
   22744              : 
   22745              :             case 2:
   22746              :               if (!(
   22747              : #line 30300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22748              : (TARGET_AVX512F) && ((((
   22749              : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22750              : (TARGET_AVX512VL) && 
   22751              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22752              : (Pmode == DImode)) && 
   22753              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22754              : (Pmode == DImode)) && 
   22755              : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22756              : (TARGET_AVX512VL)) && 
   22757              : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22758              : (TARGET_AVX512VL))))
   22759              :                 return -1;
   22760              :               return 9933; /* *avx512f_scattersiv4sf */
   22761              : 
   22762              :             case 3:
   22763              :               if (!(
   22764              : #line 30340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22765              : (TARGET_AVX512F) && (((
   22766              : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22767              : (TARGET_AVX512VL) && 
   22768              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22769              : (Pmode == DImode)) && 
   22770              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22771              : (Pmode == DImode)) && 
   22772              : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22773              : (TARGET_AVX512VL))))
   22774              :                 return -1;
   22775              :               return 9957; /* *avx512f_scatterdiv4sf */
   22776              : 
   22777              :             default:
   22778              :               return -1;
   22779              :             }
   22780              : 
   22781              :         case E_V2DImode:
   22782              :           switch (pattern1735 (x2, 
   22783              : E_V2DImode))
   22784              :             {
   22785              :             case 0:
   22786              :               if (!(
   22787              : #line 30300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22788              : (TARGET_AVX512F) && ((((
   22789              : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22790              : (TARGET_AVX512VL) && 
   22791              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22792              : (Pmode == SImode)) && 
   22793              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22794              : (Pmode == SImode)) && 
   22795              : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22796              : (TARGET_AVX512VL)) && 
   22797              : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22798              : (TARGET_AVX512VL))))
   22799              :                 return -1;
   22800              :               return 9922; /* *avx512f_scattersiv2di */
   22801              : 
   22802              :             case 1:
   22803              :               if (!(
   22804              : #line 30340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22805              : (TARGET_AVX512F) && (((
   22806              : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22807              : (TARGET_AVX512VL) && 
   22808              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22809              : (Pmode == SImode)) && 
   22810              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22811              : (Pmode == SImode)) && 
   22812              : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22813              : (TARGET_AVX512VL))))
   22814              :                 return -1;
   22815              :               return 9946; /* *avx512f_scatterdiv2di */
   22816              : 
   22817              :             case 2:
   22818              :               if (!(
   22819              : #line 30300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22820              : (TARGET_AVX512F) && ((((
   22821              : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22822              : (TARGET_AVX512VL) && 
   22823              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22824              : (Pmode == DImode)) && 
   22825              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22826              : (Pmode == DImode)) && 
   22827              : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22828              : (TARGET_AVX512VL)) && 
   22829              : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22830              : (TARGET_AVX512VL))))
   22831              :                 return -1;
   22832              :               return 9934; /* *avx512f_scattersiv2di */
   22833              : 
   22834              :             case 3:
   22835              :               if (!(
   22836              : #line 30340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22837              : (TARGET_AVX512F) && (((
   22838              : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22839              : (TARGET_AVX512VL) && 
   22840              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22841              : (Pmode == DImode)) && 
   22842              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22843              : (Pmode == DImode)) && 
   22844              : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22845              : (TARGET_AVX512VL))))
   22846              :                 return -1;
   22847              :               return 9958; /* *avx512f_scatterdiv2di */
   22848              : 
   22849              :             default:
   22850              :               return -1;
   22851              :             }
   22852              : 
   22853              :         case E_V2DFmode:
   22854              :           switch (pattern1735 (x2, 
   22855              : E_V2DFmode))
   22856              :             {
   22857              :             case 0:
   22858              :               if (!(
   22859              : #line 30300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22860              : (TARGET_AVX512F) && ((((
   22861              : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22862              : (TARGET_AVX512VL) && 
   22863              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22864              : (Pmode == SImode)) && 
   22865              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22866              : (Pmode == SImode)) && 
   22867              : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22868              : (TARGET_AVX512VL)) && 
   22869              : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22870              : (TARGET_AVX512VL))))
   22871              :                 return -1;
   22872              :               return 9923; /* *avx512f_scattersiv2df */
   22873              : 
   22874              :             case 1:
   22875              :               if (!(
   22876              : #line 30340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22877              : (TARGET_AVX512F) && (((
   22878              : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22879              : (TARGET_AVX512VL) && 
   22880              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22881              : (Pmode == SImode)) && 
   22882              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22883              : (Pmode == SImode)) && 
   22884              : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22885              : (TARGET_AVX512VL))))
   22886              :                 return -1;
   22887              :               return 9947; /* *avx512f_scatterdiv2df */
   22888              : 
   22889              :             case 2:
   22890              :               if (!(
   22891              : #line 30300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22892              : (TARGET_AVX512F) && ((((
   22893              : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22894              : (TARGET_AVX512VL) && 
   22895              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22896              : (Pmode == DImode)) && 
   22897              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22898              : (Pmode == DImode)) && 
   22899              : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22900              : (TARGET_AVX512VL)) && 
   22901              : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22902              : (TARGET_AVX512VL))))
   22903              :                 return -1;
   22904              :               return 9935; /* *avx512f_scattersiv2df */
   22905              : 
   22906              :             case 3:
   22907              :               if (!(
   22908              : #line 30340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22909              : (TARGET_AVX512F) && (((
   22910              : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22911              : (TARGET_AVX512VL) && 
   22912              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22913              : (Pmode == DImode)) && 
   22914              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22915              : (Pmode == DImode)) && 
   22916              : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22917              : (TARGET_AVX512VL))))
   22918              :                 return -1;
   22919              :               return 9959; /* *avx512f_scatterdiv2df */
   22920              : 
   22921              :             default:
   22922              :               return -1;
   22923              :             }
   22924              : 
   22925              :         default:
   22926              :           return -1;
   22927              :         }
   22928              : 
   22929              :     default:
   22930              :       return -1;
   22931              :     }
   22932              : }
   22933              : 
   22934              :  int
   22935              : recog_405 (rtx x1 ATTRIBUTE_UNUSED,
   22936              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   22937              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   22938              : {
   22939              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   22940              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   22941              :   rtx x10, x11, x12, x13, x14, x15, x16, x17;
   22942              :   rtx x18, x19;
   22943              :   int res ATTRIBUTE_UNUSED;
   22944              :   x2 = XVECEXP (x1, 0, 0);
   22945              :   x3 = XEXP (x2, 1);
   22946              :   x4 = XEXP (x3, 0);
   22947              :   switch (GET_CODE (x4))
   22948              :     {
   22949              :     case NE:
   22950              :     case EQ:
   22951              :       if (bt_comparison_operator (x4, E_VOIDmode))
   22952              :         {
   22953              :           res = recog_404 (x1, insn, pnum_clobbers);
   22954              :           if (res >= 0)
   22955              :             return res;
   22956              :         }
   22957              :       if (GET_CODE (x4) != NE)
   22958              :         return -1;
   22959              :       x5 = XEXP (x4, 1);
   22960              :       if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   22961              :         return -1;
   22962              :       x6 = XEXP (x4, 0);
   22963              :       switch (GET_CODE (x6))
   22964              :         {
   22965              :         case REG:
   22966              :         case SUBREG:
   22967              :           operands[2] = x6;
   22968              :           if (!register_operand (operands[2], E_QImode))
   22969              :             return -1;
   22970              :           x7 = XEXP (x3, 1);
   22971              :           if (GET_CODE (x7) != ZERO_EXTRACT)
   22972              :             return -1;
   22973              :           x8 = XEXP (x7, 1);
   22974              :           if (GET_CODE (x8) != UMIN
   22975              :               || GET_MODE (x8) != E_QImode)
   22976              :             return -1;
   22977              :           x9 = XEXP (x7, 2);
   22978              :           if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   22979              :             return -1;
   22980              :           x10 = XEXP (x3, 2);
   22981              :           if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
   22982              :               || pattern344 (x1) != 0
   22983              :               || GET_MODE (x4) != E_QImode)
   22984              :             return -1;
   22985              :           x11 = XEXP (x7, 0);
   22986              :           operands[1] = x11;
   22987              :           x12 = XEXP (x8, 1);
   22988              :           operands[3] = x12;
   22989              :           if (!const_int_operand (operands[3], E_QImode))
   22990              :             return -1;
   22991              :           x13 = XEXP (x8, 0);
   22992              :           if (!rtx_equal_p (x13, operands[2]))
   22993              :             return -1;
   22994              :           switch (GET_MODE (operands[0]))
   22995              :             {
   22996              :             case E_SImode:
   22997              :               if (pattern1441 (x3, 
   22998              : E_SImode) != 0
   22999              :                   || !
   23000              : #line 22408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23001              : (TARGET_BMI2 && INTVAL (operands[3]) == 4 * BITS_PER_UNIT))
   23002              :                 return -1;
   23003              :               return 1624; /* *bmi2_bzhi_si3 */
   23004              : 
   23005              :             case E_DImode:
   23006              :               if (pattern1441 (x3, 
   23007              : E_DImode) != 0
   23008              :                   || !(
   23009              : #line 22408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23010              : (TARGET_BMI2 && INTVAL (operands[3]) == 8 * BITS_PER_UNIT) && 
   23011              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23012              : (TARGET_64BIT)))
   23013              :                 return -1;
   23014              :               return 1625; /* *bmi2_bzhi_di3 */
   23015              : 
   23016              :             default:
   23017              :               return -1;
   23018              :             }
   23019              : 
   23020              :         case UNSPEC:
   23021              :           if (XVECLEN (x6, 0) != 1
   23022              :               || XINT (x6, 1) != 36)
   23023              :             return -1;
   23024              :           x14 = XVECEXP (x6, 0, 0);
   23025              :           if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   23026              :             return -1;
   23027              :           x7 = XEXP (x3, 1);
   23028              :           if (GET_CODE (x7) != LABEL_REF)
   23029              :             return -1;
   23030              :           x10 = XEXP (x3, 2);
   23031              :           if (GET_CODE (x10) != PC)
   23032              :             return -1;
   23033              :           x15 = XEXP (x2, 0);
   23034              :           if (GET_CODE (x15) != PC)
   23035              :             return -1;
   23036              :           x16 = XVECEXP (x1, 0, 1);
   23037              :           if (GET_CODE (x16) != SET)
   23038              :             return -1;
   23039              :           x17 = XEXP (x16, 1);
   23040              :           if (pattern824 (x17, 
   23041              : E_SImode, 
   23042              : 46, 
   23043              : 1, 
   23044              : UNSPEC_VOLATILE) != 0)
   23045              :             return -1;
   23046              :           x11 = XEXP (x7, 0);
   23047              :           operands[1] = x11;
   23048              :           x18 = XEXP (x16, 0);
   23049              :           operands[0] = x18;
   23050              :           if (!register_operand (operands[0], E_SImode))
   23051              :             return -1;
   23052              :           x19 = XVECEXP (x17, 0, 0);
   23053              :           if (!rtx_equal_p (x19, operands[0])
   23054              :               || !
   23055              : #line 30339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23056              : (TARGET_RTM))
   23057              :             return -1;
   23058              :           return 2023; /* xbegin_1 */
   23059              : 
   23060              :         default:
   23061              :           return -1;
   23062              :         }
   23063              : 
   23064              :     case LTU:
   23065              :     case UNLT:
   23066              :       operands[1] = x4;
   23067              :       if (!ix86_carry_flag_operator (operands[1], E_VOIDmode))
   23068              :         return -1;
   23069              :       x6 = XEXP (x4, 0);
   23070              :       if (GET_CODE (x6) != REG
   23071              :           || REGNO (x6) != 17)
   23072              :         return -1;
   23073              :       x5 = XEXP (x4, 1);
   23074              :       if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   23075              :         return -1;
   23076              :       x7 = XEXP (x3, 1);
   23077              :       if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + -1])
   23078              :         return -1;
   23079              :       x10 = XEXP (x3, 2);
   23080              :       if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
   23081              :           || pattern344 (x1) != 0)
   23082              :         return -1;
   23083              :       switch (pattern1579 (x3))
   23084              :         {
   23085              :         case 0:
   23086              :           return 1829; /* *x86_movsicc_0_m1 */
   23087              : 
   23088              :         case 1:
   23089              :           if (!
   23090              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23091              : (TARGET_64BIT))
   23092              :             return -1;
   23093              :           return 1830; /* *x86_movdicc_0_m1 */
   23094              : 
   23095              :         default:
   23096              :           return -1;
   23097              :         }
   23098              : 
   23099              :     default:
   23100              :       return -1;
   23101              :     }
   23102              : }
   23103              : 
   23104              :  int
   23105              : recog_410 (rtx x1 ATTRIBUTE_UNUSED,
   23106              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   23107              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   23108              : {
   23109              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   23110              :   rtx x2, x3, x4, x5;
   23111              :   int res ATTRIBUTE_UNUSED;
   23112              :   switch (pattern561 (x1))
   23113              :     {
   23114              :     case 0:
   23115              :       x2 = XVECEXP (x1, 0, 1);
   23116              :       x3 = XEXP (x2, 0);
   23117              :       if (GET_CODE (x3) != REG
   23118              :           || REGNO (x3) != 17
   23119              :           || GET_MODE (x3) != E_CCmode)
   23120              :         return -1;
   23121              :       switch (GET_MODE (operands[0]))
   23122              :         {
   23123              :         case E_DImode:
   23124              :           if (!nonimmediate_operand (operands[0], E_DImode))
   23125              :             return -1;
   23126              :           x4 = XVECEXP (x1, 0, 0);
   23127              :           x5 = XEXP (x4, 1);
   23128              :           if (GET_MODE (x5) != E_DImode
   23129              :               || !nonimmediate_operand (operands[1], E_DImode))
   23130              :             return -1;
   23131              :           if (x86_64_hilo_general_operand (operands[2], E_DImode)
   23132              :               && (
   23133              : #line 12843 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23134              : (ix86_binary_operator_ok (AND, DImode, operands, TARGET_APX_NDD)) && 
   23135              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23136              : (!TARGET_64BIT)))
   23137              :             return 731; /* *anddi3_doubleword */
   23138              :           if (x86_64_szext_general_operand (operands[2], E_DImode)
   23139              :               && 
   23140              : #line 12885 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23141              : (TARGET_64BIT
   23142              :    && ix86_binary_operator_ok (AND, DImode, operands, TARGET_APX_NDD)
   23143              :    && true))
   23144              :             return 734; /* *anddi_1 */
   23145              :           if (!const_int_operand (operands[2], E_DImode)
   23146              :               || !
   23147              : #line 12918 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23148              : (TARGET_64BIT && TARGET_USE_BT
   23149              :    && ix86_binary_operator_ok (AND, DImode, operands)
   23150              :    && IN_RANGE (exact_log2 (~INTVAL (operands[2])), 31, 63)))
   23151              :             return -1;
   23152              :           return 735; /* *anddi_1_btr */
   23153              : 
   23154              :         case E_TImode:
   23155              :           x4 = XVECEXP (x1, 0, 0);
   23156              :           x5 = XEXP (x4, 1);
   23157              :           if (pattern566 (x5, 
   23158              : E_TImode) != 0
   23159              :               || !(
   23160              : #line 12843 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23161              : (ix86_binary_operator_ok (AND, TImode, operands, TARGET_APX_NDD)) && 
   23162              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23163              : (TARGET_64BIT)))
   23164              :             return -1;
   23165              :           return 732; /* *andti3_doubleword */
   23166              : 
   23167              :         case E_HImode:
   23168              :           x4 = XVECEXP (x1, 0, 0);
   23169              :           x5 = XEXP (x4, 1);
   23170              :           if (pattern567 (x5, 
   23171              : E_HImode) != 0
   23172              :               || !
   23173              : #line 13013 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23174              : (ix86_binary_operator_ok (AND, HImode, operands, TARGET_APX_NDD)
   23175              :    && true))
   23176              :             return -1;
   23177              :           return 748; /* *andhi_1 */
   23178              : 
   23179              :         case E_SImode:
   23180              :           x4 = XVECEXP (x1, 0, 0);
   23181              :           x5 = XEXP (x4, 1);
   23182              :           if (pattern568 (x5) != 0
   23183              :               || !
   23184              : #line 13013 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23185              : (ix86_binary_operator_ok (AND, SImode, operands, TARGET_APX_NDD)
   23186              :    && true))
   23187              :             return -1;
   23188              :           return 750; /* *andsi_1 */
   23189              : 
   23190              :         case E_QImode:
   23191              :           x4 = XVECEXP (x1, 0, 0);
   23192              :           x5 = XEXP (x4, 1);
   23193              :           if (pattern567 (x5, 
   23194              : E_QImode) != 0
   23195              :               || !
   23196              : #line 13051 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23197              : (ix86_binary_operator_ok (AND, QImode, operands, TARGET_APX_NDD)
   23198              :    && true))
   23199              :             return -1;
   23200              :           return 752; /* *andqi_1 */
   23201              : 
   23202              :         case E_V4QImode:
   23203              :           x4 = XVECEXP (x1, 0, 0);
   23204              :           x5 = XEXP (x4, 1);
   23205              :           if (pattern569 (x5, 
   23206              : E_V4QImode) != 0
   23207              :               || !
   23208              : #line 4741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   23209              : (ix86_binary_operator_ok (AND, V4QImode, operands)))
   23210              :             return -1;
   23211              :           return 2340; /* *andv4qi3 */
   23212              : 
   23213              :         case E_V2QImode:
   23214              :           x4 = XVECEXP (x1, 0, 0);
   23215              :           x5 = XEXP (x4, 1);
   23216              :           if (pattern569 (x5, 
   23217              : E_V2QImode) != 0
   23218              :               || !
   23219              : #line 4741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   23220              : (ix86_binary_operator_ok (AND, V2QImode, operands)))
   23221              :             return -1;
   23222              :           return 2343; /* *andv2qi3 */
   23223              : 
   23224              :         case E_V2HImode:
   23225              :           x4 = XVECEXP (x1, 0, 0);
   23226              :           x5 = XEXP (x4, 1);
   23227              :           if (pattern569 (x5, 
   23228              : E_V2HImode) != 0
   23229              :               || !
   23230              : #line 4741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   23231              : (ix86_binary_operator_ok (AND, V2HImode, operands)))
   23232              :             return -1;
   23233              :           return 2346; /* *andv2hi3 */
   23234              : 
   23235              :         default:
   23236              :           return -1;
   23237              :         }
   23238              : 
   23239              :     case 1:
   23240              :       switch (pattern571 (x1))
   23241              :         {
   23242              :         case 0:
   23243              :           if (!
   23244              : #line 2117 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23245              : (TARGET_AVX512F))
   23246              :             return -1;
   23247              :           return 2635; /* kandqi */
   23248              : 
   23249              :         case 1:
   23250              :           if (!
   23251              : #line 2117 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23252              : (TARGET_AVX512F))
   23253              :             return -1;
   23254              :           return 2638; /* kandhi */
   23255              : 
   23256              :         case 2:
   23257              :           if (!(
   23258              : #line 2117 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23259              : (TARGET_AVX512F) && 
   23260              : #line 2098 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23261              : (TARGET_AVX512BW)))
   23262              :             return -1;
   23263              :           return 2641; /* kandsi */
   23264              : 
   23265              :         case 3:
   23266              :           if (!(
   23267              : #line 2117 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23268              : (TARGET_AVX512F) && 
   23269              : #line 2098 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23270              : (TARGET_AVX512BW)))
   23271              :             return -1;
   23272              :           return 2644; /* kanddi */
   23273              : 
   23274              :         default:
   23275              :           return -1;
   23276              :         }
   23277              : 
   23278              :     case 2:
   23279              :       if (!
   23280              : #line 13083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23281              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
   23282              :         return -1;
   23283              :       return 753; /* *andqi_1_slp */
   23284              : 
   23285              :     case 3:
   23286              :       if (!
   23287              : #line 13083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23288              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
   23289              :         return -1;
   23290              :       return 756; /* *andhi_1_slp */
   23291              : 
   23292              :     default:
   23293              :       return -1;
   23294              :     }
   23295              : }
   23296              : 
   23297              :  int
   23298              : recog_416 (rtx x1 ATTRIBUTE_UNUSED,
   23299              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   23300              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   23301              : {
   23302              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   23303              :   rtx x2, x3, x4, x5, x6;
   23304              :   int res ATTRIBUTE_UNUSED;
   23305              :   x2 = XVECEXP (x1, 0, 0);
   23306              :   x3 = XEXP (x2, 1);
   23307              :   x4 = XEXP (x3, 0);
   23308              :   switch (GET_CODE (x4))
   23309              :     {
   23310              :     case REG:
   23311              :     case SUBREG:
   23312              :     case MEM:
   23313              :       switch (pattern378 (x1))
   23314              :         {
   23315              :         case 0:
   23316              :           x5 = XVECEXP (x1, 0, 1);
   23317              :           x6 = XEXP (x5, 0);
   23318              :           if (GET_CODE (x6) != REG
   23319              :               || REGNO (x6) != 17
   23320              :               || GET_MODE (x6) != E_CCmode)
   23321              :             return -1;
   23322              :           switch (GET_MODE (operands[0]))
   23323              :             {
   23324              :             case E_DImode:
   23325              :               if (!nonimmediate_operand (operands[0], E_DImode)
   23326              :                   || GET_MODE (x3) != E_DImode
   23327              :                   || !nonimmediate_operand (operands[1], E_DImode))
   23328              :                 return -1;
   23329              :               if ((
   23330              : #line 14573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23331              : (ix86_unary_operator_ok (NEG, DImode, operands, TARGET_APX_NDD)) && 
   23332              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23333              : (!TARGET_64BIT)))
   23334              :                 return 984; /* *negdi2_doubleword */
   23335              :               if (!(
   23336              : #line 14682 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23337              : (ix86_unary_operator_ok (NEG, DImode, operands, TARGET_APX_NDD)
   23338              :    && true) && 
   23339              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23340              : (TARGET_64BIT)))
   23341              :                 return -1;
   23342              :               return 993; /* *negdi_1 */
   23343              : 
   23344              :             case E_TImode:
   23345              :               if (!nonimmediate_operand (operands[0], E_TImode)
   23346              :                   || GET_MODE (x3) != E_TImode
   23347              :                   || !nonimmediate_operand (operands[1], E_TImode)
   23348              :                   || !(
   23349              : #line 14573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23350              : (ix86_unary_operator_ok (NEG, TImode, operands, TARGET_APX_NDD)) && 
   23351              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23352              : (TARGET_64BIT)))
   23353              :                 return -1;
   23354              :               return 985; /* *negti2_doubleword */
   23355              : 
   23356              :             case E_QImode:
   23357              :               if (!nonimmediate_operand (operands[0], E_QImode)
   23358              :                   || GET_MODE (x3) != E_QImode
   23359              :                   || !nonimmediate_operand (operands[1], E_QImode)
   23360              :                   || !
   23361              : #line 14682 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23362              : (ix86_unary_operator_ok (NEG, QImode, operands, TARGET_APX_NDD)
   23363              :    && true))
   23364              :                 return -1;
   23365              :               return 987; /* *negqi_1 */
   23366              : 
   23367              :             case E_HImode:
   23368              :               if (!nonimmediate_operand (operands[0], E_HImode)
   23369              :                   || GET_MODE (x3) != E_HImode
   23370              :                   || !nonimmediate_operand (operands[1], E_HImode)
   23371              :                   || !
   23372              : #line 14682 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23373              : (ix86_unary_operator_ok (NEG, HImode, operands, TARGET_APX_NDD)
   23374              :    && true))
   23375              :                 return -1;
   23376              :               return 989; /* *neghi_1 */
   23377              : 
   23378              :             case E_SImode:
   23379              :               if (!nonimmediate_operand (operands[0], E_SImode)
   23380              :                   || GET_MODE (x3) != E_SImode
   23381              :                   || !nonimmediate_operand (operands[1], E_SImode)
   23382              :                   || !
   23383              : #line 14682 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23384              : (ix86_unary_operator_ok (NEG, SImode, operands, TARGET_APX_NDD)
   23385              :    && true))
   23386              :                 return -1;
   23387              :               return 991; /* *negsi_1 */
   23388              : 
   23389              :             case E_SFmode:
   23390              :               if (!register_operand (operands[0], E_SFmode)
   23391              :                   || GET_MODE (x3) != E_SFmode
   23392              :                   || !register_operand (operands[1], E_SFmode)
   23393              :                   || !
   23394              : #line 15155 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23395              : (TARGET_80387 && !(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)))
   23396              :                 return -1;
   23397              :               return 1043; /* *negsf2_i387_1 */
   23398              : 
   23399              :             case E_DFmode:
   23400              :               if (!register_operand (operands[0], E_DFmode)
   23401              :                   || GET_MODE (x3) != E_DFmode
   23402              :                   || !register_operand (operands[1], E_DFmode)
   23403              :                   || !
   23404              : #line 15155 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23405              : (TARGET_80387 && !(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)))
   23406              :                 return -1;
   23407              :               return 1045; /* *negdf2_i387_1 */
   23408              : 
   23409              :             case E_XFmode:
   23410              :               if (!register_operand (operands[0], E_XFmode)
   23411              :                   || GET_MODE (x3) != E_XFmode
   23412              :                   || !register_operand (operands[1], E_XFmode)
   23413              :                   || !
   23414              : #line 15155 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23415              : (TARGET_80387 && !(SSE_FLOAT_MODE_P (XFmode) && TARGET_SSE_MATH)))
   23416              :                 return -1;
   23417              :               return 1047; /* *negxf2_i387_1 */
   23418              : 
   23419              :             case E_V2QImode:
   23420              :               if (!register_operand (operands[0], E_V2QImode)
   23421              :                   || GET_MODE (x3) != E_V2QImode
   23422              :                   || !register_operand (operands[1], E_V2QImode)
   23423              :                   || !
   23424              : #line 3162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   23425              : (!TARGET_PARTIAL_REG_STALL || optimize_size || TARGET_SSE2))
   23426              :                 return -1;
   23427              :               return 2180; /* negv2qi2 */
   23428              : 
   23429              :             default:
   23430              :               return -1;
   23431              :             }
   23432              : 
   23433              :         case 1:
   23434              :           switch (pattern709 (x1, pnum_clobbers))
   23435              :             {
   23436              :             case 0:
   23437              :               if (!
   23438              : #line 15093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23439              : (TARGET_SSE))
   23440              :                 return -1;
   23441              :               return 1040; /* *negtf2_1 */
   23442              : 
   23443              :             case 1:
   23444              :               if (!
   23445              : #line 15179 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23446              : (TARGET_AVX512FP16))
   23447              :                 return -1;
   23448              :               *pnum_clobbers = 1;
   23449              :               return 1049; /* *neghf2_1 */
   23450              : 
   23451              :             case 2:
   23452              :               if (!
   23453              : #line 15195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23454              : (TARGET_80387 || (SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)))
   23455              :                 return -1;
   23456              :               *pnum_clobbers = 1;
   23457              :               return 1051; /* *negsf2_1 */
   23458              : 
   23459              :             case 3:
   23460              :               if (!
   23461              : #line 15195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23462              : (TARGET_80387 || (SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)))
   23463              :                 return -1;
   23464              :               *pnum_clobbers = 1;
   23465              :               return 1053; /* *negdf2_1 */
   23466              : 
   23467              :             case 4:
   23468              :               if (!
   23469              : #line 706 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   23470              : (TARGET_MMX_WITH_SSE))
   23471              :                 return -1;
   23472              :               return 2107; /* *mmx_negv2sf2 */
   23473              : 
   23474              :             case 5:
   23475              :               if (!
   23476              : #line 2263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   23477              : (TARGET_SSE))
   23478              :                 return -1;
   23479              :               return 2153; /* *mmx_negv2bf */
   23480              : 
   23481              :             case 6:
   23482              :               if (!(
   23483              : #line 2263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   23484              : (TARGET_SSE) && 
   23485              : #line 2248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   23486              : (TARGET_MMX_WITH_SSE)))
   23487              :                 return -1;
   23488              :               return 2155; /* *mmx_negv4bf */
   23489              : 
   23490              :             case 7:
   23491              :               if (!
   23492              : #line 2263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   23493              : (TARGET_SSE))
   23494              :                 return -1;
   23495              :               return 2157; /* *mmx_negv2hf */
   23496              : 
   23497              :             case 8:
   23498              :               if (!(
   23499              : #line 2263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   23500              : (TARGET_SSE) && 
   23501              : #line 2249 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   23502              : (TARGET_MMX_WITH_SSE)))
   23503              :                 return -1;
   23504              :               return 2159; /* *mmx_negv4hf */
   23505              : 
   23506              :             case 9:
   23507              :               if (!(
   23508              : #line 2609 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23509              : (TARGET_SSE) && 
   23510              : #line 415 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23511              : (TARGET_AVX512F)))
   23512              :                 return -1;
   23513              :               return 2717; /* *negv32bf2 */
   23514              : 
   23515              :             case 10:
   23516              :               if (!(
   23517              : #line 2609 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23518              : (TARGET_SSE) && 
   23519              : #line 416 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23520              : (TARGET_AVX)))
   23521              :                 return -1;
   23522              :               return 2719; /* *negv16bf2 */
   23523              : 
   23524              :             case 11:
   23525              :               if (!(
   23526              : #line 2609 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23527              : (TARGET_SSE) && 
   23528              : #line 416 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23529              : (TARGET_SSE2)))
   23530              :                 return -1;
   23531              :               return 2721; /* *negv8bf2 */
   23532              : 
   23533              :             case 12:
   23534              :               if (!(
   23535              : #line 2609 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23536              : (TARGET_SSE) && 
   23537              : #line 417 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23538              : (TARGET_AVX512F)))
   23539              :                 return -1;
   23540              :               return 2723; /* *negv32hf2 */
   23541              : 
   23542              :             case 13:
   23543              :               if (!(
   23544              : #line 2609 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23545              : (TARGET_SSE) && 
   23546              : #line 418 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23547              : (TARGET_AVX)))
   23548              :                 return -1;
   23549              :               return 2725; /* *negv16hf2 */
   23550              : 
   23551              :             case 14:
   23552              :               if (!(
   23553              : #line 2609 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23554              : (TARGET_SSE) && 
   23555              : #line 418 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23556              : (TARGET_SSE2)))
   23557              :                 return -1;
   23558              :               return 2727; /* *negv8hf2 */
   23559              : 
   23560              :             case 15:
   23561              :               if (!(
   23562              : #line 2609 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23563              : (TARGET_SSE) && 
   23564              : #line 419 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23565              : (TARGET_AVX512F)))
   23566              :                 return -1;
   23567              :               return 2729; /* *negv16sf2 */
   23568              : 
   23569              :             case 16:
   23570              :               if (!(
   23571              : #line 2609 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23572              : (TARGET_SSE) && 
   23573              : #line 419 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23574              : (TARGET_AVX)))
   23575              :                 return -1;
   23576              :               return 2731; /* *negv8sf2 */
   23577              : 
   23578              :             case 17:
   23579              :               if (!
   23580              : #line 2609 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23581              : (TARGET_SSE))
   23582              :                 return -1;
   23583              :               return 2733; /* *negv4sf2 */
   23584              : 
   23585              :             case 18:
   23586              :               if (!(
   23587              : #line 2609 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23588              : (TARGET_SSE) && 
   23589              : #line 420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23590              : (TARGET_AVX512F)))
   23591              :                 return -1;
   23592              :               return 2735; /* *negv8df2 */
   23593              : 
   23594              :             case 19:
   23595              :               if (!(
   23596              : #line 2609 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23597              : (TARGET_SSE) && 
   23598              : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23599              : (TARGET_AVX)))
   23600              :                 return -1;
   23601              :               return 2737; /* *negv4df2 */
   23602              : 
   23603              :             case 20:
   23604              :               if (!(
   23605              : #line 2609 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23606              : (TARGET_SSE) && 
   23607              : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23608              : (TARGET_SSE2)))
   23609              :                 return -1;
   23610              :               return 2739; /* *negv2df2 */
   23611              : 
   23612              :             default:
   23613              :               return -1;
   23614              :             }
   23615              : 
   23616              :         case 2:
   23617              :           if (!
   23618              : #line 14731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23619              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
   23620              :             return -1;
   23621              :           return 1005; /* *negqi_1_slp */
   23622              : 
   23623              :         case 3:
   23624              :           if (!
   23625              : #line 14731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23626              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
   23627              :             return -1;
   23628              :           return 1006; /* *neghi_1_slp */
   23629              : 
   23630              :         default:
   23631              :           return -1;
   23632              :         }
   23633              : 
   23634              :     case ABS:
   23635              :       switch (pattern380 (x1))
   23636              :         {
   23637              :         case 0:
   23638              :           if ((
   23639              : #line 14989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23640              : (TARGET_CMOVE
   23641              :    && ix86_pre_reload_split ()) && 
   23642              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23643              : (!TARGET_64BIT)))
   23644              :             return 1029; /* *nabsdi2_doubleword */
   23645              :           if (!(
   23646              : #line 15060 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23647              : (TARGET_CMOVE
   23648              :    && (DImode != QImode || !TARGET_PARTIAL_REG_STALL)
   23649              :    && ix86_pre_reload_split ()) && 
   23650              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23651              : (TARGET_64BIT)))
   23652              :             return -1;
   23653              :           return 1038; /* *nabsdi2_1 */
   23654              : 
   23655              :         case 1:
   23656              :           if (!(
   23657              : #line 14989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23658              : (TARGET_CMOVE
   23659              :    && ix86_pre_reload_split ()) && 
   23660              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23661              : (TARGET_64BIT)))
   23662              :             return -1;
   23663              :           return 1030; /* *nabsti2_doubleword */
   23664              : 
   23665              :         case 2:
   23666              :           if (!
   23667              : #line 15060 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23668              : (TARGET_CMOVE
   23669              :    && (QImode != QImode || !TARGET_PARTIAL_REG_STALL)
   23670              :    && ix86_pre_reload_split ()))
   23671              :             return -1;
   23672              :           return 1035; /* *nabsqi2_1 */
   23673              : 
   23674              :         case 3:
   23675              :           if (!
   23676              : #line 15060 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23677              : (TARGET_CMOVE
   23678              :    && (HImode != QImode || !TARGET_PARTIAL_REG_STALL)
   23679              :    && ix86_pre_reload_split ()))
   23680              :             return -1;
   23681              :           return 1036; /* *nabshi2_1 */
   23682              : 
   23683              :         case 4:
   23684              :           if (!
   23685              : #line 15060 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23686              : (TARGET_CMOVE
   23687              :    && (SImode != QImode || !TARGET_PARTIAL_REG_STALL)
   23688              :    && ix86_pre_reload_split ()))
   23689              :             return -1;
   23690              :           return 1037; /* *nabssi2_1 */
   23691              : 
   23692              :         case 5:
   23693              :           switch (GET_MODE (operands[0]))
   23694              :             {
   23695              :             case E_TFmode:
   23696              :               if (pattern1061 (x3, 
   23697              : E_TFmode) != 0
   23698              :                   || !
   23699              : #line 15118 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23700              : (TARGET_SSE))
   23701              :                 return -1;
   23702              :               return 1041; /* *nabstf2_1 */
   23703              : 
   23704              :             case E_SFmode:
   23705              :               if (pattern1062 (x3, 
   23706              : E_V4SFmode, 
   23707              : E_SFmode) != 0
   23708              :                   || !
   23709              : #line 15254 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23710              : (SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH))
   23711              :                 return -1;
   23712              :               return 1054; /* *nabssf2_1 */
   23713              : 
   23714              :             case E_DFmode:
   23715              :               if (pattern1062 (x3, 
   23716              : E_V2DFmode, 
   23717              : E_DFmode) != 0
   23718              :                   || !
   23719              : #line 15254 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23720              : (SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH))
   23721              :                 return -1;
   23722              :               return 1055; /* *nabsdf2_1 */
   23723              : 
   23724              :             case E_V2SFmode:
   23725              :               if (pattern1063 (x3) != 0
   23726              :                   || !
   23727              : #line 723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   23728              : (TARGET_MMX_WITH_SSE))
   23729              :                 return -1;
   23730              :               return 2108; /* *mmx_nabsv2sf2 */
   23731              : 
   23732              :             case E_V2BFmode:
   23733              :               if (pattern1064 (x3, 
   23734              : E_V2BFmode) != 0
   23735              :                   || !
   23736              : #line 2280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   23737              : (TARGET_SSE))
   23738              :                 return -1;
   23739              :               return 2160; /* *mmx_nabsv2bf2 */
   23740              : 
   23741              :             case E_V4BFmode:
   23742              :               if (pattern1064 (x3, 
   23743              : E_V4BFmode) != 0
   23744              :                   || !(
   23745              : #line 2280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   23746              : (TARGET_SSE) && 
   23747              : #line 2248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   23748              : (TARGET_MMX_WITH_SSE)))
   23749              :                 return -1;
   23750              :               return 2161; /* *mmx_nabsv4bf2 */
   23751              : 
   23752              :             case E_V2HFmode:
   23753              :               if (pattern1064 (x3, 
   23754              : E_V2HFmode) != 0
   23755              :                   || !
   23756              : #line 2280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   23757              : (TARGET_SSE))
   23758              :                 return -1;
   23759              :               return 2162; /* *mmx_nabsv2hf2 */
   23760              : 
   23761              :             case E_V4HFmode:
   23762              :               if (pattern1064 (x3, 
   23763              : E_V4HFmode) != 0
   23764              :                   || !(
   23765              : #line 2280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   23766              : (TARGET_SSE) && 
   23767              : #line 2249 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   23768              : (TARGET_MMX_WITH_SSE)))
   23769              :                 return -1;
   23770              :               return 2163; /* *mmx_nabsv4hf2 */
   23771              : 
   23772              :             case E_V16SFmode:
   23773              :               if (pattern1061 (x3, 
   23774              : E_V16SFmode) != 0
   23775              :                   || !(
   23776              : #line 2634 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23777              : (TARGET_SSE) && 
   23778              : #line 382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23779              : (TARGET_AVX512F)))
   23780              :                 return -1;
   23781              :               return 2740; /* *nabsv16sf2 */
   23782              : 
   23783              :             case E_V8SFmode:
   23784              :               if (pattern1061 (x3, 
   23785              : E_V8SFmode) != 0
   23786              :                   || !(
   23787              : #line 2634 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23788              : (TARGET_SSE) && 
   23789              : #line 382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23790              : (TARGET_AVX)))
   23791              :                 return -1;
   23792              :               return 2741; /* *nabsv8sf2 */
   23793              : 
   23794              :             case E_V4SFmode:
   23795              :               if (pattern1061 (x3, 
   23796              : E_V4SFmode) != 0
   23797              :                   || !
   23798              : #line 2634 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23799              : (TARGET_SSE))
   23800              :                 return -1;
   23801              :               return 2742; /* *nabsv4sf2 */
   23802              : 
   23803              :             case E_V8DFmode:
   23804              :               if (pattern1061 (x3, 
   23805              : E_V8DFmode) != 0
   23806              :                   || !(
   23807              : #line 2634 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23808              : (TARGET_SSE) && 
   23809              : #line 383 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23810              : (TARGET_AVX512F)))
   23811              :                 return -1;
   23812              :               return 2743; /* *nabsv8df2 */
   23813              : 
   23814              :             case E_V4DFmode:
   23815              :               if (pattern1061 (x3, 
   23816              : E_V4DFmode) != 0
   23817              :                   || !(
   23818              : #line 2634 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23819              : (TARGET_SSE) && 
   23820              : #line 383 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23821              : (TARGET_AVX)))
   23822              :                 return -1;
   23823              :               return 2744; /* *nabsv4df2 */
   23824              : 
   23825              :             case E_V2DFmode:
   23826              :               if (pattern1061 (x3, 
   23827              : E_V2DFmode) != 0
   23828              :                   || !(
   23829              : #line 2634 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23830              : (TARGET_SSE) && 
   23831              : #line 384 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23832              : (TARGET_SSE2)))
   23833              :                 return -1;
   23834              :               return 2745; /* *nabsv2df2 */
   23835              : 
   23836              :             default:
   23837              :               return -1;
   23838              :             }
   23839              : 
   23840              :         default:
   23841              :           return -1;
   23842              :         }
   23843              : 
   23844              :     case LTU:
   23845              :     case UNLT:
   23846              :       operands[1] = x4;
   23847              :       if (pattern575 (operands[1]) != 0
   23848              :           || pattern344 (x1) != 0)
   23849              :         return -1;
   23850              :       switch (GET_MODE (operands[0]))
   23851              :         {
   23852              :         case E_QImode:
   23853              :           if (!register_operand (operands[0], E_QImode)
   23854              :               || GET_MODE (x3) != E_QImode)
   23855              :             return -1;
   23856              :           return 1833; /* *x86_movqicc_0_m1_neg */
   23857              : 
   23858              :         case E_HImode:
   23859              :           if (!register_operand (operands[0], E_HImode)
   23860              :               || GET_MODE (x3) != E_HImode)
   23861              :             return -1;
   23862              :           return 1834; /* *x86_movhicc_0_m1_neg */
   23863              : 
   23864              :         case E_SImode:
   23865              :           if (!register_operand (operands[0], E_SImode)
   23866              :               || GET_MODE (x3) != E_SImode)
   23867              :             return -1;
   23868              :           return 1835; /* *x86_movsicc_0_m1_neg */
   23869              : 
   23870              :         case E_DImode:
   23871              :           if (!register_operand (operands[0], E_DImode)
   23872              :               || GET_MODE (x3) != E_DImode
   23873              :               || !
   23874              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23875              : (TARGET_64BIT))
   23876              :             return -1;
   23877              :           return 1836; /* *x86_movdicc_0_m1_neg */
   23878              : 
   23879              :         default:
   23880              :           return -1;
   23881              :         }
   23882              : 
   23883              :     default:
   23884              :       return -1;
   23885              :     }
   23886              : }
   23887              : 
   23888              :  int
   23889              : recog_434 (rtx x1 ATTRIBUTE_UNUSED,
   23890              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   23891              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   23892              : {
   23893              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   23894              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   23895              :   rtx x10, x11, x12, x13, x14, x15, x16;
   23896              :   int res ATTRIBUTE_UNUSED;
   23897              :   x2 = XVECEXP (x1, 0, 0);
   23898              :   x3 = XEXP (x2, 1);
   23899              :   x4 = XEXP (x3, 0);
   23900              :   if (GET_CODE (x4) != MEM
   23901              :       || GET_MODE (x4) != E_QImode)
   23902              :     return -1;
   23903              :   x5 = XEXP (x2, 0);
   23904              :   operands[0] = x5;
   23905              :   x6 = XEXP (x4, 0);
   23906              :   switch (GET_CODE (x6))
   23907              :     {
   23908              :     case SUBREG:
   23909              :     case MEM:
   23910              :       operands[1] = x6;
   23911              :       if (!memory_operand (operands[1], E_SImode)
   23912              :           || pattern386 (x1) != 0)
   23913              :         return -1;
   23914              :       x7 = XEXP (x3, 1);
   23915              :       operands[2] = x7;
   23916              :       x8 = XVECEXP (x1, 0, 1);
   23917              :       x9 = XEXP (x8, 1);
   23918              :       x10 = XEXP (x9, 1);
   23919              :       operands[3] = x10;
   23920              :       if (!immediate_operand (operands[3], E_SImode)
   23921              :           || !
   23922              : #line 20827 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23923              : (!TARGET_64BIT && !TARGET_INDIRECT_BRANCH_REGISTER))
   23924              :         return -1;
   23925              :       return 1517; /* *sibcall_value_pop_memory */
   23926              : 
   23927              :     case SYMBOL_REF:
   23928              :       if (!constant_call_address_operand (x6, E_VOIDmode))
   23929              :         return -1;
   23930              :       x8 = XVECEXP (x1, 0, 1);
   23931              :       if (GET_CODE (x8) != UNSPEC)
   23932              :         return -1;
   23933              :       x11 = XVECEXP (x1, 0, 2);
   23934              :       if (GET_CODE (x11) != CLOBBER)
   23935              :         return -1;
   23936              :       switch (pattern1180 (x8))
   23937              :         {
   23938              :         case 0:
   23939              :           operands[2] = x6;
   23940              :           x7 = XEXP (x3, 1);
   23941              :           operands[3] = x7;
   23942              :           x12 = XVECEXP (x8, 0, 0);
   23943              :           operands[1] = x12;
   23944              :           if (!tls_symbolic_operand (operands[1], E_VOIDmode))
   23945              :             return -1;
   23946              :           x13 = XEXP (x11, 0);
   23947              :           operands[4] = x13;
   23948              :           switch (GET_MODE (operands[0]))
   23949              :             {
   23950              :             case E_SImode:
   23951              :               if (pattern1750 (x1, 
   23952              : E_SImode) != 0
   23953              :                   || !(
   23954              : #line 23349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23955              : (TARGET_64BIT) && 
   23956              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23957              : (Pmode == SImode)))
   23958              :                 return -1;
   23959              :               return 1684; /* *tls_global_dynamic_64_si */
   23960              : 
   23961              :             case E_DImode:
   23962              :               if (pattern1750 (x1, 
   23963              : E_DImode) != 0
   23964              :                   || !(
   23965              : #line 23349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23966              : (TARGET_64BIT) && 
   23967              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23968              : (Pmode == DImode)))
   23969              :                 return -1;
   23970              :               return 1685; /* *tls_global_dynamic_64_di */
   23971              : 
   23972              :             default:
   23973              :               return -1;
   23974              :             }
   23975              : 
   23976              :         case 1:
   23977              :           operands[1] = x6;
   23978              :           x7 = XEXP (x3, 1);
   23979              :           operands[2] = x7;
   23980              :           x13 = XEXP (x11, 0);
   23981              :           operands[3] = x13;
   23982              :           switch (GET_MODE (operands[0]))
   23983              :             {
   23984              :             case E_SImode:
   23985              :               if (pattern1679 (x1, 
   23986              : E_SImode) != 0
   23987              :                   || !(
   23988              : #line 23472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23989              : (TARGET_64BIT) && 
   23990              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23991              : (Pmode == SImode)))
   23992              :                 return -1;
   23993              :               return 1688; /* *tls_local_dynamic_base_64_si */
   23994              : 
   23995              :             case E_DImode:
   23996              :               if (pattern1679 (x1, 
   23997              : E_DImode) != 0
   23998              :                   || !(
   23999              : #line 23472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24000              : (TARGET_64BIT) && 
   24001              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24002              : (Pmode == DImode)))
   24003              :                 return -1;
   24004              :               return 1689; /* *tls_local_dynamic_base_64_di */
   24005              : 
   24006              :             default:
   24007              :               return -1;
   24008              :             }
   24009              : 
   24010              :         default:
   24011              :           return -1;
   24012              :         }
   24013              : 
   24014              :     case PLUS:
   24015              :       if (GET_MODE (x6) != E_DImode)
   24016              :         return -1;
   24017              :       x8 = XVECEXP (x1, 0, 1);
   24018              :       if (GET_CODE (x8) != UNSPEC)
   24019              :         return -1;
   24020              :       x11 = XVECEXP (x1, 0, 2);
   24021              :       if (GET_CODE (x11) != CLOBBER
   24022              :           || !register_operand (operands[0], E_DImode)
   24023              :           || GET_MODE (x3) != E_DImode)
   24024              :         return -1;
   24025              :       x14 = XEXP (x6, 0);
   24026              :       if (!register_operand (x14, E_DImode))
   24027              :         return -1;
   24028              :       x15 = XEXP (x6, 1);
   24029              :       if (!immediate_operand (x15, E_DImode)
   24030              :           || GET_MODE (x8) != E_DImode)
   24031              :         return -1;
   24032              :       x13 = XEXP (x11, 0);
   24033              :       if (!register_operand (x13, E_DImode))
   24034              :         return -1;
   24035              :       switch (pattern1180 (x8))
   24036              :         {
   24037              :         case 0:
   24038              :           x16 = XVECEXP (x8, 0, 1);
   24039              :           if (GET_MODE (x16) != E_DImode)
   24040              :             return -1;
   24041              :           operands[2] = x14;
   24042              :           operands[3] = x15;
   24043              :           x7 = XEXP (x3, 1);
   24044              :           operands[4] = x7;
   24045              :           x12 = XVECEXP (x8, 0, 0);
   24046              :           operands[1] = x12;
   24047              :           if (!tls_symbolic_operand (operands[1], E_VOIDmode))
   24048              :             return -1;
   24049              :           operands[5] = x13;
   24050              :           if (!
   24051              : #line 23392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24052              : (TARGET_64BIT && ix86_cmodel == CM_LARGE_PIC && !TARGET_PECOFF
   24053              :    && GET_CODE (operands[3]) == CONST
   24054              :    && GET_CODE (XEXP (operands[3], 0)) == UNSPEC
   24055              :    && XINT (XEXP (operands[3], 0), 1) == UNSPEC_PLTOFF))
   24056              :             return -1;
   24057              :           return 1686; /* *tls_global_dynamic_64_largepic */
   24058              : 
   24059              :         case 1:
   24060              :           x12 = XVECEXP (x8, 0, 0);
   24061              :           if (GET_MODE (x12) != E_DImode)
   24062              :             return -1;
   24063              :           operands[1] = x14;
   24064              :           operands[2] = x15;
   24065              :           x7 = XEXP (x3, 1);
   24066              :           operands[3] = x7;
   24067              :           operands[4] = x13;
   24068              :           if (!
   24069              : #line 23494 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24070              : (TARGET_64BIT && ix86_cmodel == CM_LARGE_PIC && !TARGET_PECOFF
   24071              :    && GET_CODE (operands[2]) == CONST
   24072              :    && GET_CODE (XEXP (operands[2], 0)) == UNSPEC
   24073              :    && XINT (XEXP (operands[2], 0), 1) == UNSPEC_PLTOFF))
   24074              :             return -1;
   24075              :           return 1690; /* *tls_local_dynamic_base_64_largepic */
   24076              : 
   24077              :         default:
   24078              :           return -1;
   24079              :         }
   24080              : 
   24081              :     default:
   24082              :       return -1;
   24083              :     }
   24084              : }
   24085              : 
   24086              :  int
   24087              : recog_439 (rtx x1 ATTRIBUTE_UNUSED,
   24088              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   24089              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   24090              : {
   24091              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   24092              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   24093              :   rtx x10, x11, x12, x13, x14, x15, x16;
   24094              :   int res ATTRIBUTE_UNUSED;
   24095              :   x2 = XVECEXP (x1, 0, 0);
   24096              :   if (GET_CODE (x2) != SET)
   24097              :     return -1;
   24098              :   x3 = XVECEXP (x1, 0, 3);
   24099              :   if (GET_CODE (x3) != CLOBBER)
   24100              :     return -1;
   24101              :   x4 = XEXP (x2, 1);
   24102              :   switch (GET_CODE (x4))
   24103              :     {
   24104              :     case UNSIGNED_FIX:
   24105              :       switch (pattern388 (x1))
   24106              :         {
   24107              :         case 0:
   24108              :           if (!
   24109              : #line 5920 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24110              : (!TARGET_64BIT && TARGET_SSE2 && TARGET_SSE_MATH
   24111              :    && optimize_function_for_speed_p (cfun)))
   24112              :             return -1;
   24113              :           return 227; /* *fixuns_truncsf_1 */
   24114              : 
   24115              :         case 1:
   24116              :           if (!
   24117              : #line 5920 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24118              : (!TARGET_64BIT && TARGET_SSE2 && TARGET_SSE_MATH
   24119              :    && optimize_function_for_speed_p (cfun)))
   24120              :             return -1;
   24121              :           return 228; /* *fixuns_truncdf_1 */
   24122              : 
   24123              :         default:
   24124              :           return -1;
   24125              :         }
   24126              : 
   24127              :     case FIX:
   24128              :       if (GET_MODE (x4) != E_DImode)
   24129              :         return -1;
   24130              :       x5 = XVECEXP (x1, 0, 1);
   24131              :       if (GET_CODE (x5) != USE)
   24132              :         return -1;
   24133              :       x6 = XVECEXP (x1, 0, 2);
   24134              :       if (GET_CODE (x6) != USE)
   24135              :         return -1;
   24136              :       x7 = XEXP (x2, 0);
   24137              :       operands[0] = x7;
   24138              :       if (!nonimmediate_operand (operands[0], E_DImode))
   24139              :         return -1;
   24140              :       x8 = XEXP (x4, 0);
   24141              :       operands[1] = x8;
   24142              :       if (!register_operand (operands[1], E_VOIDmode))
   24143              :         return -1;
   24144              :       x9 = XEXP (x5, 0);
   24145              :       operands[2] = x9;
   24146              :       if (!memory_operand (operands[2], E_HImode))
   24147              :         return -1;
   24148              :       x10 = XEXP (x6, 0);
   24149              :       operands[3] = x10;
   24150              :       if (!memory_operand (operands[3], E_HImode))
   24151              :         return -1;
   24152              :       x11 = XEXP (x3, 0);
   24153              :       operands[4] = x11;
   24154              :       if (!scratch_operand (operands[4], E_XFmode)
   24155              :           || !
   24156              : #line 6030 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24157              : (X87_FLOAT_MODE_P (GET_MODE (operands[1]))
   24158              :    && !TARGET_FISTTP
   24159              :    && !(TARGET_64BIT && SSE_FLOAT_MODE_P (GET_MODE (operands[1])))))
   24160              :         return -1;
   24161              :       return 239; /* fix_truncdi_i387 */
   24162              : 
   24163              :     case FLOAT:
   24164              :       switch (pattern390 (x1))
   24165              :         {
   24166              :         case 0:
   24167              :           if (!
   24168              : #line 6215 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24169              : (!TARGET_64BIT && TARGET_INTER_UNIT_MOVES_TO_VEC
   24170              :    && TARGET_80387 && X87_ENABLE_FLOAT (SFmode, DImode)
   24171              :    && TARGET_SSE2 && optimize_function_for_speed_p (cfun)))
   24172              :             return -1;
   24173              :           return 258; /* floatdisf2_i387_with_xmm */
   24174              : 
   24175              :         case 1:
   24176              :           if (!
   24177              : #line 6215 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24178              : (!TARGET_64BIT && TARGET_INTER_UNIT_MOVES_TO_VEC
   24179              :    && TARGET_80387 && X87_ENABLE_FLOAT (DFmode, DImode)
   24180              :    && TARGET_SSE2 && optimize_function_for_speed_p (cfun)))
   24181              :             return -1;
   24182              :           return 259; /* floatdidf2_i387_with_xmm */
   24183              : 
   24184              :         case 2:
   24185              :           if (!
   24186              : #line 6215 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24187              : (!TARGET_64BIT && TARGET_INTER_UNIT_MOVES_TO_VEC
   24188              :    && TARGET_80387 && X87_ENABLE_FLOAT (XFmode, DImode)
   24189              :    && TARGET_SSE2 && optimize_function_for_speed_p (cfun)))
   24190              :             return -1;
   24191              :           return 260; /* floatdixf2_i387_with_xmm */
   24192              : 
   24193              :         default:
   24194              :           return -1;
   24195              :         }
   24196              : 
   24197              :     case DIV:
   24198              :       switch (pattern395 (x1, 
   24199              : MOD))
   24200              :         {
   24201              :         case 0:
   24202              :           return 667; /* divmodsi4_1 */
   24203              : 
   24204              :         case 1:
   24205              :           if (!
   24206              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24207              : (TARGET_64BIT))
   24208              :             return -1;
   24209              :           return 668; /* divmoddi4_1 */
   24210              : 
   24211              :         case 2:
   24212              :           if (!
   24213              : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24214              : (TARGET_HIMODE_MATH))
   24215              :             return -1;
   24216              :           return 695; /* *divmodhi4_noext */
   24217              : 
   24218              :         case 3:
   24219              :           return 697; /* *divmodsi4_noext */
   24220              : 
   24221              :         case 4:
   24222              :           if (!
   24223              : #line 1193 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24224              : (TARGET_64BIT))
   24225              :             return -1;
   24226              :           return 699; /* *divmoddi4_noext */
   24227              : 
   24228              :         default:
   24229              :           return -1;
   24230              :         }
   24231              : 
   24232              :     case UDIV:
   24233              :       switch (pattern395 (x1, 
   24234              : UMOD))
   24235              :         {
   24236              :         case 0:
   24237              :           return 669; /* udivmodsi4_1 */
   24238              : 
   24239              :         case 1:
   24240              :           if (!
   24241              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24242              : (TARGET_64BIT))
   24243              :             return -1;
   24244              :           return 670; /* udivmoddi4_1 */
   24245              : 
   24246              :         case 2:
   24247              :           if (!
   24248              : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24249              : (TARGET_HIMODE_MATH))
   24250              :             return -1;
   24251              :           return 696; /* *udivmodhi4_noext */
   24252              : 
   24253              :         case 3:
   24254              :           return 698; /* *udivmodsi4_noext */
   24255              : 
   24256              :         case 4:
   24257              :           if (!
   24258              : #line 1193 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24259              : (TARGET_64BIT))
   24260              :             return -1;
   24261              :           return 700; /* *udivmoddi4_noext */
   24262              : 
   24263              :         default:
   24264              :           return -1;
   24265              :         }
   24266              : 
   24267              :     case ZERO_EXTEND:
   24268              :       if (GET_MODE (x4) != E_DImode)
   24269              :         return -1;
   24270              :       x5 = XVECEXP (x1, 0, 1);
   24271              :       if (GET_CODE (x5) != SET)
   24272              :         return -1;
   24273              :       x11 = XEXP (x3, 0);
   24274              :       if (GET_CODE (x11) != REG
   24275              :           || REGNO (x11) != 17
   24276              :           || GET_MODE (x11) != E_CCmode)
   24277              :         return -1;
   24278              :       switch (pattern1065 (x1))
   24279              :         {
   24280              :         case 0:
   24281              :           switch (pattern1510 (x1, 
   24282              : MOD))
   24283              :             {
   24284              :             case 0:
   24285              :               if (!
   24286              : #line 11828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24287              : (TARGET_64BIT))
   24288              :                 return -1;
   24289              :               return 671; /* divmodsi4_zext_1 */
   24290              : 
   24291              :             case 1:
   24292              :               if (!
   24293              : #line 12223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24294              : (TARGET_64BIT))
   24295              :                 return -1;
   24296              :               return 701; /* *divmodsi4_noext_zext_1 */
   24297              : 
   24298              :             default:
   24299              :               return -1;
   24300              :             }
   24301              : 
   24302              :         case 1:
   24303              :           switch (pattern1510 (x1, 
   24304              : UMOD))
   24305              :             {
   24306              :             case 0:
   24307              :               if (!
   24308              : #line 11864 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24309              : (TARGET_64BIT))
   24310              :                 return -1;
   24311              :               return 672; /* udivmodsi4_zext_1 */
   24312              : 
   24313              :             case 1:
   24314              :               if (!
   24315              : #line 12223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24316              : (TARGET_64BIT))
   24317              :                 return -1;
   24318              :               return 702; /* *udivmodsi4_noext_zext_1 */
   24319              : 
   24320              :             default:
   24321              :               return -1;
   24322              :             }
   24323              : 
   24324              :         case 2:
   24325              :           switch (pattern1511 (x1, 
   24326              : DIV))
   24327              :             {
   24328              :             case 0:
   24329              :               if (!
   24330              : #line 11887 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24331              : (TARGET_64BIT))
   24332              :                 return -1;
   24333              :               return 673; /* divmodsi4_zext_2 */
   24334              : 
   24335              :             case 1:
   24336              :               if (!
   24337              : #line 12237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24338              : (TARGET_64BIT))
   24339              :                 return -1;
   24340              :               return 703; /* *divmodsi4_noext_zext_2 */
   24341              : 
   24342              :             default:
   24343              :               return -1;
   24344              :             }
   24345              : 
   24346              :         case 3:
   24347              :           switch (pattern1511 (x1, 
   24348              : UDIV))
   24349              :             {
   24350              :             case 0:
   24351              :               if (!
   24352              : #line 11924 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24353              : (TARGET_64BIT))
   24354              :                 return -1;
   24355              :               return 674; /* udivmodsi4_zext_2 */
   24356              : 
   24357              :             case 1:
   24358              :               if (!
   24359              : #line 12237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24360              : (TARGET_64BIT))
   24361              :                 return -1;
   24362              :               return 704; /* *udivmodsi4_noext_zext_2 */
   24363              : 
   24364              :             default:
   24365              :               return -1;
   24366              :             }
   24367              : 
   24368              :         default:
   24369              :           return -1;
   24370              :         }
   24371              : 
   24372              :     case UNSPEC:
   24373              :       x7 = XEXP (x2, 0);
   24374              :       operands[0] = x7;
   24375              :       switch (XVECLEN (x4, 0))
   24376              :         {
   24377              :         case 4:
   24378              :           if (XINT (x4, 1) != 21
   24379              :               || pattern825 (x4) != 0
   24380              :               || pattern1260 (x1) != 0
   24381              :               || !tls_symbolic_operand (operands[2], E_VOIDmode))
   24382              :             return -1;
   24383              :           x12 = XVECEXP (x4, 0, 2);
   24384              :           operands[3] = x12;
   24385              :           if (!constant_call_address_operand (operands[3], E_VOIDmode))
   24386              :             return -1;
   24387              :           x5 = XVECEXP (x1, 0, 1);
   24388              :           x9 = XEXP (x5, 0);
   24389              :           operands[4] = x9;
   24390              :           if (!scratch_operand (operands[4], E_SImode))
   24391              :             return -1;
   24392              :           x6 = XVECEXP (x1, 0, 2);
   24393              :           x10 = XEXP (x6, 0);
   24394              :           operands[5] = x10;
   24395              :           if (!scratch_operand (operands[5], E_SImode)
   24396              :               || !
   24397              : #line 23305 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24398              : (!TARGET_64BIT && TARGET_GNU_TLS))
   24399              :             return -1;
   24400              :           return 1683; /* *tls_global_dynamic_32_gnu */
   24401              : 
   24402              :         case 3:
   24403              :           if (XINT (x4, 1) != 22
   24404              :               || GET_MODE (x4) != E_SImode)
   24405              :             return -1;
   24406              :           x12 = XVECEXP (x4, 0, 2);
   24407              :           if (GET_CODE (x12) != REG
   24408              :               || REGNO (x12) != 7
   24409              :               || GET_MODE (x12) != E_SImode
   24410              :               || pattern1260 (x1) != 0
   24411              :               || !constant_call_address_operand (operands[2], E_VOIDmode))
   24412              :             return -1;
   24413              :           x5 = XVECEXP (x1, 0, 1);
   24414              :           x9 = XEXP (x5, 0);
   24415              :           operands[3] = x9;
   24416              :           if (!scratch_operand (operands[3], E_SImode))
   24417              :             return -1;
   24418              :           x6 = XVECEXP (x1, 0, 2);
   24419              :           x10 = XEXP (x6, 0);
   24420              :           operands[4] = x10;
   24421              :           if (!scratch_operand (operands[4], E_SImode)
   24422              :               || !
   24423              : #line 23433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24424              : (!TARGET_64BIT && TARGET_GNU_TLS))
   24425              :             return -1;
   24426              :           return 1687; /* *tls_local_dynamic_base_32_gnu */
   24427              : 
   24428              :         case 1:
   24429              :           x5 = XVECEXP (x1, 0, 1);
   24430              :           if (GET_CODE (x5) != USE)
   24431              :             return -1;
   24432              :           x6 = XVECEXP (x1, 0, 2);
   24433              :           if (GET_CODE (x6) != USE
   24434              :               || !nonimmediate_operand (operands[0], E_DImode)
   24435              :               || GET_MODE (x4) != E_DImode)
   24436              :             return -1;
   24437              :           x13 = XVECEXP (x4, 0, 0);
   24438              :           operands[1] = x13;
   24439              :           if (!register_operand (operands[1], E_XFmode))
   24440              :             return -1;
   24441              :           x9 = XEXP (x5, 0);
   24442              :           operands[2] = x9;
   24443              :           if (!memory_operand (operands[2], E_HImode))
   24444              :             return -1;
   24445              :           x10 = XEXP (x6, 0);
   24446              :           operands[3] = x10;
   24447              :           if (!memory_operand (operands[3], E_HImode))
   24448              :             return -1;
   24449              :           x11 = XEXP (x3, 0);
   24450              :           operands[4] = x11;
   24451              :           if (!scratch_operand (operands[4], E_XFmode))
   24452              :             return -1;
   24453              :           switch (XINT (x4, 1))
   24454              :             {
   24455              :             case 79:
   24456              :               if (!
   24457              : #line 25741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24458              : (TARGET_USE_FANCY_MATH_387
   24459              :    && flag_unsafe_math_optimizations))
   24460              :                 return -1;
   24461              :               return 1784; /* fistdi2_floor */
   24462              : 
   24463              :             case 80:
   24464              :               if (!
   24465              : #line 25741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24466              : (TARGET_USE_FANCY_MATH_387
   24467              :    && flag_unsafe_math_optimizations))
   24468              :                 return -1;
   24469              :               return 1785; /* fistdi2_ceil */
   24470              : 
   24471              :             default:
   24472              :               return -1;
   24473              :             }
   24474              : 
   24475              :         default:
   24476              :           return -1;
   24477              :         }
   24478              : 
   24479              :     case PLUS:
   24480              :       if (pattern396 (x1) != 0)
   24481              :         return -1;
   24482              :       return 1691; /* *tls_local_dynamic_32_once */
   24483              : 
   24484              :     case UNSPEC_VOLATILE:
   24485              :       if (XVECLEN (x4, 0) != 1
   24486              :           || XINT (x4, 1) != 3)
   24487              :         return -1;
   24488              :       x5 = XVECEXP (x1, 0, 1);
   24489              :       if (pattern720 (x5, 
   24490              : 7, 
   24491              : MINUS) != 0)
   24492              :         return -1;
   24493              :       x6 = XVECEXP (x1, 0, 2);
   24494              :       if (pattern953 (x6, 
   24495              : E_CCmode, 
   24496              : 17) != 0)
   24497              :         return -1;
   24498              :       x11 = XEXP (x3, 0);
   24499              :       if (GET_CODE (x11) != MEM
   24500              :           || GET_MODE (x11) != E_BLKmode)
   24501              :         return -1;
   24502              :       x14 = XEXP (x11, 0);
   24503              :       if (GET_CODE (x14) != SCRATCH)
   24504              :         return -1;
   24505              :       x7 = XEXP (x2, 0);
   24506              :       operands[0] = x7;
   24507              :       x13 = XVECEXP (x4, 0, 0);
   24508              :       operands[1] = x13;
   24509              :       x15 = XEXP (x5, 1);
   24510              :       x16 = XEXP (x15, 1);
   24511              :       operands[2] = x16;
   24512              :       switch (GET_MODE (operands[0]))
   24513              :         {
   24514              :         case E_SImode:
   24515              :           if (pattern1802 (x1, 
   24516              : E_SImode) != 0
   24517              :               || !
   24518              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24519              : (Pmode == SImode))
   24520              :             return -1;
   24521              :           return 1917; /* adjust_stack_and_probe_si */
   24522              : 
   24523              :         case E_DImode:
   24524              :           if (pattern1802 (x1, 
   24525              : E_DImode) != 0
   24526              :               || !
   24527              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24528              : (Pmode == DImode))
   24529              :             return -1;
   24530              :           return 1918; /* adjust_stack_and_probe_di */
   24531              : 
   24532              :         default:
   24533              :           return -1;
   24534              :         }
   24535              : 
   24536              :     default:
   24537              :       return -1;
   24538              :     }
   24539              : }
   24540              : 
   24541              :  rtx_insn *
   24542              : split_8 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
   24543              : {
   24544              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   24545              :   rtx x2, x3, x4, x5, x6, x7;
   24546              :   rtx_insn *res ATTRIBUTE_UNUSED;
   24547              :   x2 = XEXP (x1, 0);
   24548              :   operands[0] = x2;
   24549              :   x3 = XEXP (x1, 1);
   24550              :   x4 = XEXP (x3, 0);
   24551              :   switch (GET_CODE (x4))
   24552              :     {
   24553              :     case AND:
   24554              :       switch (pattern76 (x3))
   24555              :         {
   24556              :         case 0:
   24557              :           if (!(
   24558              : #line 3715 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24559              : (TARGET_64BIT
   24560              :    && CONST_WIDE_INT_P (operands[3])
   24561              :    && CONST_WIDE_INT_NUNITS (operands[3]) == 2
   24562              :    && CONST_WIDE_INT_ELT (operands[3], 0) == -1
   24563              :    && CONST_WIDE_INT_ELT (operands[3], 1) == 0) && 
   24564              : #line 3721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24565              : ( reload_completed)))
   24566              :             return NULL;
   24567              :           return gen_split_30 (insn, operands);
   24568              : 
   24569              :         case 1:
   24570              :           if (!(
   24571              : #line 3737 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24572              : (TARGET_64BIT
   24573              :    && CONST_WIDE_INT_P (operands[3])
   24574              :    && CONST_WIDE_INT_NUNITS (operands[3]) == 2
   24575              :    && CONST_WIDE_INT_ELT (operands[3], 0) == 0
   24576              :    && CONST_WIDE_INT_ELT (operands[3], 1) == -1) && 
   24577              : #line 3743 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24578              : ( reload_completed)))
   24579              :             return NULL;
   24580              :           return gen_split_33 (insn, operands);
   24581              : 
   24582              :         case 2:
   24583              :           if (!(
   24584              : #line 3759 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24585              : (!TARGET_64BIT
   24586              :    && CONST_INT_P (operands[3])
   24587              :    && UINTVAL (operands[3]) == 0xffffffff00000000ll) && 
   24588              : #line 3763 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24589              : ( reload_completed)))
   24590              :             return NULL;
   24591              :           return gen_split_36 (insn, operands);
   24592              : 
   24593              :         default:
   24594              :           return NULL;
   24595              :         }
   24596              : 
   24597              :     case ASHIFT:
   24598              :       x5 = XEXP (x4, 1);
   24599              :       operands[2] = x5;
   24600              :       x6 = XEXP (x4, 0);
   24601              :       switch (GET_CODE (x6))
   24602              :         {
   24603              :         case REG:
   24604              :         case SUBREG:
   24605              :           operands[1] = x6;
   24606              :           x7 = XEXP (x3, 1);
   24607              :           switch (GET_CODE (x7))
   24608              :             {
   24609              :             case CONST_INT:
   24610              :             case CONST_WIDE_INT:
   24611              :               operands[3] = x7;
   24612              :               switch (GET_MODE (operands[0]))
   24613              :                 {
   24614              :                 case E_QImode:
   24615              :                   if (pattern614 (x3, 
   24616              : E_QImode) != 0
   24617              :                       || !(
   24618              : #line 8048 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24619              : ((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   24620              :    && ((unsigned HOST_WIDE_INT) INTVAL (operands[3])
   24621              :        < (HOST_WIDE_INT_1U << INTVAL (operands[2])))) && 
   24622              : #line 8052 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24623              : ( reload_completed)))
   24624              :                     return NULL;
   24625              :                   return gen_split_167 (insn, operands);
   24626              : 
   24627              :                 case E_HImode:
   24628              :                   if (pattern614 (x3, 
   24629              : E_HImode) != 0
   24630              :                       || !(
   24631              : #line 8048 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24632              : ((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   24633              :    && ((unsigned HOST_WIDE_INT) INTVAL (operands[3])
   24634              :        < (HOST_WIDE_INT_1U << INTVAL (operands[2])))) && 
   24635              : #line 8052 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24636              : ( reload_completed)))
   24637              :                     return NULL;
   24638              :                   return gen_split_169 (insn, operands);
   24639              : 
   24640              :                 case E_SImode:
   24641              :                   if (pattern614 (x3, 
   24642              : E_SImode) != 0
   24643              :                       || !(
   24644              : #line 8072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24645              : ((unsigned HOST_WIDE_INT) INTVAL (operands[3])
   24646              :    < (HOST_WIDE_INT_1U << INTVAL (operands[2]))) && 
   24647              : #line 8075 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24648              : ( reload_completed)))
   24649              :                     return NULL;
   24650              :                   return gen_split_171 (insn, operands);
   24651              : 
   24652              :                 case E_DImode:
   24653              :                   if (GET_MODE (x3) != E_DImode
   24654              :                       || GET_MODE (x4) != E_DImode)
   24655              :                     return NULL;
   24656              :                   if (register_operand (operands[0], E_DImode)
   24657              :                       && register_no_SP_operand (operands[1], E_DImode)
   24658              :                       && const_0_to_3_operand (operands[2], E_VOIDmode)
   24659              :                       && const_int_operand (operands[3], E_VOIDmode)
   24660              :                       && ((
   24661              : #line 8072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24662              : ((unsigned HOST_WIDE_INT) INTVAL (operands[3])
   24663              :    < (HOST_WIDE_INT_1U << INTVAL (operands[2]))) && 
   24664              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24665              : (TARGET_64BIT)) && 
   24666              : #line 8075 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24667              : ( reload_completed)))
   24668              :                     return gen_split_173 (insn, operands);
   24669              :                   if (!nonimmediate_operand (operands[0], E_DImode)
   24670              :                       || !register_operand (operands[1], E_DImode)
   24671              :                       || !const_int_operand (operands[2], E_QImode)
   24672              :                       || !const_scalar_int_operand (operands[3], E_DImode)
   24673              :                       || !((
   24674              : #line 14473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24675              : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT / 2
   24676              :    && (DImode == DImode
   24677              :        ? CONST_INT_P (operands[3])
   24678              :          && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
   24679              :        : CONST_INT_P (operands[3])
   24680              :        ? INTVAL (operands[3]) >= 0
   24681              :        : CONST_WIDE_INT_NUNITS (operands[3]) == 2
   24682              :          && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
   24683              :    && !(CONST_INT_P (operands[3])
   24684              :         ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
   24685              :         : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
   24686              :                                                                      0)),
   24687              :                                         VOIDmode))) && 
   24688              : #line 1196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24689              : (!TARGET_64BIT)) && 
   24690              : #line 14487 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24691              : ( reload_completed)))
   24692              :                     return NULL;
   24693              :                   return gen_split_474 (insn, operands);
   24694              : 
   24695              :                 case E_TImode:
   24696              :                   if (pattern615 (x3, 
   24697              : E_TImode) != 0
   24698              :                       || !((
   24699              : #line 14473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24700              : (INTVAL (operands[2]) == 16 * BITS_PER_UNIT / 2
   24701              :    && (TImode == DImode
   24702              :        ? CONST_INT_P (operands[3])
   24703              :          && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
   24704              :        : CONST_INT_P (operands[3])
   24705              :        ? INTVAL (operands[3]) >= 0
   24706              :        : CONST_WIDE_INT_NUNITS (operands[3]) == 2
   24707              :          && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
   24708              :    && !(CONST_INT_P (operands[3])
   24709              :         ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
   24710              :         : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
   24711              :                                                                      0)),
   24712              :                                         VOIDmode))) && 
   24713              : #line 1197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24714              : (TARGET_64BIT)) && 
   24715              : #line 14487 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24716              : ( reload_completed)))
   24717              :                     return NULL;
   24718              :                   return gen_split_477 (insn, operands);
   24719              : 
   24720              :                 default:
   24721              :                   return NULL;
   24722              :                 }
   24723              : 
   24724              :             case ZERO_EXTEND:
   24725              :               switch (pattern955 (x3))
   24726              :                 {
   24727              :                 case 0:
   24728              :                   if (!((
   24729              : #line 14396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24730              : (INTVAL (operands[2]) == 4 * BITS_PER_UNIT) && 
   24731              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24732              : (!TARGET_64BIT)) && 
   24733              : #line 14398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24734              : ( reload_completed)))
   24735              :                     return NULL;
   24736              :                   return gen_split_438 (insn, operands);
   24737              : 
   24738              :                 case 1:
   24739              :                   if (!((
   24740              : #line 14396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24741              : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT) && 
   24742              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24743              : (TARGET_64BIT)) && 
   24744              : #line 14398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24745              : ( reload_completed)))
   24746              :                     return NULL;
   24747              :                   return gen_split_441 (insn, operands);
   24748              : 
   24749              :                 default:
   24750              :                   return NULL;
   24751              :                 }
   24752              : 
   24753              :             default:
   24754              :               return NULL;
   24755              :             }
   24756              : 
   24757              :         case SIGN_EXTEND:
   24758              :           switch (pattern723 (x3))
   24759              :             {
   24760              :             case 0:
   24761              :               if (!((
   24762              : #line 14432 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24763              : (INTVAL (operands[2]) == 4 * BITS_PER_UNIT) && 
   24764              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24765              : (!TARGET_64BIT)) && 
   24766              : #line 14434 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24767              : ( reload_completed)))
   24768              :                 return NULL;
   24769              :               return gen_split_450 (insn, operands);
   24770              : 
   24771              :             case 1:
   24772              :               if (!((
   24773              : #line 14432 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24774              : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT) && 
   24775              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24776              : (TARGET_64BIT)) && 
   24777              : #line 14434 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24778              : ( reload_completed)))
   24779              :                 return NULL;
   24780              :               return gen_split_456 (insn, operands);
   24781              : 
   24782              :             case 2:
   24783              :               if (!((
   24784              : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24785              : (INTVAL (operands[2]) == 4 * BITS_PER_UNIT
   24786              :    && (DImode == DImode
   24787              :        ? CONST_INT_P (operands[3])
   24788              :          && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
   24789              :        : CONST_INT_P (operands[3])
   24790              :        ? INTVAL (operands[3]) >= 0
   24791              :        : CONST_WIDE_INT_NUNITS (operands[3]) == 2
   24792              :          && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
   24793              :    && !(CONST_INT_P (operands[3])
   24794              :         ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
   24795              :         : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
   24796              :                                                                      0)),
   24797              :                                         VOIDmode))) && 
   24798              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24799              : (!TARGET_64BIT)) && 
   24800              : #line 14519 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24801              : ( reload_completed)))
   24802              :                 return NULL;
   24803              :               return gen_split_480 (insn, operands);
   24804              : 
   24805              :             case 3:
   24806              :               if (!((
   24807              : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24808              : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT
   24809              :    && (TImode == DImode
   24810              :        ? CONST_INT_P (operands[3])
   24811              :          && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
   24812              :        : CONST_INT_P (operands[3])
   24813              :        ? INTVAL (operands[3]) >= 0
   24814              :        : CONST_WIDE_INT_NUNITS (operands[3]) == 2
   24815              :          && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
   24816              :    && !(CONST_INT_P (operands[3])
   24817              :         ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
   24818              :         : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
   24819              :                                                                      0)),
   24820              :                                         VOIDmode))) && 
   24821              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24822              : (TARGET_64BIT)) && 
   24823              : #line 14519 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24824              : ( reload_completed)))
   24825              :                 return NULL;
   24826              :               return gen_split_486 (insn, operands);
   24827              : 
   24828              :             default:
   24829              :               return NULL;
   24830              :             }
   24831              : 
   24832              :         case ZERO_EXTEND:
   24833              :           switch (pattern723 (x3))
   24834              :             {
   24835              :             case 0:
   24836              :               if (!((
   24837              : #line 14432 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24838              : (INTVAL (operands[2]) == 4 * BITS_PER_UNIT) && 
   24839              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24840              : (!TARGET_64BIT)) && 
   24841              : #line 14434 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24842              : ( reload_completed)))
   24843              :                 return NULL;
   24844              :               return gen_split_453 (insn, operands);
   24845              : 
   24846              :             case 1:
   24847              :               if (!((
   24848              : #line 14432 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24849              : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT) && 
   24850              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24851              : (TARGET_64BIT)) && 
   24852              : #line 14434 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24853              : ( reload_completed)))
   24854              :                 return NULL;
   24855              :               return gen_split_459 (insn, operands);
   24856              : 
   24857              :             case 2:
   24858              :               if (!((
   24859              : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24860              : (INTVAL (operands[2]) == 4 * BITS_PER_UNIT
   24861              :    && (DImode == DImode
   24862              :        ? CONST_INT_P (operands[3])
   24863              :          && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
   24864              :        : CONST_INT_P (operands[3])
   24865              :        ? INTVAL (operands[3]) >= 0
   24866              :        : CONST_WIDE_INT_NUNITS (operands[3]) == 2
   24867              :          && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
   24868              :    && !(CONST_INT_P (operands[3])
   24869              :         ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
   24870              :         : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
   24871              :                                                                      0)),
   24872              :                                         VOIDmode))) && 
   24873              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24874              : (!TARGET_64BIT)) && 
   24875              : #line 14519 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24876              : ( reload_completed)))
   24877              :                 return NULL;
   24878              :               return gen_split_483 (insn, operands);
   24879              : 
   24880              :             case 3:
   24881              :               if (!((
   24882              : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24883              : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT
   24884              :    && (TImode == DImode
   24885              :        ? CONST_INT_P (operands[3])
   24886              :          && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
   24887              :        : CONST_INT_P (operands[3])
   24888              :        ? INTVAL (operands[3]) >= 0
   24889              :        : CONST_WIDE_INT_NUNITS (operands[3]) == 2
   24890              :          && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
   24891              :    && !(CONST_INT_P (operands[3])
   24892              :         ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
   24893              :         : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
   24894              :                                                                      0)),
   24895              :                                         VOIDmode))) && 
   24896              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24897              : (TARGET_64BIT)) && 
   24898              : #line 14519 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24899              : ( reload_completed)))
   24900              :                 return NULL;
   24901              :               return gen_split_489 (insn, operands);
   24902              : 
   24903              :             default:
   24904              :               return NULL;
   24905              :             }
   24906              : 
   24907              :         default:
   24908              :           return NULL;
   24909              :         }
   24910              : 
   24911              :     case ZERO_EXTEND:
   24912              :       switch (pattern405 (x3))
   24913              :         {
   24914              :         case 0:
   24915              :           if (!((
   24916              : #line 14413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24917              : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) && 
   24918              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24919              : (!TARGET_64BIT)) && 
   24920              : #line 14415 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24921              : ( reload_completed)))
   24922              :             return NULL;
   24923              :           return gen_split_444 (insn, operands);
   24924              : 
   24925              :         case 1:
   24926              :           if (!((
   24927              : #line 14413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24928              : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) && 
   24929              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24930              : (TARGET_64BIT)) && 
   24931              : #line 14415 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24932              : ( reload_completed)))
   24933              :             return NULL;
   24934              :           return gen_split_447 (insn, operands);
   24935              : 
   24936              :         case 2:
   24937              :           if (!((
   24938              : #line 14457 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24939              : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) && 
   24940              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24941              : (!TARGET_64BIT)) && 
   24942              : #line 14459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24943              : ( reload_completed)))
   24944              :             return NULL;
   24945              :           return gen_split_462 (insn, operands);
   24946              : 
   24947              :         case 3:
   24948              :           if (!((
   24949              : #line 14457 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24950              : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) && 
   24951              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24952              : (TARGET_64BIT)) && 
   24953              : #line 14459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24954              : ( reload_completed)))
   24955              :             return NULL;
   24956              :           return gen_split_468 (insn, operands);
   24957              : 
   24958              :         case 4:
   24959              :           if (!((
   24960              : #line 14457 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24961              : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) && 
   24962              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24963              : (!TARGET_64BIT)) && 
   24964              : #line 14459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24965              : ( reload_completed)))
   24966              :             return NULL;
   24967              :           return gen_split_465 (insn, operands);
   24968              : 
   24969              :         case 5:
   24970              :           if (!((
   24971              : #line 14457 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24972              : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) && 
   24973              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24974              : (TARGET_64BIT)) && 
   24975              : #line 14459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24976              : ( reload_completed)))
   24977              :             return NULL;
   24978              :           return gen_split_471 (insn, operands);
   24979              : 
   24980              :         case 6:
   24981              :           if (!((
   24982              : #line 14534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24983              : (DImode == DImode
   24984              :    ? CONST_INT_P (operands[2])
   24985              :      && (UINTVAL (operands[2]) & GET_MODE_MASK (SImode)) == 0
   24986              :      && !ix86_endbr_immediate_operand (operands[2], VOIDmode)
   24987              :    : CONST_WIDE_INT_P (operands[2])
   24988              :      && CONST_WIDE_INT_NUNITS (operands[2]) == 2
   24989              :      && CONST_WIDE_INT_ELT (operands[2], 0) == 0
   24990              :      && !ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[2],
   24991              :                                                                     1)),
   24992              :                                        VOIDmode)) && 
   24993              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24994              : (!TARGET_64BIT)) && 
   24995              : #line 14545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24996              : ( reload_completed)))
   24997              :             return NULL;
   24998              :           return gen_split_492 (insn, operands);
   24999              : 
   25000              :         case 7:
   25001              :           if (!((
   25002              : #line 14534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25003              : (TImode == DImode
   25004              :    ? CONST_INT_P (operands[2])
   25005              :      && (UINTVAL (operands[2]) & GET_MODE_MASK (SImode)) == 0
   25006              :      && !ix86_endbr_immediate_operand (operands[2], VOIDmode)
   25007              :    : CONST_WIDE_INT_P (operands[2])
   25008              :      && CONST_WIDE_INT_NUNITS (operands[2]) == 2
   25009              :      && CONST_WIDE_INT_ELT (operands[2], 0) == 0
   25010              :      && !ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[2],
   25011              :                                                                     1)),
   25012              :                                        VOIDmode)) && 
   25013              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25014              : (TARGET_64BIT)) && 
   25015              : #line 14545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25016              : ( reload_completed)))
   25017              :             return NULL;
   25018              :           return gen_split_495 (insn, operands);
   25019              : 
   25020              :         default:
   25021              :           return NULL;
   25022              :         }
   25023              : 
   25024              :     default:
   25025              :       return NULL;
   25026              :     }
   25027              : }
   25028              : 
   25029              :  rtx_insn *
   25030              : split_17 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
   25031              : {
   25032              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   25033              :   rtx x2, x3, x4, x5;
   25034              :   rtx_insn *res ATTRIBUTE_UNUSED;
   25035              :   x2 = XVECEXP (x1, 0, 0);
   25036              :   switch (pattern937 (x2))
   25037              :     {
   25038              :     case 0:
   25039              :       x3 = XEXP (x2, 0);
   25040              :       operands[0] = x3;
   25041              :       x4 = XEXP (x2, 1);
   25042              :       x5 = XEXP (x4, 1);
   25043              :       if (GET_CODE (x5) == SUBREG)
   25044              :         {
   25045              :           switch (pattern1429 (x4))
   25046              :             {
   25047              :             case 0:
   25048              :               if (((
   25049              : #line 16918 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25050              : (((INTVAL (operands[3]) & (4 * BITS_PER_UNIT)) == 0
   25051              :     || ((INTVAL (operands[3]) & (2 * 4 * BITS_PER_UNIT - 1))
   25052              :          == (2 * 4 * BITS_PER_UNIT - 1)))
   25053              :    && ix86_pre_reload_split ()) && 
   25054              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25055              : (!TARGET_64BIT)) && 
   25056              : #line 16923 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25057              : ( 1)))
   25058              :                 return gen_split_596 (insn, operands);
   25059              :               break;
   25060              : 
   25061              :             case 1:
   25062              :               if (((
   25063              : #line 16918 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25064              : (((INTVAL (operands[3]) & (8 * BITS_PER_UNIT)) == 0
   25065              :     || ((INTVAL (operands[3]) & (2 * 8 * BITS_PER_UNIT - 1))
   25066              :          == (2 * 8 * BITS_PER_UNIT - 1)))
   25067              :    && ix86_pre_reload_split ()) && 
   25068              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25069              : (TARGET_64BIT)) && 
   25070              : #line 16923 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25071              : ( 1)))
   25072              :                 return gen_split_598 (insn, operands);
   25073              :               break;
   25074              : 
   25075              :             default:
   25076              :               break;
   25077              :             }
   25078              :         }
   25079              :       if (GET_MODE (x4) == E_SImode
   25080              :           && nonimmediate_operand (operands[1], E_SImode))
   25081              :         {
   25082              :           if (register_operand (operands[0], E_SImode))
   25083              :             {
   25084              :               operands[2] = x5;
   25085              :               if (register_operand (operands[2], E_QImode)
   25086              :                   && 
   25087              : #line 17771 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25088              : (TARGET_BMI2 && reload_completed))
   25089              :                 return gen_split_629 (insn, operands);
   25090              :             }
   25091              :           if (GET_CODE (x5) == SUBREG)
   25092              :             {
   25093              :               switch (pattern1541 (x5))
   25094              :                 {
   25095              :                 case 0:
   25096              :                   if ((
   25097              : #line 18174 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25098              : (ix86_binary_operator_ok (ASHIFTRT, SImode, operands)
   25099              :    && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1))
   25100              :       == 4 * BITS_PER_UNIT - 1
   25101              :    && ix86_pre_reload_split ()) && 
   25102              : #line 18179 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25103              : ( 1)))
   25104              :                     return gen_split_646 (insn, operands);
   25105              :                   break;
   25106              : 
   25107              :                 case 1:
   25108              :                   if ((
   25109              : #line 18222 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25110              : (ix86_binary_operator_ok (ASHIFTRT, SImode, operands)
   25111              :    && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
   25112              :    && ix86_pre_reload_split ()) && 
   25113              : #line 18226 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25114              : ( 1)))
   25115              :                     return gen_split_658 (insn, operands);
   25116              :                   break;
   25117              : 
   25118              :                 case 2:
   25119              :                   if ((
   25120              : #line 18268 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25121              : (ix86_binary_operator_ok (ASHIFTRT, SImode, operands)
   25122              :    && ((INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
   25123              :        || (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1))
   25124              :           == 4 * BITS_PER_UNIT - 1)
   25125              :    && ix86_pre_reload_split ()) && 
   25126              : #line 18274 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25127              : ( 1)))
   25128              :                     return gen_split_670 (insn, operands);
   25129              :                   break;
   25130              : 
   25131              :                 default:
   25132              :                   break;
   25133              :                 }
   25134              :             }
   25135              :         }
   25136              :       operands[2] = x5;
   25137              :       switch (pattern1345 (x2))
   25138              :         {
   25139              :         case 0:
   25140              :           if (register_operand (operands[1], E_DImode)
   25141              :               && nonmemory_operand (operands[2], E_QImode)
   25142              :               && (
   25143              : #line 17030 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25144              : (epilogue_completed) && 
   25145              : #line 1196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25146              : (!TARGET_64BIT)))
   25147              :             return gen_split_604 (insn, operands);
   25148              :           if (nonimmediate_operand (operands[1], E_DImode)
   25149              :               && register_operand (operands[2], E_QImode)
   25150              :               && (
   25151              : #line 17771 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25152              : (TARGET_BMI2 && reload_completed) && 
   25153              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25154              : (TARGET_64BIT)))
   25155              :             return gen_split_631 (insn, operands);
   25156              :           break;
   25157              : 
   25158              :         case 1:
   25159              :           if ((
   25160              : #line 17030 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25161              : (epilogue_completed) && 
   25162              : #line 1197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25163              : (TARGET_64BIT)))
   25164              :             return gen_split_606 (insn, operands);
   25165              :           break;
   25166              : 
   25167              :         case 2:
   25168              :           if ((
   25169              : #line 17974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25170              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) && 
   25171              : #line 17985 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25172              : ( reload_completed
   25173              :    && !(rtx_equal_p (operands[0], operands[1])))))
   25174              :             return gen_split_635 (insn, operands);
   25175              :           break;
   25176              : 
   25177              :         case 3:
   25178              :           if ((
   25179              : #line 17974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25180              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) && 
   25181              : #line 17985 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25182              : ( reload_completed
   25183              :    && !(rtx_equal_p (operands[0], operands[1])))))
   25184              :             return gen_split_637 (insn, operands);
   25185              :           break;
   25186              : 
   25187              :         default:
   25188              :           break;
   25189              :         }
   25190              :       if (GET_CODE (x5) != SUBREG)
   25191              :         return NULL;
   25192              :       switch (pattern1244 (x2, 
   25193              : E_DImode))
   25194              :         {
   25195              :         case 0:
   25196              :           if (!((
   25197              : #line 18174 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25198              : (ix86_binary_operator_ok (ASHIFTRT, DImode, operands)
   25199              :    && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1))
   25200              :       == 8 * BITS_PER_UNIT - 1
   25201              :    && ix86_pre_reload_split ()) && 
   25202              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25203              : (TARGET_64BIT)) && 
   25204              : #line 18179 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25205              : ( 1)))
   25206              :             return NULL;
   25207              :           return gen_split_649 (insn, operands);
   25208              : 
   25209              :         case 1:
   25210              :           if (!((
   25211              : #line 18222 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25212              : (ix86_binary_operator_ok (ASHIFTRT, DImode, operands)
   25213              :    && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
   25214              :    && ix86_pre_reload_split ()) && 
   25215              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25216              : (TARGET_64BIT)) && 
   25217              : #line 18226 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25218              : ( 1)))
   25219              :             return NULL;
   25220              :           return gen_split_661 (insn, operands);
   25221              : 
   25222              :         case 2:
   25223              :           if (!((
   25224              : #line 18268 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25225              : (ix86_binary_operator_ok (ASHIFTRT, DImode, operands)
   25226              :    && ((INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
   25227              :        || (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1))
   25228              :           == 8 * BITS_PER_UNIT - 1)
   25229              :    && ix86_pre_reload_split ()) && 
   25230              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25231              : (TARGET_64BIT)) && 
   25232              : #line 18274 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25233              : ( 1)))
   25234              :             return NULL;
   25235              :           return gen_split_673 (insn, operands);
   25236              : 
   25237              :         default:
   25238              :           return NULL;
   25239              :         }
   25240              : 
   25241              :     case 1:
   25242              :       if (register_operand (operands[0], E_DImode)
   25243              :           && register_operand (operands[1], E_DImode)
   25244              :           && ((
   25245              : #line 16979 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25246              : (((INTVAL (operands[3]) & (4 * BITS_PER_UNIT)) == 0
   25247              :     || ((INTVAL (operands[3]) & (2 * 4 * BITS_PER_UNIT - 1))
   25248              :          == (2 * 4 * BITS_PER_UNIT - 1)))
   25249              :    && ix86_pre_reload_split ()) && 
   25250              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25251              : (!TARGET_64BIT)) && 
   25252              : #line 16984 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25253              : ( 1)))
   25254              :         return gen_split_600 (insn, operands);
   25255              :       if (!nonimmediate_operand (operands[0], E_DImode)
   25256              :           || !nonimmediate_operand (operands[1], E_DImode)
   25257              :           || !((
   25258              : #line 18199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25259              : (ix86_binary_operator_ok (ASHIFTRT, DImode, operands)
   25260              :    && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1))
   25261              :       == 8 * BITS_PER_UNIT - 1
   25262              :    && ix86_pre_reload_split ()) && 
   25263              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25264              : (TARGET_64BIT)) && 
   25265              : #line 18204 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25266              : ( 1)))
   25267              :         return NULL;
   25268              :       return gen_split_655 (insn, operands);
   25269              : 
   25270              :     case 2:
   25271              :       if (!((
   25272              : #line 16979 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25273              : (((INTVAL (operands[3]) & (8 * BITS_PER_UNIT)) == 0
   25274              :     || ((INTVAL (operands[3]) & (2 * 8 * BITS_PER_UNIT - 1))
   25275              :          == (2 * 8 * BITS_PER_UNIT - 1)))
   25276              :    && ix86_pre_reload_split ()) && 
   25277              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25278              : (TARGET_64BIT)) && 
   25279              : #line 16984 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25280              : ( 1)))
   25281              :         return NULL;
   25282              :       return gen_split_602 (insn, operands);
   25283              : 
   25284              :     case 3:
   25285              :       if (!(
   25286              : #line 18199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25287              : (ix86_binary_operator_ok (ASHIFTRT, SImode, operands)
   25288              :    && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1))
   25289              :       == 4 * BITS_PER_UNIT - 1
   25290              :    && ix86_pre_reload_split ()) && 
   25291              : #line 18204 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25292              : ( 1)))
   25293              :         return NULL;
   25294              :       return gen_split_652 (insn, operands);
   25295              : 
   25296              :     case 4:
   25297              :       if (!(
   25298              : #line 18246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25299              : (ix86_binary_operator_ok (ASHIFTRT, SImode, operands)
   25300              :    && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
   25301              :    && ix86_pre_reload_split ()) && 
   25302              : #line 18250 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25303              : ( 1)))
   25304              :         return NULL;
   25305              :       return gen_split_664 (insn, operands);
   25306              : 
   25307              :     case 5:
   25308              :       if (!((
   25309              : #line 18246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25310              : (ix86_binary_operator_ok (ASHIFTRT, DImode, operands)
   25311              :    && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
   25312              :    && ix86_pre_reload_split ()) && 
   25313              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25314              : (TARGET_64BIT)) && 
   25315              : #line 18250 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25316              : ( 1)))
   25317              :         return NULL;
   25318              :       return gen_split_667 (insn, operands);
   25319              : 
   25320              :     case 6:
   25321              :       if (!(
   25322              : #line 18301 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25323              : (ix86_binary_operator_ok (ASHIFTRT, SImode, operands)
   25324              :    && ((INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
   25325              :        || (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1))
   25326              :           == 4 * BITS_PER_UNIT - 1)
   25327              :    && ix86_pre_reload_split ()) && 
   25328              : #line 18307 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25329              : ( 1)))
   25330              :         return NULL;
   25331              :       return gen_split_676 (insn, operands);
   25332              : 
   25333              :     case 7:
   25334              :       if (!((
   25335              : #line 18301 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25336              : (ix86_binary_operator_ok (ASHIFTRT, DImode, operands)
   25337              :    && ((INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
   25338              :        || (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1))
   25339              :           == 8 * BITS_PER_UNIT - 1)
   25340              :    && ix86_pre_reload_split ()) && 
   25341              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25342              : (TARGET_64BIT)) && 
   25343              : #line 18307 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25344              : ( 1)))
   25345              :         return NULL;
   25346              :       return gen_split_679 (insn, operands);
   25347              : 
   25348              :     case 8:
   25349              :       if (!((
   25350              : #line 18330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25351              : (INTVAL (operands[2]) == INTVAL (operands[3])
   25352              :    && UINTVAL (operands[2]) < 4 * BITS_PER_UNIT) && 
   25353              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25354              : (!TARGET_64BIT)) && 
   25355              : #line 18333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25356              : ( reload_completed)))
   25357              :         return NULL;
   25358              :       return gen_split_680 (insn, operands);
   25359              : 
   25360              :     case 9:
   25361              :       if (!((
   25362              : #line 18330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25363              : (INTVAL (operands[2]) == INTVAL (operands[3])
   25364              :    && UINTVAL (operands[2]) < 8 * BITS_PER_UNIT) && 
   25365              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25366              : (TARGET_64BIT)) && 
   25367              : #line 18333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25368              : ( reload_completed)))
   25369              :         return NULL;
   25370              :       return gen_split_681 (insn, operands);
   25371              : 
   25372              :     default:
   25373              :       return NULL;
   25374              :     }
   25375              : }
   25376              : 
   25377              :  rtx_insn *
   25378              : split_31 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
   25379              : {
   25380              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   25381              :   rtx x2, x3, x4, x5, x6;
   25382              :   rtx_insn *res ATTRIBUTE_UNUSED;
   25383              :   x2 = XVECEXP (x1, 0, 0);
   25384              :   x3 = XEXP (x2, 1);
   25385              :   x4 = XEXP (x3, 0);
   25386              :   switch (GET_CODE (x4))
   25387              :     {
   25388              :     case REG:
   25389              :     case SUBREG:
   25390              :     case MEM:
   25391              :       switch (pattern378 (x1))
   25392              :         {
   25393              :         case 0:
   25394              :           x5 = XVECEXP (x1, 0, 1);
   25395              :           x6 = XEXP (x5, 0);
   25396              :           if (GET_CODE (x6) != REG
   25397              :               || REGNO (x6) != 17
   25398              :               || GET_MODE (x6) != E_CCmode)
   25399              :             return NULL;
   25400              :           switch (GET_MODE (operands[0]))
   25401              :             {
   25402              :             case E_DImode:
   25403              :               if (!nonimmediate_operand (operands[0], E_DImode)
   25404              :                   || GET_MODE (x3) != E_DImode
   25405              :                   || !nonimmediate_operand (operands[1], E_DImode)
   25406              :                   || !((
   25407              : #line 14573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25408              : (ix86_unary_operator_ok (NEG, DImode, operands, TARGET_APX_NDD)) && 
   25409              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25410              : (!TARGET_64BIT)) && 
   25411              : #line 14575 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25412              : ( reload_completed)))
   25413              :                 return NULL;
   25414              :               return gen_split_496 (insn, operands);
   25415              : 
   25416              :             case E_TImode:
   25417              :               if (!nonimmediate_operand (operands[0], E_TImode)
   25418              :                   || GET_MODE (x3) != E_TImode
   25419              :                   || !nonimmediate_operand (operands[1], E_TImode)
   25420              :                   || !((
   25421              : #line 14573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25422              : (ix86_unary_operator_ok (NEG, TImode, operands, TARGET_APX_NDD)) && 
   25423              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25424              : (TARGET_64BIT)) && 
   25425              : #line 14575 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25426              : ( reload_completed)))
   25427              :                 return NULL;
   25428              :               return gen_split_497 (insn, operands);
   25429              : 
   25430              :             case E_SFmode:
   25431              :               if (GET_MODE (x3) != E_SFmode)
   25432              :                 return NULL;
   25433              :               if (fp_register_operand (operands[0], E_SFmode)
   25434              :                   && fp_register_operand (operands[1], E_SFmode)
   25435              :                   && 
   25436              : #line 15162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25437              : (TARGET_80387 && reload_completed))
   25438              :                 return gen_split_519 (insn, operands);
   25439              :               if (!general_reg_operand (operands[0], E_SFmode)
   25440              :                   || !general_reg_operand (operands[1], E_SFmode)
   25441              :                   || !
   25442              : #line 15169 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25443              : (TARGET_80387 && reload_completed))
   25444              :                 return NULL;
   25445              :               return gen_split_525 (insn, operands);
   25446              : 
   25447              :             case E_DFmode:
   25448              :               if (GET_MODE (x3) != E_DFmode)
   25449              :                 return NULL;
   25450              :               if (fp_register_operand (operands[0], E_DFmode)
   25451              :                   && fp_register_operand (operands[1], E_DFmode)
   25452              :                   && 
   25453              : #line 15162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25454              : (TARGET_80387 && reload_completed))
   25455              :                 return gen_split_521 (insn, operands);
   25456              :               if (!general_reg_operand (operands[0], E_DFmode)
   25457              :                   || !general_reg_operand (operands[1], E_DFmode)
   25458              :                   || !
   25459              : #line 15169 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25460              : (TARGET_80387 && reload_completed))
   25461              :                 return NULL;
   25462              :               return gen_split_527 (insn, operands);
   25463              : 
   25464              :             case E_XFmode:
   25465              :               if (GET_MODE (x3) != E_XFmode)
   25466              :                 return NULL;
   25467              :               if (fp_register_operand (operands[0], E_XFmode)
   25468              :                   && fp_register_operand (operands[1], E_XFmode)
   25469              :                   && 
   25470              : #line 15162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25471              : (TARGET_80387 && reload_completed))
   25472              :                 return gen_split_523 (insn, operands);
   25473              :               if (!general_reg_operand (operands[0], E_XFmode)
   25474              :                   || !general_reg_operand (operands[1], E_XFmode)
   25475              :                   || !
   25476              : #line 15169 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25477              : (TARGET_80387 && reload_completed))
   25478              :                 return NULL;
   25479              :               return gen_split_529 (insn, operands);
   25480              : 
   25481              :             default:
   25482              :               return NULL;
   25483              :             }
   25484              : 
   25485              :         case 1:
   25486              :           if (pattern843 (x1) != 0
   25487              :               || !(
   25488              : #line 15093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25489              : (TARGET_SSE) && 
   25490              : #line 15095 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25491              : ( reload_completed)))
   25492              :             return NULL;
   25493              :           return gen_split_516 (insn, operands);
   25494              : 
   25495              :         case 2:
   25496              :           if (!(
   25497              : #line 14731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25498              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) && 
   25499              : #line 14735 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25500              : ( reload_completed
   25501              :    && !(rtx_equal_p (operands[0], operands[1])))))
   25502              :             return NULL;
   25503              :           return gen_split_498 (insn, operands);
   25504              : 
   25505              :         case 3:
   25506              :           if (!(
   25507              : #line 14731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25508              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) && 
   25509              : #line 14735 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25510              : ( reload_completed
   25511              :    && !(rtx_equal_p (operands[0], operands[1])))))
   25512              :             return NULL;
   25513              :           return gen_split_499 (insn, operands);
   25514              : 
   25515              :         default:
   25516              :           return NULL;
   25517              :         }
   25518              : 
   25519              :     case ABS:
   25520              :       switch (pattern380 (x1))
   25521              :         {
   25522              :         case 0:
   25523              :           if (((
   25524              : #line 14989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25525              : (TARGET_CMOVE
   25526              :    && ix86_pre_reload_split ()) && 
   25527              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25528              : (!TARGET_64BIT)) && 
   25529              : #line 14992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25530              : ( 1)))
   25531              :             return gen_split_505 (insn, operands);
   25532              :           if (!((
   25533              : #line 15060 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25534              : (TARGET_CMOVE
   25535              :    && (DImode != QImode || !TARGET_PARTIAL_REG_STALL)
   25536              :    && ix86_pre_reload_split ()) && 
   25537              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25538              : (TARGET_64BIT)) && 
   25539              : #line 15064 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25540              : ( 1)))
   25541              :             return NULL;
   25542              :           return gen_split_514 (insn, operands);
   25543              : 
   25544              :         case 1:
   25545              :           if (!((
   25546              : #line 14989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25547              : (TARGET_CMOVE
   25548              :    && ix86_pre_reload_split ()) && 
   25549              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25550              : (TARGET_64BIT)) && 
   25551              : #line 14992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25552              : ( 1)))
   25553              :             return NULL;
   25554              :           return gen_split_506 (insn, operands);
   25555              : 
   25556              :         case 2:
   25557              :           if (!(
   25558              : #line 15060 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25559              : (TARGET_CMOVE
   25560              :    && (QImode != QImode || !TARGET_PARTIAL_REG_STALL)
   25561              :    && ix86_pre_reload_split ()) && 
   25562              : #line 15064 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25563              : ( 1)))
   25564              :             return NULL;
   25565              :           return gen_split_511 (insn, operands);
   25566              : 
   25567              :         case 3:
   25568              :           if (!(
   25569              : #line 15060 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25570              : (TARGET_CMOVE
   25571              :    && (HImode != QImode || !TARGET_PARTIAL_REG_STALL)
   25572              :    && ix86_pre_reload_split ()) && 
   25573              : #line 15064 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25574              : ( 1)))
   25575              :             return NULL;
   25576              :           return gen_split_512 (insn, operands);
   25577              : 
   25578              :         case 4:
   25579              :           if (!(
   25580              : #line 15060 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25581              : (TARGET_CMOVE
   25582              :    && (SImode != QImode || !TARGET_PARTIAL_REG_STALL)
   25583              :    && ix86_pre_reload_split ()) && 
   25584              : #line 15064 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25585              : ( 1)))
   25586              :             return NULL;
   25587              :           return gen_split_513 (insn, operands);
   25588              : 
   25589              :         case 5:
   25590              :           switch (GET_MODE (operands[0]))
   25591              :             {
   25592              :             case E_TFmode:
   25593              :               if (pattern1061 (x3, 
   25594              : E_TFmode) != 0
   25595              :                   || !(
   25596              : #line 15118 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25597              : (TARGET_SSE) && 
   25598              : #line 15120 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25599              : ( reload_completed)))
   25600              :                 return NULL;
   25601              :               return gen_split_517 (insn, operands);
   25602              : 
   25603              :             case E_SFmode:
   25604              :               if (pattern1062 (x3, 
   25605              : E_V4SFmode, 
   25606              : E_SFmode) != 0
   25607              :                   || !(
   25608              : #line 15254 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25609              : (SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH) && 
   25610              : #line 15256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25611              : ( reload_completed)))
   25612              :                 return NULL;
   25613              :               return gen_split_544 (insn, operands);
   25614              : 
   25615              :             case E_DFmode:
   25616              :               if (pattern1062 (x3, 
   25617              : E_V2DFmode, 
   25618              : E_DFmode) != 0
   25619              :                   || !(
   25620              : #line 15254 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25621              : (SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH) && 
   25622              : #line 15256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25623              : ( reload_completed)))
   25624              :                 return NULL;
   25625              :               return gen_split_545 (insn, operands);
   25626              : 
   25627              :             default:
   25628              :               return NULL;
   25629              :             }
   25630              : 
   25631              :         default:
   25632              :           return NULL;
   25633              :         }
   25634              : 
   25635              :     default:
   25636              :       return NULL;
   25637              :     }
   25638              : }
   25639              : 
   25640              :  rtx_insn *
   25641              : split_32 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
   25642              : {
   25643              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   25644              :   rtx x2, x3, x4, x5, x6, x7, x8;
   25645              :   rtx_insn *res ATTRIBUTE_UNUSED;
   25646              :   if (pattern344 (x1) != 0)
   25647              :     return NULL;
   25648              :   x2 = XVECEXP (x1, 0, 0);
   25649              :   x3 = XEXP (x2, 1);
   25650              :   x4 = XEXP (x3, 0);
   25651              :   switch (GET_CODE (x4))
   25652              :     {
   25653              :     case REG:
   25654              :     case SUBREG:
   25655              :     case MEM:
   25656              :       operands[1] = x4;
   25657              :       switch (pattern1162 (x3))
   25658              :         {
   25659              :         case 0:
   25660              :           if (!(
   25661              : #line 4850 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25662              : (TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun)) && 
   25663              : #line 4852 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25664              : ( reload_completed)))
   25665              :             return NULL;
   25666              :           return gen_split_63 (insn, operands);
   25667              : 
   25668              :         case 1:
   25669              :           if (!(
   25670              : #line 4850 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25671              : (TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun)) && 
   25672              : #line 4852 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25673              : ( reload_completed)))
   25674              :             return NULL;
   25675              :           return gen_split_64 (insn, operands);
   25676              : 
   25677              :         case 2:
   25678              :           if (!(
   25679              : #line 4904 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25680              : (TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun)) && 
   25681              : #line 4906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25682              : ( reload_completed)))
   25683              :             return NULL;
   25684              :           return gen_split_65 (insn, operands);
   25685              : 
   25686              :         default:
   25687              :           return NULL;
   25688              :         }
   25689              : 
   25690              :     case PLUS:
   25691              :       if (GET_MODE (x4) != E_SImode
   25692              :           || !register_operand (operands[0], E_DImode)
   25693              :           || GET_MODE (x3) != E_DImode)
   25694              :         return NULL;
   25695              :       x5 = XEXP (x4, 0);
   25696              :       switch (GET_CODE (x5))
   25697              :         {
   25698              :         case REG:
   25699              :         case SUBREG:
   25700              :           operands[1] = x5;
   25701              :           if (!register_operand (operands[1], E_SImode))
   25702              :             return NULL;
   25703              :           x6 = XEXP (x4, 1);
   25704              :           operands[2] = x6;
   25705              :           if (!x86_64_nonmemory_operand (operands[2], E_SImode))
   25706              :             return NULL;
   25707              :           if (
   25708              : #line 7110 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25709              : (TARGET_64BIT
   25710              :    && reload_completed && ix86_avoid_lea_for_add (insn, operands)))
   25711              :             return gen_split_130 (insn, operands);
   25712              :           if (!
   25713              : #line 7160 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25714              : (TARGET_64BIT && reload_completed && ix86_lea_for_add_ok (insn, operands)))
   25715              :             return NULL;
   25716              :           return gen_split_139 (insn, operands);
   25717              : 
   25718              :         case UNSPEC:
   25719              :           if (pattern1165 (x5) != 0)
   25720              :             return NULL;
   25721              :           x6 = XEXP (x4, 1);
   25722              :           operands[1] = x6;
   25723              :           if (!register_operand (operands[1], E_SImode)
   25724              :               || !(
   25725              : #line 23613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25726              : (TARGET_X32) && 
   25727              : #line 23615 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25728              : ( 1)))
   25729              :             return NULL;
   25730              :           return gen_split_932 (insn, operands);
   25731              : 
   25732              :         default:
   25733              :           return NULL;
   25734              :         }
   25735              : 
   25736              :     case ASHIFT:
   25737              :       if (GET_MODE (x4) != E_SImode
   25738              :           || GET_MODE (x3) != E_DImode)
   25739              :         return NULL;
   25740              :       x5 = XEXP (x4, 0);
   25741              :       operands[1] = x5;
   25742              :       x6 = XEXP (x4, 1);
   25743              :       operands[2] = x6;
   25744              :       switch (GET_CODE (operands[2]))
   25745              :         {
   25746              :         case REG:
   25747              :         case SUBREG:
   25748              :           if (!register_operand (operands[2], E_QImode)
   25749              :               || !register_operand (operands[0], E_DImode)
   25750              :               || !nonimmediate_operand (operands[1], E_SImode)
   25751              :               || !
   25752              : #line 16424 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25753              : (TARGET_64BIT && TARGET_BMI2 && reload_completed))
   25754              :             return NULL;
   25755              :           return gen_split_580 (insn, operands);
   25756              : 
   25757              :         case CONST_INT:
   25758              :           if (!const_0_to_3_operand (operands[2], E_VOIDmode)
   25759              :               || !general_reg_operand (operands[0], E_DImode)
   25760              :               || !index_reg_operand (operands[1], E_SImode)
   25761              :               || !
   25762              : #line 16659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25763              : (TARGET_64BIT && reload_completed
   25764              :    && REGNO (operands[0]) != REGNO (operands[1])))
   25765              :             return NULL;
   25766              :           return gen_split_591 (insn, operands);
   25767              : 
   25768              :         default:
   25769              :           return NULL;
   25770              :         }
   25771              : 
   25772              :     case LSHIFTRT:
   25773              :       if (pattern1183 (x3) != 0
   25774              :           || !
   25775              : #line 17858 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25776              : (TARGET_64BIT && TARGET_BMI2 && reload_completed))
   25777              :         return NULL;
   25778              :       return gen_split_632 (insn, operands);
   25779              : 
   25780              :     case ASHIFTRT:
   25781              :       if (pattern1183 (x3) != 0
   25782              :           || !
   25783              : #line 17858 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25784              : (TARGET_64BIT && TARGET_BMI2 && reload_completed))
   25785              :         return NULL;
   25786              :       return gen_split_633 (insn, operands);
   25787              : 
   25788              :     case ROTATE:
   25789              :       if (pattern1184 (x3) != 0
   25790              :           || !
   25791              : #line 18994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25792              : (TARGET_64BIT && TARGET_BMI2 && reload_completed
   25793              :    && !optimize_function_for_size_p (cfun)))
   25794              :         return NULL;
   25795              :       return gen_split_794 (insn, operands);
   25796              : 
   25797              :     case ROTATERT:
   25798              :       if (pattern1184 (x3) != 0
   25799              :           || !
   25800              : #line 19010 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25801              : (TARGET_64BIT && TARGET_BMI2 && reload_completed
   25802              :    && !optimize_function_for_size_p (cfun)))
   25803              :         return NULL;
   25804              :       return gen_split_795 (insn, operands);
   25805              : 
   25806              :     case CTZ:
   25807              :       if (pattern1185 (x3, 
   25808              : E_SImode, 
   25809              : E_DImode) != 0
   25810              :           || !
   25811              : #line 21542 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25812              : ((TARGET_BMI || TARGET_CPU_P (GENERIC))
   25813              :    && (TARGET_AVOID_FALSE_DEP_FOR_BMI || TARGET_AVOID_FALSE_DEP_FOR_TZCNT)
   25814              :    && epilogue_completed
   25815              :    && optimize_function_for_speed_p (cfun)
   25816              :    && !reg_mentioned_p (operands[0], operands[1])))
   25817              :         return NULL;
   25818              :       return gen_split_883 (insn, operands);
   25819              : 
   25820              :     case XOR:
   25821              :       if (GET_MODE (x4) != E_SImode)
   25822              :         return NULL;
   25823              :       x5 = XEXP (x4, 0);
   25824              :       if (GET_CODE (x5) != MINUS
   25825              :           || pattern1166 (x4) != 0
   25826              :           || !register_operand (operands[0], E_DImode)
   25827              :           || GET_MODE (x3) != E_DImode)
   25828              :         return NULL;
   25829              :       x7 = XEXP (x5, 1);
   25830              :       x8 = XEXP (x7, 0);
   25831              :       operands[1] = x8;
   25832              :       if (!nonimmediate_operand (operands[1], E_SImode)
   25833              :           || !(
   25834              : #line 21705 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25835              : (!TARGET_LZCNT && TARGET_64BIT && ix86_pre_reload_split ()) && 
   25836              : #line 21707 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25837              : ( 1)))
   25838              :         return NULL;
   25839              :       return gen_split_887 (insn, operands);
   25840              : 
   25841              :     case CLZ:
   25842              :       if (pattern1185 (x3, 
   25843              : E_SImode, 
   25844              : E_DImode) != 0
   25845              :           || !(
   25846              : #line 21968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25847              : (TARGET_LZCNT && TARGET_64BIT) && 
   25848              : #line 21970 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25849              : ( TARGET_AVOID_FALSE_DEP_FOR_BMI && epilogue_completed
   25850              :    && optimize_function_for_speed_p (cfun)
   25851              :    && !reg_mentioned_p (operands[0], operands[1]))))
   25852              :         return NULL;
   25853              :       return gen_split_899 (insn, operands);
   25854              : 
   25855              :     case POPCOUNT:
   25856              :       x5 = XEXP (x4, 0);
   25857              :       operands[1] = x5;
   25858              :       switch (GET_MODE (operands[0]))
   25859              :         {
   25860              :         case E_DImode:
   25861              :           if (pattern350 (x3, 
   25862              : E_SImode, 
   25863              : E_DImode) != 0
   25864              :               || !(
   25865              : #line 22805 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25866              : (TARGET_POPCNT && TARGET_64BIT) && 
   25867              : #line 22813 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25868              : ( TARGET_AVOID_FALSE_DEP_FOR_BMI && epilogue_completed
   25869              :    && optimize_function_for_speed_p (cfun)
   25870              :    && !reg_mentioned_p (operands[0], operands[1]))))
   25871              :             return NULL;
   25872              :           return gen_split_923 (insn, operands);
   25873              : 
   25874              :         case E_SImode:
   25875              :           if (pattern350 (x3, 
   25876              : E_HImode, 
   25877              : E_SImode) != 0
   25878              :               || !(
   25879              : #line 22871 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25880              : (TARGET_POPCNT
   25881              :    && ix86_pre_reload_split ()) && 
   25882              : #line 22874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25883              : ( 1)))
   25884              :             return NULL;
   25885              :           return gen_split_925 (insn, operands);
   25886              : 
   25887              :         default:
   25888              :           return NULL;
   25889              :         }
   25890              : 
   25891              :     default:
   25892              :       return NULL;
   25893              :     }
   25894              : }
   25895              : 
   25896              :  rtx_insn *
   25897              : split_41 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
   25898              : {
   25899              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   25900              :   rtx x2, x3, x4, x5, x6;
   25901              :   rtx_insn *res ATTRIBUTE_UNUSED;
   25902              :   x2 = XEXP (x1, 0);
   25903              :   operands[0] = x2;
   25904              :   x3 = XEXP (x1, 1);
   25905              :   x4 = XEXP (x3, 0);
   25906              :   switch (GET_CODE (x4))
   25907              :     {
   25908              :     case LEU:
   25909              :       x5 = XEXP (x4, 0);
   25910              :       operands[1] = x5;
   25911              :       if (!int_nonimmediate_operand (operands[1], E_VOIDmode))
   25912              :         return NULL;
   25913              :       x6 = XEXP (x4, 1);
   25914              :       operands[2] = x6;
   25915              :       if (!const_int_operand (operands[2], E_VOIDmode))
   25916              :         return NULL;
   25917              :       switch (GET_MODE (operands[0]))
   25918              :         {
   25919              :         case E_SImode:
   25920              :           if (!register_operand (operands[0], E_SImode)
   25921              :               || GET_MODE (x3) != E_SImode
   25922              :               || GET_MODE (x4) != E_SImode
   25923              :               || !
   25924              : #line 26741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25925              : (x86_64_immediate_operand (operands[2], VOIDmode)
   25926              :    && INTVAL (operands[2]) != -1
   25927              :    && INTVAL (operands[2]) != 2147483647))
   25928              :             return NULL;
   25929              :           return gen_split_947 (insn, operands);
   25930              : 
   25931              :         case E_DImode:
   25932              :           if (!register_operand (operands[0], E_DImode)
   25933              :               || GET_MODE (x3) != E_DImode
   25934              :               || GET_MODE (x4) != E_DImode
   25935              :               || !(
   25936              : #line 26741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25937              : (x86_64_immediate_operand (operands[2], VOIDmode)
   25938              :    && INTVAL (operands[2]) != -1
   25939              :    && INTVAL (operands[2]) != 2147483647) && 
   25940              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25941              : (TARGET_64BIT)))
   25942              :             return NULL;
   25943              :           return gen_split_948 (insn, operands);
   25944              : 
   25945              :         default:
   25946              :           return NULL;
   25947              :         }
   25948              : 
   25949              :     case EQ:
   25950              :       switch (pattern411 (x3))
   25951              :         {
   25952              :         case 0:
   25953              :           return gen_split_949 (insn, operands);
   25954              : 
   25955              :         case 1:
   25956              :           return gen_split_950 (insn, operands);
   25957              : 
   25958              :         case 2:
   25959              :           return gen_split_951 (insn, operands);
   25960              : 
   25961              :         case 3:
   25962              :           if (!
   25963              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25964              : (TARGET_64BIT))
   25965              :             return NULL;
   25966              :           return gen_split_952 (insn, operands);
   25967              : 
   25968              :         default:
   25969              :           return NULL;
   25970              :         }
   25971              : 
   25972              :     case NE:
   25973              :       switch (pattern411 (x3))
   25974              :         {
   25975              :         case 0:
   25976              :           return gen_split_953 (insn, operands);
   25977              : 
   25978              :         case 1:
   25979              :           return gen_split_954 (insn, operands);
   25980              : 
   25981              :         case 2:
   25982              :           return gen_split_955 (insn, operands);
   25983              : 
   25984              :         case 3:
   25985              :           if (!
   25986              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25987              : (TARGET_64BIT))
   25988              :             return NULL;
   25989              :           return gen_split_956 (insn, operands);
   25990              : 
   25991              :         default:
   25992              :           return NULL;
   25993              :         }
   25994              : 
   25995              :     default:
   25996              :       return NULL;
   25997              :     }
   25998              : }
   25999              : 
   26000              :  rtx_insn *
   26001              : split_42 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
   26002              : {
   26003              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   26004              :   rtx x2, x3, x4, x5, x6, x7, x8;
   26005              :   rtx_insn *res ATTRIBUTE_UNUSED;
   26006              :   x2 = XEXP (x1, 1);
   26007              :   x3 = XEXP (x2, 0);
   26008              :   x4 = XEXP (x3, 0);
   26009              :   if (GET_CODE (x4) != REG
   26010              :       || REGNO (x4) != 17)
   26011              :     return NULL;
   26012              :   x5 = XEXP (x3, 1);
   26013              :   if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   26014              :     return NULL;
   26015              :   x6 = XEXP (x1, 0);
   26016              :   operands[0] = x6;
   26017              :   x7 = XEXP (x2, 1);
   26018              :   operands[2] = x7;
   26019              :   x8 = XEXP (x2, 2);
   26020              :   operands[3] = x8;
   26021              :   switch (GET_MODE (operands[0]))
   26022              :     {
   26023              :     case E_HImode:
   26024              :       if (!register_operand (operands[0], E_HImode)
   26025              :           || GET_MODE (x2) != E_HImode
   26026              :           || !ix86_comparison_operator (operands[1], E_VOIDmode))
   26027              :         return NULL;
   26028              :       if (nonimmediate_operand (operands[2], E_HImode)
   26029              :           && nonimmediate_operand (operands[3], E_HImode)
   26030              :           && 
   26031              : #line 26834 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26032              : (!TARGET_64BIT && TARGET_CMOVE
   26033              :    && TARGET_AVOID_MEM_OPND_FOR_CMOVE
   26034              :    && (MEM_P (operands[2]) || MEM_P (operands[3]))
   26035              :    && can_create_pseudo_p ()
   26036              :    && optimize_insn_for_speed_p ()))
   26037              :         return gen_split_957 (insn, operands);
   26038              :       if (!register_operand (operands[2], E_HImode)
   26039              :           || !register_operand (operands[3], E_HImode)
   26040              :           || !
   26041              : #line 26864 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26042              : (TARGET_CMOVE && !TARGET_PARTIAL_REG_STALL
   26043              :    && reload_completed))
   26044              :         return NULL;
   26045              :       return gen_split_961 (insn, operands);
   26046              : 
   26047              :     case E_SImode:
   26048              :       if (pattern1208 (x2, 
   26049              : E_SImode) != 0
   26050              :           || !
   26051              : #line 26834 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26052              : (!TARGET_64BIT && TARGET_CMOVE
   26053              :    && TARGET_AVOID_MEM_OPND_FOR_CMOVE
   26054              :    && (MEM_P (operands[2]) || MEM_P (operands[3]))
   26055              :    && can_create_pseudo_p ()
   26056              :    && optimize_insn_for_speed_p ()))
   26057              :         return NULL;
   26058              :       return gen_split_958 (insn, operands);
   26059              : 
   26060              :     case E_DImode:
   26061              :       if (pattern1208 (x2, 
   26062              : E_DImode) != 0
   26063              :           || !(
   26064              : #line 26834 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26065              : (!TARGET_64BIT && TARGET_CMOVE
   26066              :    && TARGET_AVOID_MEM_OPND_FOR_CMOVE
   26067              :    && (MEM_P (operands[2]) || MEM_P (operands[3]))
   26068              :    && can_create_pseudo_p ()
   26069              :    && optimize_insn_for_speed_p ()) && 
   26070              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26071              : (TARGET_64BIT)))
   26072              :         return NULL;
   26073              :       return gen_split_959 (insn, operands);
   26074              : 
   26075              :     case E_QImode:
   26076              :       if (pattern1209 (x2) != 0
   26077              :           || !
   26078              : #line 26864 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26079              : (TARGET_CMOVE && !TARGET_PARTIAL_REG_STALL
   26080              :    && reload_completed))
   26081              :         return NULL;
   26082              :       return gen_split_960 (insn, operands);
   26083              : 
   26084              :     case E_DFmode:
   26085              :       if (GET_MODE (x2) != E_DFmode
   26086              :           || !nonimmediate_operand (operands[2], E_DFmode)
   26087              :           || !nonimmediate_operand (operands[3], E_DFmode))
   26088              :         return NULL;
   26089              :       if (general_reg_operand (operands[0], E_DFmode)
   26090              :           && fcmov_comparison_operator (operands[1], E_VOIDmode)
   26091              :           && 
   26092              : #line 27080 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26093              : (!TARGET_64BIT && reload_completed))
   26094              :         return gen_split_962 (insn, operands);
   26095              :       if (!register_operand (operands[0], E_DFmode)
   26096              :           || !ix86_comparison_operator (operands[1], E_VOIDmode)
   26097              :           || !
   26098              : #line 27114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26099              : (!TARGET_64BIT && TARGET_80387 && TARGET_CMOVE
   26100              :    && TARGET_AVOID_MEM_OPND_FOR_CMOVE
   26101              :    && (MEM_P (operands[2]) || MEM_P (operands[3]))
   26102              :    && can_create_pseudo_p ()
   26103              :    && optimize_insn_for_speed_p ()))
   26104              :         return NULL;
   26105              :       return gen_split_964 (insn, operands);
   26106              : 
   26107              :     case E_SFmode:
   26108              :       if (pattern1208 (x2, 
   26109              : E_SFmode) != 0
   26110              :           || !
   26111              : #line 27114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26112              : (!TARGET_64BIT && TARGET_80387 && TARGET_CMOVE
   26113              :    && TARGET_AVOID_MEM_OPND_FOR_CMOVE
   26114              :    && (MEM_P (operands[2]) || MEM_P (operands[3]))
   26115              :    && can_create_pseudo_p ()
   26116              :    && optimize_insn_for_speed_p ()))
   26117              :         return NULL;
   26118              :       return gen_split_963 (insn, operands);
   26119              : 
   26120              :     default:
   26121              :       return NULL;
   26122              :     }
   26123              : }
   26124              : 
   26125              :  rtx_insn *
   26126              : split_45 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
   26127              : {
   26128              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   26129              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   26130              :   rtx x10;
   26131              :   rtx_insn *res ATTRIBUTE_UNUSED;
   26132              :   x2 = XEXP (x1, 1);
   26133              :   x3 = XEXP (x2, 0);
   26134              :   switch (GET_CODE (x3))
   26135              :     {
   26136              :     case AND:
   26137              :       x4 = XEXP (x2, 1);
   26138              :       if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   26139              :         return NULL;
   26140              :       x5 = XEXP (x1, 0);
   26141              :       operands[0] = x5;
   26142              :       if (!flags_reg_operand (operands[0], E_VOIDmode))
   26143              :         return NULL;
   26144              :       operands[1] = x2;
   26145              :       if (!compare_operator (operands[1], E_VOIDmode))
   26146              :         return NULL;
   26147              :       x6 = XEXP (x3, 0);
   26148              :       operands[2] = x6;
   26149              :       if (!aligned_operand (operands[2], E_HImode))
   26150              :         return NULL;
   26151              :       x7 = XEXP (x3, 1);
   26152              :       operands[3] = x7;
   26153              :       if (!const_int_operand (operands[3], E_HImode)
   26154              :           || !
   26155              : #line 28276 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26156              : (! TARGET_PARTIAL_REG_STALL && reload_completed
   26157              :    && ! TARGET_FAST_PREFIX
   26158              :    && optimize_insn_for_speed_p ()
   26159              :    /* Ensure that the operand will remain sign-extended immediate.  */
   26160              :    && ix86_match_ccmode (insn, INTVAL (operands[3]) >= 0 ? CCNOmode : CCZmode)))
   26161              :         return NULL;
   26162              :       return gen_split_1013 (insn, operands);
   26163              : 
   26164              :     case UNSPEC:
   26165              :       if (XVECLEN (x3, 0) != 1
   26166              :           || XINT (x3, 1) != 50
   26167              :           || GET_MODE (x3) != E_SImode
   26168              :           || pattern46 (x1, 
   26169              : E_CCZmode) != 0)
   26170              :         return NULL;
   26171              :       x4 = XEXP (x2, 1);
   26172              :       operands[2] = x4;
   26173              :       if (!const_int_operand (operands[2], E_VOIDmode))
   26174              :         return NULL;
   26175              :       x8 = XVECEXP (x3, 0, 0);
   26176              :       switch (GET_CODE (x8))
   26177              :         {
   26178              :         case EQ:
   26179              :           x9 = XEXP (x8, 0);
   26180              :           operands[0] = x9;
   26181              :           x10 = XEXP (x8, 1);
   26182              :           operands[1] = x10;
   26183              :           switch (GET_MODE (x8))
   26184              :             {
   26185              :             case E_V32QImode:
   26186              :               if (!vector_operand (operands[0], E_V32QImode)
   26187              :                   || !const0_operand (operands[1], E_V32QImode)
   26188              :                   || !(
   26189              : #line 22753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26190              : (TARGET_SSE4_1 && (INTVAL (operands[2]) == (int) (0xffffffff))) && 
   26191              : #line 623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26192              : (TARGET_AVX2)))
   26193              :                 return NULL;
   26194              :               return gen_split_3550 (insn, operands);
   26195              : 
   26196              :             case E_V16QImode:
   26197              :               if (!vector_operand (operands[0], E_V16QImode)
   26198              :                   || !const0_operand (operands[1], E_V16QImode)
   26199              :                   || !
   26200              : #line 22753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26201              : (TARGET_SSE4_1 && (INTVAL (operands[2]) == (int) (0xffff))))
   26202              :                 return NULL;
   26203              :               return gen_split_3551 (insn, operands);
   26204              : 
   26205              :             default:
   26206              :               return NULL;
   26207              :             }
   26208              : 
   26209              :         case VEC_MERGE:
   26210              :           switch (pattern1271 (x8))
   26211              :             {
   26212              :             case 0:
   26213              :               if (!((
   26214              : #line 22770 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26215              : (TARGET_AVX512VL && UINTVAL (operands[2]) <= 0xffffffff) && 
   26216              : #line 623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26217              : (TARGET_AVX2)) && 
   26218              : #line 22772 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26219              : ( 1)))
   26220              :                 return NULL;
   26221              :               return gen_split_3552 (insn, operands);
   26222              : 
   26223              :             case 1:
   26224              :               if (!(
   26225              : #line 22770 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26226              : (TARGET_AVX512VL && UINTVAL (operands[2]) <= 0xffff) && 
   26227              : #line 22772 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26228              : ( 1)))
   26229              :                 return NULL;
   26230              :               return gen_split_3553 (insn, operands);
   26231              : 
   26232              :             case 2:
   26233              :               if (!((
   26234              : #line 22793 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26235              : (TARGET_AVX512VL && (INTVAL (operands[2]) == (int) (0xffffffff))) && 
   26236              : #line 623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26237              : (TARGET_AVX2)) && 
   26238              : #line 22795 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26239              : ( 1)))
   26240              :                 return NULL;
   26241              :               return gen_split_3554 (insn, operands);
   26242              : 
   26243              :             case 3:
   26244              :               if (!(
   26245              : #line 22793 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26246              : (TARGET_AVX512VL && (INTVAL (operands[2]) == (int) (0xffff))) && 
   26247              : #line 22795 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26248              : ( 1)))
   26249              :                 return NULL;
   26250              :               return gen_split_3555 (insn, operands);
   26251              : 
   26252              :             default:
   26253              :               return NULL;
   26254              :             }
   26255              : 
   26256              :         default:
   26257              :           return NULL;
   26258              :         }
   26259              : 
   26260              :     default:
   26261              :       return NULL;
   26262              :     }
   26263              : }
   26264              : 
   26265              :  rtx_insn *
   26266              : split_49 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
   26267              : {
   26268              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   26269              :   rtx x2, x3, x4, x5, x6;
   26270              :   rtx_insn *res ATTRIBUTE_UNUSED;
   26271              :   x2 = XEXP (x1, 1);
   26272              :   x3 = XEXP (x2, 0);
   26273              :   if (GET_CODE (x3) != VEC_SELECT)
   26274              :     return NULL;
   26275              :   switch (pattern98 (x1))
   26276              :     {
   26277              :     case 0:
   26278              :       x4 = XEXP (x3, 0);
   26279              :       operands[1] = x4;
   26280              :       if (!register_operand (operands[1], E_V2SFmode)
   26281              :           || pattern976 (x2) != 0
   26282              :           || !register_operand (operands[0], E_SFmode)
   26283              :           || GET_MODE (x2) != E_SFmode
   26284              :           || GET_MODE (x3) != E_SFmode)
   26285              :         return NULL;
   26286              :       x5 = XEXP (x2, 1);
   26287              :       if (GET_MODE (x5) != E_SFmode)
   26288              :         return NULL;
   26289              :       x6 = XEXP (x5, 0);
   26290              :       if (!rtx_equal_p (x6, operands[1])
   26291              :           || !(
   26292              : #line 1081 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26293              : (TARGET_SSE3 && TARGET_MMX_WITH_SSE && ix86_partial_vec_fp_math
   26294              :    && ix86_pre_reload_split ()) && 
   26295              : #line 1084 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26296              : ( 1)))
   26297              :         return NULL;
   26298              :       return gen_split_1073 (insn, operands);
   26299              : 
   26300              :     case 1:
   26301              :       switch (pattern864 (x2))
   26302              :         {
   26303              :         case 0:
   26304              :           if (!
   26305              : #line 22975 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26306              : (TARGET_SSSE3 && reload_completed
   26307              :    && SSE_REGNO_P (REGNO (operands[0]))))
   26308              :             return NULL;
   26309              :           return gen_split_3558 (insn, operands);
   26310              : 
   26311              :         case 1:
   26312              :           if (!
   26313              : #line 23062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26314              : (TARGET_SSSE3 && reload_completed
   26315              :    && SSE_REGNO_P (REGNO (operands[0]))))
   26316              :             return NULL;
   26317              :           return gen_split_3561 (insn, operands);
   26318              : 
   26319              :         default:
   26320              :           return NULL;
   26321              :         }
   26322              : 
   26323              :     default:
   26324              :       return NULL;
   26325              :     }
   26326              : }
   26327              : 
   26328              :  rtx_insn *
   26329              : split_51 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
   26330              : {
   26331              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   26332              :   rtx x2, x3, x4, x5, x6, x7, x8;
   26333              :   rtx_insn *res ATTRIBUTE_UNUSED;
   26334              :   x2 = XEXP (x1, 1);
   26335              :   x3 = XEXP (x2, 1);
   26336              :   if (GET_CODE (x3) != PARALLEL)
   26337              :     return NULL;
   26338              :   x4 = XEXP (x1, 0);
   26339              :   operands[0] = x4;
   26340              :   x5 = XEXP (x2, 0);
   26341              :   switch (GET_CODE (x5))
   26342              :     {
   26343              :     case VEC_CONCAT:
   26344              :       switch (pattern274 (x2))
   26345              :         {
   26346              :         case 0:
   26347              :           x6 = XVECEXP (x3, 0, 1);
   26348              :           if (GET_CODE (x6) == CONST_INT)
   26349              :             {
   26350              :               switch (pattern980 (x2))
   26351              :                 {
   26352              :                 case 0:
   26353              :                   if ((
   26354              : #line 1714 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26355              : (TARGET_MMX_WITH_SSE) && 
   26356              : #line 1716 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26357              : ( reload_completed)))
   26358              :                     return gen_split_1074 (insn, operands);
   26359              :                   break;
   26360              : 
   26361              :                 case 1:
   26362              :                   if ((
   26363              : #line 5019 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26364              : (TARGET_MMX || TARGET_MMX_WITH_SSE) && 
   26365              : #line 5024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26366              : ( reload_completed
   26367              :    && SSE_REGNO_P (REGNO (operands[0])))))
   26368              :                     return gen_split_1157 (insn, operands);
   26369              :                   break;
   26370              : 
   26371              :                 case 2:
   26372              :                   if ((
   26373              : #line 1731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26374              : (TARGET_MMX_WITH_SSE) && 
   26375              : #line 1733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26376              : ( reload_completed)))
   26377              :                     return gen_split_1075 (insn, operands);
   26378              :                   break;
   26379              : 
   26380              :                 case 3:
   26381              :                   if ((
   26382              : #line 4998 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26383              : (TARGET_MMX || TARGET_MMX_WITH_SSE) && 
   26384              : #line 5003 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26385              : ( reload_completed
   26386              :    && SSE_REGNO_P (REGNO (operands[0])))))
   26387              :                     return gen_split_1156 (insn, operands);
   26388              :                   break;
   26389              : 
   26390              :                 default:
   26391              :                   break;
   26392              :                 }
   26393              :             }
   26394              :           x7 = XVECEXP (x3, 0, 0);
   26395              :           operands[3] = x7;
   26396              :           switch (pattern981 (x2))
   26397              :             {
   26398              :             case 0:
   26399              :               if (!(
   26400              : #line 6225 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26401              : (TARGET_SSE2) && 
   26402              : #line 6227 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26403              : ( reload_completed)))
   26404              :                 return NULL;
   26405              :               return gen_split_1169 (insn, operands);
   26406              : 
   26407              :             case 1:
   26408              :               if (!(
   26409              : #line 6225 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26410              : (TARGET_SSE2) && 
   26411              : #line 6227 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26412              : ( reload_completed)))
   26413              :                 return NULL;
   26414              :               return gen_split_1170 (insn, operands);
   26415              : 
   26416              :             case 2:
   26417              :               if (!(
   26418              : #line 6225 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26419              : (TARGET_SSE2) && 
   26420              : #line 6227 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26421              : ( reload_completed)))
   26422              :                 return NULL;
   26423              :               return gen_split_1171 (insn, operands);
   26424              : 
   26425              :             default:
   26426              :               return NULL;
   26427              :             }
   26428              : 
   26429              :         case 1:
   26430              :           if (!(
   26431              : #line 4878 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26432              : (TARGET_MMX || TARGET_MMX_WITH_SSE) && 
   26433              : #line 4883 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26434              : ( reload_completed
   26435              :    && SSE_REGNO_P (REGNO (operands[0])))))
   26436              :             return NULL;
   26437              :           return gen_split_1150 (insn, operands);
   26438              : 
   26439              :         case 2:
   26440              :           if (!(
   26441              : #line 4918 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26442              : (TARGET_MMX || TARGET_MMX_WITH_SSE) && 
   26443              : #line 4923 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26444              : ( reload_completed
   26445              :    && SSE_REGNO_P (REGNO (operands[0])))))
   26446              :             return NULL;
   26447              :           return gen_split_1152 (insn, operands);
   26448              : 
   26449              :         case 3:
   26450              :           if (!(
   26451              : #line 4899 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26452              : (TARGET_SSE2) && 
   26453              : #line 4901 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26454              : ( reload_completed)))
   26455              :             return NULL;
   26456              :           return gen_split_1151 (insn, operands);
   26457              : 
   26458              :         case 4:
   26459              :           if (!(
   26460              : #line 4956 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26461              : (TARGET_MMX || TARGET_MMX_WITH_SSE) && 
   26462              : #line 4961 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26463              : ( reload_completed
   26464              :    && SSE_REGNO_P (REGNO (operands[0])))))
   26465              :             return NULL;
   26466              :           return gen_split_1154 (insn, operands);
   26467              : 
   26468              :         case 5:
   26469              :           if (!(
   26470              : #line 4939 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26471              : (TARGET_SSE2) && 
   26472              : #line 4941 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26473              : ( reload_completed)))
   26474              :             return NULL;
   26475              :           return gen_split_1153 (insn, operands);
   26476              : 
   26477              :         case 6:
   26478              :           if (!(
   26479              : #line 4977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26480              : (TARGET_MMX || TARGET_MMX_WITH_SSE) && 
   26481              : #line 4982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26482              : ( reload_completed
   26483              :    && SSE_REGNO_P (REGNO (operands[0])))))
   26484              :             return NULL;
   26485              :           return gen_split_1155 (insn, operands);
   26486              : 
   26487              :         default:
   26488              :           return NULL;
   26489              :         }
   26490              : 
   26491              :     case REG:
   26492              :     case SUBREG:
   26493              :     case MEM:
   26494              :       switch (XVECLEN (x3, 0))
   26495              :         {
   26496              :         case 1:
   26497              :           res = split_50 (x1, insn);
   26498              :           if (res != NULL_RTX)
   26499              :             return res;
   26500              :           break;
   26501              : 
   26502              :         case 2:
   26503              :           x7 = XVECEXP (x3, 0, 0);
   26504              :           if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + 1])
   26505              :             {
   26506              :               x6 = XVECEXP (x3, 0, 1);
   26507              :               if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + 0]
   26508              :                   && memory_operand (operands[0], E_V2SImode)
   26509              :                   && GET_MODE (x2) == E_V2SImode
   26510              :                   && rtx_equal_p (x5, operands[0])
   26511              :                   && 
   26512              : #line 5661 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26513              : (TARGET_64BIT && (TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())))
   26514              :                 return gen_split_1161 (insn, operands);
   26515              :             }
   26516              :           break;
   26517              : 
   26518              :         default:
   26519              :           break;
   26520              :         }
   26521              :       if (XVECLEN (x3, 0) != 1)
   26522              :         return NULL;
   26523              :       x7 = XVECEXP (x3, 0, 0);
   26524              :       if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + 0]
   26525              :           && GET_MODE (x2) == E_DImode)
   26526              :         {
   26527              :           if (GET_CODE (x5) == SUBREG
   26528              :               && known_eq (SUBREG_BYTE (x5), 0)
   26529              :               && GET_MODE (x5) == E_V2DImode
   26530              :               && register_operand (operands[0], E_DImode))
   26531              :             {
   26532              :               x8 = XEXP (x5, 0);
   26533              :               switch (pattern1220 (x8))
   26534              :                 {
   26535              :                 case 0:
   26536              :                   if (pshufb_truncv8hiv8qi_operand (operands[2], E_V16QImode)
   26537              :                       && (
   26538              : #line 15707 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26539              : (TARGET_AVX512VL && TARGET_AVX512BW && ix86_pre_reload_split ()) && 
   26540              : #line 15709 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26541              : ( 1)))
   26542              :                     return gen_split_3267 (insn, operands);
   26543              :                   if (pshufb_truncv4siv4hi_operand (operands[2], E_V16QImode)
   26544              :                       && (
   26545              : #line 16062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26546              : (TARGET_AVX512VL && ix86_pre_reload_split ()) && 
   26547              : #line 16064 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26548              : ( 1)))
   26549              :                     return gen_split_3283 (insn, operands);
   26550              :                   break;
   26551              : 
   26552              :                 case 1:
   26553              :                   if ((
   26554              : #line 16303 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26555              : (TARGET_AVX512VL && ix86_pre_reload_split ()) && 
   26556              : #line 16305 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26557              : ( 1)))
   26558              :                     return gen_split_3293 (insn, operands);
   26559              :                   break;
   26560              : 
   26561              :                 default:
   26562              :                   break;
   26563              :                 }
   26564              :             }
   26565              :           operands[1] = x5;
   26566              :           if (register_operand (operands[1], E_V2DImode))
   26567              :             {
   26568              :               if (general_reg_operand (operands[0], E_DImode)
   26569              :                   && 
   26570              : #line 21526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26571              : (TARGET_SSE4_1 && !TARGET_64BIT
   26572              :    && reload_completed))
   26573              :                 return gen_split_3479 (insn, operands);
   26574              :               if (nonimmediate_operand (operands[0], E_DImode)
   26575              :                   && 
   26576              : #line 21544 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26577              : (TARGET_SSE && reload_completed))
   26578              :                 return gen_split_3481 (insn, operands);
   26579              :             }
   26580              :         }
   26581              :       if (!register_operand (operands[0], E_DImode)
   26582              :           || GET_MODE (x2) != E_DImode)
   26583              :         return NULL;
   26584              :       operands[1] = x5;
   26585              :       if (!memory_operand (operands[1], E_V2DImode))
   26586              :         return NULL;
   26587              :       operands[2] = x7;
   26588              :       if (!const_0_to_1_operand (operands[2], E_VOIDmode)
   26589              :           || !
   26590              : #line 21731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26591              : (TARGET_SSE && reload_completed))
   26592              :         return NULL;
   26593              :       return gen_split_3487 (insn, operands);
   26594              : 
   26595              :     case UNSPEC:
   26596              :       if (pattern275 (x2) != 0
   26597              :           || !
   26598              : #line 8756 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26599              : (TARGET_SSE2 && reload_completed
   26600              :    && SSE_REG_P (operands[0])))
   26601              :         return NULL;
   26602              :       return gen_split_1601 (insn, operands);
   26603              : 
   26604              :     case FIX:
   26605              :       if (pattern277 (x2) != 0
   26606              :           || !
   26607              : #line 8820 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26608              : (TARGET_SSE2 && reload_completed
   26609              :    && SSE_REG_P (operands[0])))
   26610              :         return NULL;
   26611              :       return gen_split_1603 (insn, operands);
   26612              : 
   26613              :     default:
   26614              :       return NULL;
   26615              :     }
   26616              : }
   26617              : 
   26618              :  rtx_insn *
   26619              : split_57 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
   26620              : {
   26621              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   26622              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   26623              :   rtx x10, x11, x12, x13, x14;
   26624              :   rtx_insn *res ATTRIBUTE_UNUSED;
   26625              :   x2 = XEXP (x1, 1);
   26626              :   operands[3] = x2;
   26627              :   x3 = XEXP (x2, 0);
   26628              :   if (GET_CODE (x3) != UNSPEC
   26629              :       || XVECLEN (x3, 0) != 2
   26630              :       || XINT (x3, 1) != 131
   26631              :       || GET_MODE (x3) != E_CCZmode)
   26632              :     return NULL;
   26633              :   x4 = XVECEXP (x3, 0, 0);
   26634              :   if (GET_CODE (x4) != AND)
   26635              :     return NULL;
   26636              :   x5 = XEXP (x4, 0);
   26637              :   if (GET_CODE (x5) != NOT)
   26638              :     return NULL;
   26639              :   x6 = XVECEXP (x3, 0, 1);
   26640              :   if (GET_CODE (x6) != AND)
   26641              :     return NULL;
   26642              :   x7 = XEXP (x6, 0);
   26643              :   if (GET_CODE (x7) != NOT)
   26644              :     return NULL;
   26645              :   x8 = XEXP (x2, 1);
   26646              :   if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   26647              :     return NULL;
   26648              :   x9 = XEXP (x5, 0);
   26649              :   operands[1] = x9;
   26650              :   x10 = XEXP (x4, 1);
   26651              :   operands[2] = x10;
   26652              :   x11 = XEXP (x7, 0);
   26653              :   if (!rtx_equal_p (x11, operands[1]))
   26654              :     return NULL;
   26655              :   x12 = XEXP (x6, 1);
   26656              :   if (!rtx_equal_p (x12, operands[2]))
   26657              :     return NULL;
   26658              :   x13 = XEXP (x1, 0);
   26659              :   switch (GET_CODE (x13))
   26660              :     {
   26661              :     case REG:
   26662              :     case SUBREG:
   26663              :       operands[0] = x13;
   26664              :       switch (GET_MODE (operands[0]))
   26665              :         {
   26666              :         case E_QImode:
   26667              :           if (!register_operand (operands[0], E_QImode))
   26668              :             return NULL;
   26669              :           switch (pattern1710 (x3, 
   26670              : E_QImode))
   26671              :             {
   26672              :             case 0:
   26673              :               if (!
   26674              : #line 25989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26675              : (TARGET_SSE4_1))
   26676              :                 return NULL;
   26677              :               return gen_split_3699 (insn, operands);
   26678              : 
   26679              :             case 1:
   26680              :               if (!
   26681              : #line 25989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26682              : (TARGET_SSE4_1))
   26683              :                 return NULL;
   26684              :               return gen_split_3700 (insn, operands);
   26685              : 
   26686              :             case 2:
   26687              :               if (!
   26688              : #line 25989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26689              : (TARGET_SSE4_1))
   26690              :                 return NULL;
   26691              :               return gen_split_3701 (insn, operands);
   26692              : 
   26693              :             case 3:
   26694              :               if (!
   26695              : #line 25989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26696              : (TARGET_SSE4_1))
   26697              :                 return NULL;
   26698              :               return gen_split_3702 (insn, operands);
   26699              : 
   26700              :             case 4:
   26701              :               if (!
   26702              : #line 25989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26703              : (TARGET_SSE4_1))
   26704              :                 return NULL;
   26705              :               return gen_split_3703 (insn, operands);
   26706              : 
   26707              :             case 5:
   26708              :               if (!
   26709              : #line 25989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26710              : (TARGET_SSE4_1))
   26711              :                 return NULL;
   26712              :               return gen_split_3704 (insn, operands);
   26713              : 
   26714              :             case 6:
   26715              :               if (!
   26716              : #line 25989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26717              : (TARGET_SSE4_1))
   26718              :                 return NULL;
   26719              :               return gen_split_3705 (insn, operands);
   26720              : 
   26721              :             case 7:
   26722              :               if (!(
   26723              : #line 25989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26724              : (TARGET_SSE4_1) && 
   26725              : #line 602 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26726              : (TARGET_AVX)))
   26727              :                 return NULL;
   26728              :               return gen_split_3706 (insn, operands);
   26729              : 
   26730              :             case 8:
   26731              :               if (!(
   26732              : #line 25989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26733              : (TARGET_SSE4_1) && 
   26734              : #line 602 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26735              : (TARGET_AVX)))
   26736              :                 return NULL;
   26737              :               return gen_split_3707 (insn, operands);
   26738              : 
   26739              :             case 9:
   26740              :               if (!(
   26741              : #line 25989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26742              : (TARGET_SSE4_1) && 
   26743              : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26744              : (TARGET_AVX)))
   26745              :                 return NULL;
   26746              :               return gen_split_3708 (insn, operands);
   26747              : 
   26748              :             case 10:
   26749              :               if (!(
   26750              : #line 25989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26751              : (TARGET_SSE4_1) && 
   26752              : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26753              : (TARGET_AVX)))
   26754              :                 return NULL;
   26755              :               return gen_split_3709 (insn, operands);
   26756              : 
   26757              :             case 11:
   26758              :               if (!(
   26759              : #line 25989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26760              : (TARGET_SSE4_1) && 
   26761              : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26762              : (TARGET_AVX)))
   26763              :                 return NULL;
   26764              :               return gen_split_3710 (insn, operands);
   26765              : 
   26766              :             case 12:
   26767              :               if (!(
   26768              : #line 25989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26769              : (TARGET_SSE4_1) && 
   26770              : #line 604 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26771              : (TARGET_AVX)))
   26772              :                 return NULL;
   26773              :               return gen_split_3711 (insn, operands);
   26774              : 
   26775              :             case 13:
   26776              :               if (!(
   26777              : #line 25989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26778              : (TARGET_SSE4_1) && 
   26779              : #line 604 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26780              : (TARGET_AVX)))
   26781              :                 return NULL;
   26782              :               return gen_split_3712 (insn, operands);
   26783              : 
   26784              :             default:
   26785              :               return NULL;
   26786              :             }
   26787              : 
   26788              :         case E_HImode:
   26789              :           if (!register_operand (operands[0], E_HImode))
   26790              :             return NULL;
   26791              :           switch (pattern1710 (x3, 
   26792              : E_HImode))
   26793              :             {
   26794              :             case 0:
   26795              :               if (!
   26796              : #line 25989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26797              : (TARGET_SSE4_1))
   26798              :                 return NULL;
   26799              :               return gen_split_3713 (insn, operands);
   26800              : 
   26801              :             case 1:
   26802              :               if (!
   26803              : #line 25989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26804              : (TARGET_SSE4_1))
   26805              :                 return NULL;
   26806              :               return gen_split_3714 (insn, operands);
   26807              : 
   26808              :             case 2:
   26809              :               if (!
   26810              : #line 25989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26811              : (TARGET_SSE4_1))
   26812              :                 return NULL;
   26813              :               return gen_split_3715 (insn, operands);
   26814              : 
   26815              :             case 3:
   26816              :               if (!
   26817              : #line 25989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26818              : (TARGET_SSE4_1))
   26819              :                 return NULL;
   26820              :               return gen_split_3716 (insn, operands);
   26821              : 
   26822              :             case 4:
   26823              :               if (!
   26824              : #line 25989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26825              : (TARGET_SSE4_1))
   26826              :                 return NULL;
   26827              :               return gen_split_3717 (insn, operands);
   26828              : 
   26829              :             case 5:
   26830              :               if (!
   26831              : #line 25989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26832              : (TARGET_SSE4_1))
   26833              :                 return NULL;
   26834              :               return gen_split_3718 (insn, operands);
   26835              : 
   26836              :             case 6:
   26837              :               if (!
   26838              : #line 25989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26839              : (TARGET_SSE4_1))
   26840              :                 return NULL;
   26841              :               return gen_split_3719 (insn, operands);
   26842              : 
   26843              :             case 7:
   26844              :               if (!(
   26845              : #line 25989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26846              : (TARGET_SSE4_1) && 
   26847              : #line 602 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26848              : (TARGET_AVX)))
   26849              :                 return NULL;
   26850              :               return gen_split_3720 (insn, operands);
   26851              : 
   26852              :             case 8:
   26853              :               if (!(
   26854              : #line 25989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26855              : (TARGET_SSE4_1) && 
   26856              : #line 602 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26857              : (TARGET_AVX)))
   26858              :                 return NULL;
   26859              :               return gen_split_3721 (insn, operands);
   26860              : 
   26861              :             case 9:
   26862              :               if (!(
   26863              : #line 25989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26864              : (TARGET_SSE4_1) && 
   26865              : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26866              : (TARGET_AVX)))
   26867              :                 return NULL;
   26868              :               return gen_split_3722 (insn, operands);
   26869              : 
   26870              :             case 10:
   26871              :               if (!(
   26872              : #line 25989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26873              : (TARGET_SSE4_1) && 
   26874              : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26875              : (TARGET_AVX)))
   26876              :                 return NULL;
   26877              :               return gen_split_3723 (insn, operands);
   26878              : 
   26879              :             case 11:
   26880              :               if (!(
   26881              : #line 25989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26882              : (TARGET_SSE4_1) && 
   26883              : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26884              : (TARGET_AVX)))
   26885              :                 return NULL;
   26886              :               return gen_split_3724 (insn, operands);
   26887              : 
   26888              :             case 12:
   26889              :               if (!(
   26890              : #line 25989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26891              : (TARGET_SSE4_1) && 
   26892              : #line 604 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26893              : (TARGET_AVX)))
   26894              :                 return NULL;
   26895              :               return gen_split_3725 (insn, operands);
   26896              : 
   26897              :             case 13:
   26898              :               if (!(
   26899              : #line 25989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26900              : (TARGET_SSE4_1) && 
   26901              : #line 604 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26902              : (TARGET_AVX)))
   26903              :                 return NULL;
   26904              :               return gen_split_3726 (insn, operands);
   26905              : 
   26906              :             default:
   26907              :               return NULL;
   26908              :             }
   26909              : 
   26910              :         case E_SImode:
   26911              :           if (!register_operand (operands[0], E_SImode))
   26912              :             return NULL;
   26913              :           switch (pattern1710 (x3, 
   26914              : E_SImode))
   26915              :             {
   26916              :             case 0:
   26917              :               if (!
   26918              : #line 25989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26919              : (TARGET_SSE4_1))
   26920              :                 return NULL;
   26921              :               return gen_split_3727 (insn, operands);
   26922              : 
   26923              :             case 1:
   26924              :               if (!
   26925              : #line 25989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26926              : (TARGET_SSE4_1))
   26927              :                 return NULL;
   26928              :               return gen_split_3728 (insn, operands);
   26929              : 
   26930              :             case 2:
   26931              :               if (!
   26932              : #line 25989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26933              : (TARGET_SSE4_1))
   26934              :                 return NULL;
   26935              :               return gen_split_3729 (insn, operands);
   26936              : 
   26937              :             case 3:
   26938              :               if (!
   26939              : #line 25989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26940              : (TARGET_SSE4_1))
   26941              :                 return NULL;
   26942              :               return gen_split_3730 (insn, operands);
   26943              : 
   26944              :             case 4:
   26945              :               if (!
   26946              : #line 25989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26947              : (TARGET_SSE4_1))
   26948              :                 return NULL;
   26949              :               return gen_split_3731 (insn, operands);
   26950              : 
   26951              :             case 5:
   26952              :               if (!
   26953              : #line 25989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26954              : (TARGET_SSE4_1))
   26955              :                 return NULL;
   26956              :               return gen_split_3732 (insn, operands);
   26957              : 
   26958              :             case 6:
   26959              :               if (!
   26960              : #line 25989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26961              : (TARGET_SSE4_1))
   26962              :                 return NULL;
   26963              :               return gen_split_3733 (insn, operands);
   26964              : 
   26965              :             case 7:
   26966              :               if (!(
   26967              : #line 25989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26968              : (TARGET_SSE4_1) && 
   26969              : #line 602 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26970              : (TARGET_AVX)))
   26971              :                 return NULL;
   26972              :               return gen_split_3734 (insn, operands);
   26973              : 
   26974              :             case 8:
   26975              :               if (!(
   26976              : #line 25989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26977              : (TARGET_SSE4_1) && 
   26978              : #line 602 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26979              : (TARGET_AVX)))
   26980              :                 return NULL;
   26981              :               return gen_split_3735 (insn, operands);
   26982              : 
   26983              :             case 9:
   26984              :               if (!(
   26985              : #line 25989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26986              : (TARGET_SSE4_1) && 
   26987              : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26988              : (TARGET_AVX)))
   26989              :                 return NULL;
   26990              :               return gen_split_3736 (insn, operands);
   26991              : 
   26992              :             case 10:
   26993              :               if (!(
   26994              : #line 25989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26995              : (TARGET_SSE4_1) && 
   26996              : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26997              : (TARGET_AVX)))
   26998              :                 return NULL;
   26999              :               return gen_split_3737 (insn, operands);
   27000              : 
   27001              :             case 11:
   27002              :               if (!(
   27003              : #line 25989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27004              : (TARGET_SSE4_1) && 
   27005              : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27006              : (TARGET_AVX)))
   27007              :                 return NULL;
   27008              :               return gen_split_3738 (insn, operands);
   27009              : 
   27010              :             case 12:
   27011              :               if (!(
   27012              : #line 25989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27013              : (TARGET_SSE4_1) && 
   27014              : #line 604 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27015              : (TARGET_AVX)))
   27016              :                 return NULL;
   27017              :               return gen_split_3739 (insn, operands);
   27018              : 
   27019              :             case 13:
   27020              :               if (!(
   27021              : #line 25989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27022              : (TARGET_SSE4_1) && 
   27023              : #line 604 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27024              : (TARGET_AVX)))
   27025              :                 return NULL;
   27026              :               return gen_split_3740 (insn, operands);
   27027              : 
   27028              :             default:
   27029              :               return NULL;
   27030              :             }
   27031              : 
   27032              :         case E_DImode:
   27033              :           if (!register_operand (operands[0], E_DImode))
   27034              :             return NULL;
   27035              :           switch (pattern1710 (x3, 
   27036              : E_DImode))
   27037              :             {
   27038              :             case 0:
   27039              :               if (!(
   27040              : #line 25989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27041              : (TARGET_SSE4_1) && 
   27042              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   27043              : (TARGET_64BIT)))
   27044              :                 return NULL;
   27045              :               return gen_split_3741 (insn, operands);
   27046              : 
   27047              :             case 1:
   27048              :               if (!(
   27049              : #line 25989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27050              : (TARGET_SSE4_1) && 
   27051              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   27052              : (TARGET_64BIT)))
   27053              :                 return NULL;
   27054              :               return gen_split_3742 (insn, operands);
   27055              : 
   27056              :             case 2:
   27057              :               if (!(
   27058              : #line 25989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27059              : (TARGET_SSE4_1) && 
   27060              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   27061              : (TARGET_64BIT)))
   27062              :                 return NULL;
   27063              :               return gen_split_3743 (insn, operands);
   27064              : 
   27065              :             case 3:
   27066              :               if (!(
   27067              : #line 25989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27068              : (TARGET_SSE4_1) && 
   27069              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   27070              : (TARGET_64BIT)))
   27071              :                 return NULL;
   27072              :               return gen_split_3744 (insn, operands);
   27073              : 
   27074              :             case 4:
   27075              :               if (!(
   27076              : #line 25989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27077              : (TARGET_SSE4_1) && 
   27078              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   27079              : (TARGET_64BIT)))
   27080              :                 return NULL;
   27081              :               return gen_split_3745 (insn, operands);
   27082              : 
   27083              :             case 5:
   27084              :               if (!(
   27085              : #line 25989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27086              : (TARGET_SSE4_1) && 
   27087              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   27088              : (TARGET_64BIT)))
   27089              :                 return NULL;
   27090              :               return gen_split_3746 (insn, operands);
   27091              : 
   27092              :             case 6:
   27093              :               if (!(
   27094              : #line 25989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27095              : (TARGET_SSE4_1) && 
   27096              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   27097              : (TARGET_64BIT)))
   27098              :                 return NULL;
   27099              :               return gen_split_3747 (insn, operands);
   27100              : 
   27101              :             case 7:
   27102              :               if (!(
   27103              : #line 25989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27104              : (TARGET_SSE4_1) && ((((((
   27105              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   27106              : (TARGET_64BIT) && 
   27107              : #line 602 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27108              : (TARGET_AVX)) && 
   27109              : #line 602 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27110              : (TARGET_AVX)) && 
   27111              : #line 602 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27112              : (TARGET_AVX)) && 
   27113              : #line 602 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27114              : (TARGET_AVX)) && 
   27115              : #line 602 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27116              : (TARGET_AVX)) && 
   27117              : #line 602 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27118              : (TARGET_AVX))))
   27119              :                 return NULL;
   27120              :               return gen_split_3748 (insn, operands);
   27121              : 
   27122              :             case 8:
   27123              :               if (!(
   27124              : #line 25989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27125              : (TARGET_SSE4_1) && ((((((
   27126              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   27127              : (TARGET_64BIT) && 
   27128              : #line 602 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27129              : (TARGET_AVX)) && 
   27130              : #line 602 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27131              : (TARGET_AVX)) && 
   27132              : #line 602 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27133              : (TARGET_AVX)) && 
   27134              : #line 602 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27135              : (TARGET_AVX)) && 
   27136              : #line 602 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27137              : (TARGET_AVX)) && 
   27138              : #line 602 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27139              : (TARGET_AVX))))
   27140              :                 return NULL;
   27141              :               return gen_split_3749 (insn, operands);
   27142              : 
   27143              :             case 9:
   27144              :               if (!(
   27145              : #line 25989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27146              : (TARGET_SSE4_1) && ((((((
   27147              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   27148              : (TARGET_64BIT) && 
   27149              : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27150              : (TARGET_AVX)) && 
   27151              : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27152              : (TARGET_AVX)) && 
   27153              : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27154              : (TARGET_AVX)) && 
   27155              : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27156              : (TARGET_AVX)) && 
   27157              : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27158              : (TARGET_AVX)) && 
   27159              : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27160              : (TARGET_AVX))))
   27161              :                 return NULL;
   27162              :               return gen_split_3750 (insn, operands);
   27163              : 
   27164              :             case 10:
   27165              :               if (!(
   27166              : #line 25989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27167              : (TARGET_SSE4_1) && ((((((
   27168              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   27169              : (TARGET_64BIT) && 
   27170              : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27171              : (TARGET_AVX)) && 
   27172              : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27173              : (TARGET_AVX)) && 
   27174              : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27175              : (TARGET_AVX)) && 
   27176              : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27177              : (TARGET_AVX)) && 
   27178              : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27179              : (TARGET_AVX)) && 
   27180              : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27181              : (TARGET_AVX))))
   27182              :                 return NULL;
   27183              :               return gen_split_3751 (insn, operands);
   27184              : 
   27185              :             case 11:
   27186              :               if (!(
   27187              : #line 25989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27188              : (TARGET_SSE4_1) && ((((((
   27189              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   27190              : (TARGET_64BIT) && 
   27191              : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27192              : (TARGET_AVX)) && 
   27193              : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27194              : (TARGET_AVX)) && 
   27195              : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27196              : (TARGET_AVX)) && 
   27197              : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27198              : (TARGET_AVX)) && 
   27199              : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27200              : (TARGET_AVX)) && 
   27201              : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27202              : (TARGET_AVX))))
   27203              :                 return NULL;
   27204              :               return gen_split_3752 (insn, operands);
   27205              : 
   27206              :             case 12:
   27207              :               if (!(
   27208              : #line 25989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27209              : (TARGET_SSE4_1) && ((((((
   27210              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   27211              : (TARGET_64BIT) && 
   27212              : #line 604 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27213              : (TARGET_AVX)) && 
   27214              : #line 604 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27215              : (TARGET_AVX)) && 
   27216              : #line 604 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27217              : (TARGET_AVX)) && 
   27218              : #line 604 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27219              : (TARGET_AVX)) && 
   27220              : #line 604 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27221              : (TARGET_AVX)) && 
   27222              : #line 604 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27223              : (TARGET_AVX))))
   27224              :                 return NULL;
   27225              :               return gen_split_3753 (insn, operands);
   27226              : 
   27227              :             case 13:
   27228              :               if (!(
   27229              : #line 25989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27230              : (TARGET_SSE4_1) && ((((((
   27231              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   27232              : (TARGET_64BIT) && 
   27233              : #line 604 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27234              : (TARGET_AVX)) && 
   27235              : #line 604 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27236              : (TARGET_AVX)) && 
   27237              : #line 604 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27238              : (TARGET_AVX)) && 
   27239              : #line 604 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27240              : (TARGET_AVX)) && 
   27241              : #line 604 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27242              : (TARGET_AVX)) && 
   27243              : #line 604 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27244              : (TARGET_AVX))))
   27245              :                 return NULL;
   27246              :               return gen_split_3754 (insn, operands);
   27247              : 
   27248              :             default:
   27249              :               return NULL;
   27250              :             }
   27251              : 
   27252              :         default:
   27253              :           return NULL;
   27254              :         }
   27255              : 
   27256              :     case STRICT_LOW_PART:
   27257              :       x14 = XEXP (x13, 0);
   27258              :       operands[0] = x14;
   27259              :       if (!register_operand (operands[0], E_QImode))
   27260              :         return NULL;
   27261              :       switch (pattern1710 (x3, 
   27262              : E_QImode))
   27263              :         {
   27264              :         case 0:
   27265              :           if (!
   27266              : #line 26004 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27267              : (TARGET_SSE4_1))
   27268              :             return NULL;
   27269              :           return gen_split_3755 (insn, operands);
   27270              : 
   27271              :         case 1:
   27272              :           if (!
   27273              : #line 26004 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27274              : (TARGET_SSE4_1))
   27275              :             return NULL;
   27276              :           return gen_split_3756 (insn, operands);
   27277              : 
   27278              :         case 2:
   27279              :           if (!
   27280              : #line 26004 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27281              : (TARGET_SSE4_1))
   27282              :             return NULL;
   27283              :           return gen_split_3757 (insn, operands);
   27284              : 
   27285              :         case 3:
   27286              :           if (!
   27287              : #line 26004 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27288              : (TARGET_SSE4_1))
   27289              :             return NULL;
   27290              :           return gen_split_3758 (insn, operands);
   27291              : 
   27292              :         case 4:
   27293              :           if (!
   27294              : #line 26004 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27295              : (TARGET_SSE4_1))
   27296              :             return NULL;
   27297              :           return gen_split_3759 (insn, operands);
   27298              : 
   27299              :         case 5:
   27300              :           if (!
   27301              : #line 26004 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27302              : (TARGET_SSE4_1))
   27303              :             return NULL;
   27304              :           return gen_split_3760 (insn, operands);
   27305              : 
   27306              :         case 6:
   27307              :           if (!
   27308              : #line 26004 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27309              : (TARGET_SSE4_1))
   27310              :             return NULL;
   27311              :           return gen_split_3761 (insn, operands);
   27312              : 
   27313              :         case 7:
   27314              :           if (!(
   27315              : #line 26004 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27316              : (TARGET_SSE4_1) && 
   27317              : #line 602 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27318              : (TARGET_AVX)))
   27319              :             return NULL;
   27320              :           return gen_split_3762 (insn, operands);
   27321              : 
   27322              :         case 8:
   27323              :           if (!(
   27324              : #line 26004 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27325              : (TARGET_SSE4_1) && 
   27326              : #line 602 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27327              : (TARGET_AVX)))
   27328              :             return NULL;
   27329              :           return gen_split_3763 (insn, operands);
   27330              : 
   27331              :         case 9:
   27332              :           if (!(
   27333              : #line 26004 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27334              : (TARGET_SSE4_1) && 
   27335              : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27336              : (TARGET_AVX)))
   27337              :             return NULL;
   27338              :           return gen_split_3764 (insn, operands);
   27339              : 
   27340              :         case 10:
   27341              :           if (!(
   27342              : #line 26004 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27343              : (TARGET_SSE4_1) && 
   27344              : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27345              : (TARGET_AVX)))
   27346              :             return NULL;
   27347              :           return gen_split_3765 (insn, operands);
   27348              : 
   27349              :         case 11:
   27350              :           if (!(
   27351              : #line 26004 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27352              : (TARGET_SSE4_1) && 
   27353              : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27354              : (TARGET_AVX)))
   27355              :             return NULL;
   27356              :           return gen_split_3766 (insn, operands);
   27357              : 
   27358              :         case 12:
   27359              :           if (!(
   27360              : #line 26004 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27361              : (TARGET_SSE4_1) && 
   27362              : #line 604 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27363              : (TARGET_AVX)))
   27364              :             return NULL;
   27365              :           return gen_split_3767 (insn, operands);
   27366              : 
   27367              :         case 13:
   27368              :           if (!(
   27369              : #line 26004 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27370              : (TARGET_SSE4_1) && 
   27371              : #line 604 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27372              : (TARGET_AVX)))
   27373              :             return NULL;
   27374              :           return gen_split_3768 (insn, operands);
   27375              : 
   27376              :         default:
   27377              :           return NULL;
   27378              :         }
   27379              : 
   27380              :     default:
   27381              :       return NULL;
   27382              :     }
   27383              : }
   27384              : 
   27385              :  rtx_insn *
   27386              : split_67 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
   27387              : {
   27388              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   27389              :   rtx x2, x3, x4;
   27390              :   rtx_insn *res ATTRIBUTE_UNUSED;
   27391              :   x2 = XEXP (x1, 1);
   27392              :   x3 = XEXP (x2, 0);
   27393              :   x4 = XEXP (x3, 0);
   27394              :   switch (GET_CODE (x4))
   27395              :     {
   27396              :     case REG:
   27397              :     case SUBREG:
   27398              :     case MEM:
   27399              :     case NOT:
   27400              :       switch (pattern535 (x2))
   27401              :         {
   27402              :         case 0:
   27403              :           if (!((
   27404              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27405              : ((64 == 64 || TARGET_AVX512VL
   27406              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27407              :    && ix86_pre_reload_split ()
   27408              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27409              :                     STRIP_UNARY (operands[4]))
   27410              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27411              :                        STRIP_UNARY (operands[4]))
   27412              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27413              :                        STRIP_UNARY (operands[3]))
   27414              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27415              :                        STRIP_UNARY (operands[3])))) && 
   27416              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27417              : (TARGET_AVX512F)) && 
   27418              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27419              : ( 1)))
   27420              :             return NULL;
   27421              :           return gen_split_1752 (insn, operands);
   27422              : 
   27423              :         case 1:
   27424              :           if (!((
   27425              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27426              : ((32 == 64 || TARGET_AVX512VL
   27427              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27428              :    && ix86_pre_reload_split ()
   27429              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27430              :                     STRIP_UNARY (operands[4]))
   27431              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27432              :                        STRIP_UNARY (operands[4]))
   27433              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27434              :                        STRIP_UNARY (operands[3]))
   27435              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27436              :                        STRIP_UNARY (operands[3])))) && 
   27437              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27438              : (TARGET_AVX)) && 
   27439              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27440              : ( 1)))
   27441              :             return NULL;
   27442              :           return gen_split_1779 (insn, operands);
   27443              : 
   27444              :         case 2:
   27445              :           if (!(
   27446              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27447              : ((16 == 64 || TARGET_AVX512VL
   27448              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27449              :    && ix86_pre_reload_split ()
   27450              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27451              :                     STRIP_UNARY (operands[4]))
   27452              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27453              :                        STRIP_UNARY (operands[4]))
   27454              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27455              :                        STRIP_UNARY (operands[3]))
   27456              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27457              :                        STRIP_UNARY (operands[3])))) && 
   27458              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27459              : ( 1)))
   27460              :             return NULL;
   27461              :           return gen_split_1806 (insn, operands);
   27462              : 
   27463              :         case 3:
   27464              :           if (!((
   27465              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27466              : ((64 == 64 || TARGET_AVX512VL
   27467              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27468              :    && ix86_pre_reload_split ()
   27469              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27470              :                     STRIP_UNARY (operands[4]))
   27471              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27472              :                        STRIP_UNARY (operands[4]))
   27473              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27474              :                        STRIP_UNARY (operands[3]))
   27475              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27476              :                        STRIP_UNARY (operands[3])))) && 
   27477              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27478              : (TARGET_AVX512F)) && 
   27479              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27480              : ( 1)))
   27481              :             return NULL;
   27482              :           return gen_split_1833 (insn, operands);
   27483              : 
   27484              :         case 4:
   27485              :           if (!((
   27486              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27487              : ((32 == 64 || TARGET_AVX512VL
   27488              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27489              :    && ix86_pre_reload_split ()
   27490              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27491              :                     STRIP_UNARY (operands[4]))
   27492              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27493              :                        STRIP_UNARY (operands[4]))
   27494              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27495              :                        STRIP_UNARY (operands[3]))
   27496              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27497              :                        STRIP_UNARY (operands[3])))) && 
   27498              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27499              : (TARGET_AVX)) && 
   27500              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27501              : ( 1)))
   27502              :             return NULL;
   27503              :           return gen_split_1860 (insn, operands);
   27504              : 
   27505              :         case 5:
   27506              :           if (!(
   27507              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27508              : ((16 == 64 || TARGET_AVX512VL
   27509              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27510              :    && ix86_pre_reload_split ()
   27511              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27512              :                     STRIP_UNARY (operands[4]))
   27513              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27514              :                        STRIP_UNARY (operands[4]))
   27515              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27516              :                        STRIP_UNARY (operands[3]))
   27517              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27518              :                        STRIP_UNARY (operands[3])))) && 
   27519              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27520              : ( 1)))
   27521              :             return NULL;
   27522              :           return gen_split_1887 (insn, operands);
   27523              : 
   27524              :         case 6:
   27525              :           if (!((
   27526              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27527              : ((64 == 64 || TARGET_AVX512VL
   27528              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27529              :    && ix86_pre_reload_split ()
   27530              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27531              :                     STRIP_UNARY (operands[4]))
   27532              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27533              :                        STRIP_UNARY (operands[4]))
   27534              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27535              :                        STRIP_UNARY (operands[3]))
   27536              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27537              :                        STRIP_UNARY (operands[3])))) && 
   27538              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27539              : (TARGET_AVX512F)) && 
   27540              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27541              : ( 1)))
   27542              :             return NULL;
   27543              :           return gen_split_1914 (insn, operands);
   27544              : 
   27545              :         case 7:
   27546              :           if (!((
   27547              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27548              : ((32 == 64 || TARGET_AVX512VL
   27549              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27550              :    && ix86_pre_reload_split ()
   27551              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27552              :                     STRIP_UNARY (operands[4]))
   27553              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27554              :                        STRIP_UNARY (operands[4]))
   27555              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27556              :                        STRIP_UNARY (operands[3]))
   27557              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27558              :                        STRIP_UNARY (operands[3])))) && 
   27559              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27560              : (TARGET_AVX)) && 
   27561              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27562              : ( 1)))
   27563              :             return NULL;
   27564              :           return gen_split_1941 (insn, operands);
   27565              : 
   27566              :         case 8:
   27567              :           if (!(
   27568              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27569              : ((16 == 64 || TARGET_AVX512VL
   27570              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27571              :    && ix86_pre_reload_split ()
   27572              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27573              :                     STRIP_UNARY (operands[4]))
   27574              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27575              :                        STRIP_UNARY (operands[4]))
   27576              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27577              :                        STRIP_UNARY (operands[3]))
   27578              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27579              :                        STRIP_UNARY (operands[3])))) && 
   27580              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27581              : ( 1)))
   27582              :             return NULL;
   27583              :           return gen_split_1968 (insn, operands);
   27584              : 
   27585              :         case 9:
   27586              :           if (!((
   27587              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27588              : ((64 == 64 || TARGET_AVX512VL
   27589              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27590              :    && ix86_pre_reload_split ()
   27591              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27592              :                     STRIP_UNARY (operands[4]))
   27593              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27594              :                        STRIP_UNARY (operands[4]))
   27595              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27596              :                        STRIP_UNARY (operands[3]))
   27597              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27598              :                        STRIP_UNARY (operands[3])))) && 
   27599              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27600              : (TARGET_AVX512F)) && 
   27601              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27602              : ( 1)))
   27603              :             return NULL;
   27604              :           return gen_split_1995 (insn, operands);
   27605              : 
   27606              :         case 10:
   27607              :           if (!((
   27608              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27609              : ((32 == 64 || TARGET_AVX512VL
   27610              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27611              :    && ix86_pre_reload_split ()
   27612              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27613              :                     STRIP_UNARY (operands[4]))
   27614              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27615              :                        STRIP_UNARY (operands[4]))
   27616              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27617              :                        STRIP_UNARY (operands[3]))
   27618              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27619              :                        STRIP_UNARY (operands[3])))) && 
   27620              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27621              : (TARGET_AVX)) && 
   27622              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27623              : ( 1)))
   27624              :             return NULL;
   27625              :           return gen_split_2022 (insn, operands);
   27626              : 
   27627              :         case 11:
   27628              :           if (!(
   27629              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27630              : ((16 == 64 || TARGET_AVX512VL
   27631              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27632              :    && ix86_pre_reload_split ()
   27633              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27634              :                     STRIP_UNARY (operands[4]))
   27635              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27636              :                        STRIP_UNARY (operands[4]))
   27637              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27638              :                        STRIP_UNARY (operands[3]))
   27639              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27640              :                        STRIP_UNARY (operands[3])))) && 
   27641              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27642              : ( 1)))
   27643              :             return NULL;
   27644              :           return gen_split_2049 (insn, operands);
   27645              : 
   27646              :         case 12:
   27647              :           if (!((
   27648              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27649              : ((64 == 64 || TARGET_AVX512VL
   27650              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27651              :    && ix86_pre_reload_split ()
   27652              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27653              :                     STRIP_UNARY (operands[4]))
   27654              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27655              :                        STRIP_UNARY (operands[4]))
   27656              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27657              :                        STRIP_UNARY (operands[3]))
   27658              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27659              :                        STRIP_UNARY (operands[3])))) && 
   27660              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27661              : (TARGET_AVX512F)) && 
   27662              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27663              : ( 1)))
   27664              :             return NULL;
   27665              :           return gen_split_1755 (insn, operands);
   27666              : 
   27667              :         case 13:
   27668              :           if (!((
   27669              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27670              : ((32 == 64 || TARGET_AVX512VL
   27671              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27672              :    && ix86_pre_reload_split ()
   27673              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27674              :                     STRIP_UNARY (operands[4]))
   27675              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27676              :                        STRIP_UNARY (operands[4]))
   27677              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27678              :                        STRIP_UNARY (operands[3]))
   27679              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27680              :                        STRIP_UNARY (operands[3])))) && 
   27681              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27682              : (TARGET_AVX)) && 
   27683              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27684              : ( 1)))
   27685              :             return NULL;
   27686              :           return gen_split_1782 (insn, operands);
   27687              : 
   27688              :         case 14:
   27689              :           if (!(
   27690              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27691              : ((16 == 64 || TARGET_AVX512VL
   27692              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27693              :    && ix86_pre_reload_split ()
   27694              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27695              :                     STRIP_UNARY (operands[4]))
   27696              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27697              :                        STRIP_UNARY (operands[4]))
   27698              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27699              :                        STRIP_UNARY (operands[3]))
   27700              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27701              :                        STRIP_UNARY (operands[3])))) && 
   27702              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27703              : ( 1)))
   27704              :             return NULL;
   27705              :           return gen_split_1809 (insn, operands);
   27706              : 
   27707              :         case 15:
   27708              :           if (!((
   27709              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27710              : ((64 == 64 || TARGET_AVX512VL
   27711              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27712              :    && ix86_pre_reload_split ()
   27713              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27714              :                     STRIP_UNARY (operands[4]))
   27715              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27716              :                        STRIP_UNARY (operands[4]))
   27717              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27718              :                        STRIP_UNARY (operands[3]))
   27719              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27720              :                        STRIP_UNARY (operands[3])))) && 
   27721              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27722              : (TARGET_AVX512F)) && 
   27723              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27724              : ( 1)))
   27725              :             return NULL;
   27726              :           return gen_split_1836 (insn, operands);
   27727              : 
   27728              :         case 16:
   27729              :           if (!((
   27730              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27731              : ((32 == 64 || TARGET_AVX512VL
   27732              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27733              :    && ix86_pre_reload_split ()
   27734              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27735              :                     STRIP_UNARY (operands[4]))
   27736              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27737              :                        STRIP_UNARY (operands[4]))
   27738              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27739              :                        STRIP_UNARY (operands[3]))
   27740              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27741              :                        STRIP_UNARY (operands[3])))) && 
   27742              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27743              : (TARGET_AVX)) && 
   27744              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27745              : ( 1)))
   27746              :             return NULL;
   27747              :           return gen_split_1863 (insn, operands);
   27748              : 
   27749              :         case 17:
   27750              :           if (!(
   27751              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27752              : ((16 == 64 || TARGET_AVX512VL
   27753              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27754              :    && ix86_pre_reload_split ()
   27755              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27756              :                     STRIP_UNARY (operands[4]))
   27757              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27758              :                        STRIP_UNARY (operands[4]))
   27759              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27760              :                        STRIP_UNARY (operands[3]))
   27761              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27762              :                        STRIP_UNARY (operands[3])))) && 
   27763              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27764              : ( 1)))
   27765              :             return NULL;
   27766              :           return gen_split_1890 (insn, operands);
   27767              : 
   27768              :         case 18:
   27769              :           if (!((
   27770              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27771              : ((64 == 64 || TARGET_AVX512VL
   27772              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27773              :    && ix86_pre_reload_split ()
   27774              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27775              :                     STRIP_UNARY (operands[4]))
   27776              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27777              :                        STRIP_UNARY (operands[4]))
   27778              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27779              :                        STRIP_UNARY (operands[3]))
   27780              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27781              :                        STRIP_UNARY (operands[3])))) && 
   27782              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27783              : (TARGET_AVX512F)) && 
   27784              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27785              : ( 1)))
   27786              :             return NULL;
   27787              :           return gen_split_1917 (insn, operands);
   27788              : 
   27789              :         case 19:
   27790              :           if (!((
   27791              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27792              : ((32 == 64 || TARGET_AVX512VL
   27793              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27794              :    && ix86_pre_reload_split ()
   27795              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27796              :                     STRIP_UNARY (operands[4]))
   27797              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27798              :                        STRIP_UNARY (operands[4]))
   27799              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27800              :                        STRIP_UNARY (operands[3]))
   27801              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27802              :                        STRIP_UNARY (operands[3])))) && 
   27803              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27804              : (TARGET_AVX)) && 
   27805              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27806              : ( 1)))
   27807              :             return NULL;
   27808              :           return gen_split_1944 (insn, operands);
   27809              : 
   27810              :         case 20:
   27811              :           if (!(
   27812              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27813              : ((16 == 64 || TARGET_AVX512VL
   27814              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27815              :    && ix86_pre_reload_split ()
   27816              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27817              :                     STRIP_UNARY (operands[4]))
   27818              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27819              :                        STRIP_UNARY (operands[4]))
   27820              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27821              :                        STRIP_UNARY (operands[3]))
   27822              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27823              :                        STRIP_UNARY (operands[3])))) && 
   27824              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27825              : ( 1)))
   27826              :             return NULL;
   27827              :           return gen_split_1971 (insn, operands);
   27828              : 
   27829              :         case 21:
   27830              :           if (!((
   27831              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27832              : ((64 == 64 || TARGET_AVX512VL
   27833              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27834              :    && ix86_pre_reload_split ()
   27835              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27836              :                     STRIP_UNARY (operands[4]))
   27837              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27838              :                        STRIP_UNARY (operands[4]))
   27839              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27840              :                        STRIP_UNARY (operands[3]))
   27841              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27842              :                        STRIP_UNARY (operands[3])))) && 
   27843              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27844              : (TARGET_AVX512F)) && 
   27845              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27846              : ( 1)))
   27847              :             return NULL;
   27848              :           return gen_split_1998 (insn, operands);
   27849              : 
   27850              :         case 22:
   27851              :           if (!((
   27852              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27853              : ((32 == 64 || TARGET_AVX512VL
   27854              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27855              :    && ix86_pre_reload_split ()
   27856              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27857              :                     STRIP_UNARY (operands[4]))
   27858              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27859              :                        STRIP_UNARY (operands[4]))
   27860              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27861              :                        STRIP_UNARY (operands[3]))
   27862              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27863              :                        STRIP_UNARY (operands[3])))) && 
   27864              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27865              : (TARGET_AVX)) && 
   27866              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27867              : ( 1)))
   27868              :             return NULL;
   27869              :           return gen_split_2025 (insn, operands);
   27870              : 
   27871              :         case 23:
   27872              :           if (!(
   27873              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27874              : ((16 == 64 || TARGET_AVX512VL
   27875              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27876              :    && ix86_pre_reload_split ()
   27877              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27878              :                     STRIP_UNARY (operands[4]))
   27879              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27880              :                        STRIP_UNARY (operands[4]))
   27881              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27882              :                        STRIP_UNARY (operands[3]))
   27883              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27884              :                        STRIP_UNARY (operands[3])))) && 
   27885              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27886              : ( 1)))
   27887              :             return NULL;
   27888              :           return gen_split_2052 (insn, operands);
   27889              : 
   27890              :         case 24:
   27891              :           if (!((
   27892              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27893              : ((64 == 64 || TARGET_AVX512VL
   27894              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27895              :    && ix86_pre_reload_split ()
   27896              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27897              :                     STRIP_UNARY (operands[4]))
   27898              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27899              :                        STRIP_UNARY (operands[4]))
   27900              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27901              :                        STRIP_UNARY (operands[3]))
   27902              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27903              :                        STRIP_UNARY (operands[3])))) && 
   27904              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27905              : (TARGET_AVX512F)) && 
   27906              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27907              : ( 1)))
   27908              :             return NULL;
   27909              :           return gen_split_1758 (insn, operands);
   27910              : 
   27911              :         case 25:
   27912              :           if (!((
   27913              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27914              : ((32 == 64 || TARGET_AVX512VL
   27915              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27916              :    && ix86_pre_reload_split ()
   27917              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27918              :                     STRIP_UNARY (operands[4]))
   27919              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27920              :                        STRIP_UNARY (operands[4]))
   27921              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27922              :                        STRIP_UNARY (operands[3]))
   27923              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27924              :                        STRIP_UNARY (operands[3])))) && 
   27925              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27926              : (TARGET_AVX)) && 
   27927              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27928              : ( 1)))
   27929              :             return NULL;
   27930              :           return gen_split_1785 (insn, operands);
   27931              : 
   27932              :         case 26:
   27933              :           if (!(
   27934              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27935              : ((16 == 64 || TARGET_AVX512VL
   27936              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27937              :    && ix86_pre_reload_split ()
   27938              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27939              :                     STRIP_UNARY (operands[4]))
   27940              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27941              :                        STRIP_UNARY (operands[4]))
   27942              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27943              :                        STRIP_UNARY (operands[3]))
   27944              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27945              :                        STRIP_UNARY (operands[3])))) && 
   27946              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27947              : ( 1)))
   27948              :             return NULL;
   27949              :           return gen_split_1812 (insn, operands);
   27950              : 
   27951              :         case 27:
   27952              :           if (!((
   27953              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27954              : ((64 == 64 || TARGET_AVX512VL
   27955              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27956              :    && ix86_pre_reload_split ()
   27957              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27958              :                     STRIP_UNARY (operands[4]))
   27959              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27960              :                        STRIP_UNARY (operands[4]))
   27961              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27962              :                        STRIP_UNARY (operands[3]))
   27963              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27964              :                        STRIP_UNARY (operands[3])))) && 
   27965              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27966              : (TARGET_AVX512F)) && 
   27967              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27968              : ( 1)))
   27969              :             return NULL;
   27970              :           return gen_split_1839 (insn, operands);
   27971              : 
   27972              :         case 28:
   27973              :           if (!((
   27974              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27975              : ((32 == 64 || TARGET_AVX512VL
   27976              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27977              :    && ix86_pre_reload_split ()
   27978              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27979              :                     STRIP_UNARY (operands[4]))
   27980              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27981              :                        STRIP_UNARY (operands[4]))
   27982              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27983              :                        STRIP_UNARY (operands[3]))
   27984              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27985              :                        STRIP_UNARY (operands[3])))) && 
   27986              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27987              : (TARGET_AVX)) && 
   27988              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27989              : ( 1)))
   27990              :             return NULL;
   27991              :           return gen_split_1866 (insn, operands);
   27992              : 
   27993              :         case 29:
   27994              :           if (!(
   27995              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27996              : ((16 == 64 || TARGET_AVX512VL
   27997              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27998              :    && ix86_pre_reload_split ()
   27999              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28000              :                     STRIP_UNARY (operands[4]))
   28001              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28002              :                        STRIP_UNARY (operands[4]))
   28003              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28004              :                        STRIP_UNARY (operands[3]))
   28005              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28006              :                        STRIP_UNARY (operands[3])))) && 
   28007              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28008              : ( 1)))
   28009              :             return NULL;
   28010              :           return gen_split_1893 (insn, operands);
   28011              : 
   28012              :         case 30:
   28013              :           if (!((
   28014              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28015              : ((64 == 64 || TARGET_AVX512VL
   28016              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28017              :    && ix86_pre_reload_split ()
   28018              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28019              :                     STRIP_UNARY (operands[4]))
   28020              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28021              :                        STRIP_UNARY (operands[4]))
   28022              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28023              :                        STRIP_UNARY (operands[3]))
   28024              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28025              :                        STRIP_UNARY (operands[3])))) && 
   28026              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28027              : (TARGET_AVX512F)) && 
   28028              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28029              : ( 1)))
   28030              :             return NULL;
   28031              :           return gen_split_1920 (insn, operands);
   28032              : 
   28033              :         case 31:
   28034              :           if (!((
   28035              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28036              : ((32 == 64 || TARGET_AVX512VL
   28037              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28038              :    && ix86_pre_reload_split ()
   28039              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28040              :                     STRIP_UNARY (operands[4]))
   28041              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28042              :                        STRIP_UNARY (operands[4]))
   28043              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28044              :                        STRIP_UNARY (operands[3]))
   28045              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28046              :                        STRIP_UNARY (operands[3])))) && 
   28047              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28048              : (TARGET_AVX)) && 
   28049              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28050              : ( 1)))
   28051              :             return NULL;
   28052              :           return gen_split_1947 (insn, operands);
   28053              : 
   28054              :         case 32:
   28055              :           if (!(
   28056              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28057              : ((16 == 64 || TARGET_AVX512VL
   28058              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28059              :    && ix86_pre_reload_split ()
   28060              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28061              :                     STRIP_UNARY (operands[4]))
   28062              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28063              :                        STRIP_UNARY (operands[4]))
   28064              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28065              :                        STRIP_UNARY (operands[3]))
   28066              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28067              :                        STRIP_UNARY (operands[3])))) && 
   28068              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28069              : ( 1)))
   28070              :             return NULL;
   28071              :           return gen_split_1974 (insn, operands);
   28072              : 
   28073              :         case 33:
   28074              :           if (!((
   28075              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28076              : ((64 == 64 || TARGET_AVX512VL
   28077              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28078              :    && ix86_pre_reload_split ()
   28079              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28080              :                     STRIP_UNARY (operands[4]))
   28081              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28082              :                        STRIP_UNARY (operands[4]))
   28083              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28084              :                        STRIP_UNARY (operands[3]))
   28085              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28086              :                        STRIP_UNARY (operands[3])))) && 
   28087              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28088              : (TARGET_AVX512F)) && 
   28089              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28090              : ( 1)))
   28091              :             return NULL;
   28092              :           return gen_split_2001 (insn, operands);
   28093              : 
   28094              :         case 34:
   28095              :           if (!((
   28096              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28097              : ((32 == 64 || TARGET_AVX512VL
   28098              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28099              :    && ix86_pre_reload_split ()
   28100              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28101              :                     STRIP_UNARY (operands[4]))
   28102              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28103              :                        STRIP_UNARY (operands[4]))
   28104              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28105              :                        STRIP_UNARY (operands[3]))
   28106              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28107              :                        STRIP_UNARY (operands[3])))) && 
   28108              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28109              : (TARGET_AVX)) && 
   28110              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28111              : ( 1)))
   28112              :             return NULL;
   28113              :           return gen_split_2028 (insn, operands);
   28114              : 
   28115              :         case 35:
   28116              :           if (!(
   28117              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28118              : ((16 == 64 || TARGET_AVX512VL
   28119              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28120              :    && ix86_pre_reload_split ()
   28121              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28122              :                     STRIP_UNARY (operands[4]))
   28123              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28124              :                        STRIP_UNARY (operands[4]))
   28125              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28126              :                        STRIP_UNARY (operands[3]))
   28127              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28128              :                        STRIP_UNARY (operands[3])))) && 
   28129              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28130              : ( 1)))
   28131              :             return NULL;
   28132              :           return gen_split_2055 (insn, operands);
   28133              : 
   28134              :         case 36:
   28135              :           if (!((
   28136              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28137              : ((64 == 64 || TARGET_AVX512VL
   28138              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28139              :    && ix86_pre_reload_split ()) && 
   28140              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28141              : (TARGET_AVX512F)) && 
   28142              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28143              : ( 1)))
   28144              :             return NULL;
   28145              :           return gen_split_3042 (insn, operands);
   28146              : 
   28147              :         case 37:
   28148              :           if (!((
   28149              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28150              : ((32 == 64 || TARGET_AVX512VL
   28151              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28152              :    && ix86_pre_reload_split ()) && 
   28153              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28154              : (TARGET_AVX)) && 
   28155              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28156              : ( 1)))
   28157              :             return NULL;
   28158              :           return gen_split_3051 (insn, operands);
   28159              : 
   28160              :         case 38:
   28161              :           if (!(
   28162              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28163              : ((16 == 64 || TARGET_AVX512VL
   28164              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28165              :    && ix86_pre_reload_split ()) && 
   28166              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28167              : ( 1)))
   28168              :             return NULL;
   28169              :           return gen_split_3060 (insn, operands);
   28170              : 
   28171              :         case 39:
   28172              :           if (!((
   28173              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28174              : ((64 == 64 || TARGET_AVX512VL
   28175              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28176              :    && ix86_pre_reload_split ()) && 
   28177              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28178              : (TARGET_AVX512F)) && 
   28179              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28180              : ( 1)))
   28181              :             return NULL;
   28182              :           return gen_split_3069 (insn, operands);
   28183              : 
   28184              :         case 40:
   28185              :           if (!((
   28186              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28187              : ((32 == 64 || TARGET_AVX512VL
   28188              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28189              :    && ix86_pre_reload_split ()) && 
   28190              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28191              : (TARGET_AVX)) && 
   28192              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28193              : ( 1)))
   28194              :             return NULL;
   28195              :           return gen_split_3078 (insn, operands);
   28196              : 
   28197              :         case 41:
   28198              :           if (!(
   28199              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28200              : ((16 == 64 || TARGET_AVX512VL
   28201              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28202              :    && ix86_pre_reload_split ()) && 
   28203              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28204              : ( 1)))
   28205              :             return NULL;
   28206              :           return gen_split_3087 (insn, operands);
   28207              : 
   28208              :         case 42:
   28209              :           if (!((
   28210              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28211              : ((64 == 64 || TARGET_AVX512VL
   28212              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28213              :    && ix86_pre_reload_split ()) && 
   28214              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28215              : (TARGET_AVX512F)) && 
   28216              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28217              : ( 1)))
   28218              :             return NULL;
   28219              :           return gen_split_3096 (insn, operands);
   28220              : 
   28221              :         case 43:
   28222              :           if (!((
   28223              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28224              : ((32 == 64 || TARGET_AVX512VL
   28225              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28226              :    && ix86_pre_reload_split ()) && 
   28227              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28228              : (TARGET_AVX)) && 
   28229              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28230              : ( 1)))
   28231              :             return NULL;
   28232              :           return gen_split_3105 (insn, operands);
   28233              : 
   28234              :         case 44:
   28235              :           if (!(
   28236              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28237              : ((16 == 64 || TARGET_AVX512VL
   28238              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28239              :    && ix86_pre_reload_split ()) && 
   28240              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28241              : ( 1)))
   28242              :             return NULL;
   28243              :           return gen_split_3114 (insn, operands);
   28244              : 
   28245              :         case 45:
   28246              :           if (!((
   28247              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28248              : ((64 == 64 || TARGET_AVX512VL
   28249              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28250              :    && ix86_pre_reload_split ()) && 
   28251              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28252              : (TARGET_AVX512F)) && 
   28253              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28254              : ( 1)))
   28255              :             return NULL;
   28256              :           return gen_split_3123 (insn, operands);
   28257              : 
   28258              :         case 46:
   28259              :           if (!((
   28260              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28261              : ((32 == 64 || TARGET_AVX512VL
   28262              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28263              :    && ix86_pre_reload_split ()) && 
   28264              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28265              : (TARGET_AVX)) && 
   28266              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28267              : ( 1)))
   28268              :             return NULL;
   28269              :           return gen_split_3132 (insn, operands);
   28270              : 
   28271              :         case 47:
   28272              :           if (!(
   28273              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28274              : ((16 == 64 || TARGET_AVX512VL
   28275              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28276              :    && ix86_pre_reload_split ()) && 
   28277              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28278              : ( 1)))
   28279              :             return NULL;
   28280              :           return gen_split_3141 (insn, operands);
   28281              : 
   28282              :         default:
   28283              :           return NULL;
   28284              :         }
   28285              : 
   28286              :     case AND:
   28287              :       switch (pattern537 (x2))
   28288              :         {
   28289              :         case 0:
   28290              :           if (!((
   28291              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28292              : ((64 == 64 || TARGET_AVX512VL
   28293              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28294              :    && ix86_pre_reload_split ()
   28295              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28296              :                     STRIP_UNARY (operands[4]))
   28297              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28298              :                        STRIP_UNARY (operands[4]))
   28299              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28300              :                        STRIP_UNARY (operands[3]))
   28301              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28302              :                        STRIP_UNARY (operands[3])))) && 
   28303              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28304              : (TARGET_AVX512F)) && 
   28305              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28306              : ( 1)))
   28307              :             return NULL;
   28308              :           return gen_split_2400 (insn, operands);
   28309              : 
   28310              :         case 1:
   28311              :           if (!((
   28312              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28313              : ((32 == 64 || TARGET_AVX512VL
   28314              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28315              :    && ix86_pre_reload_split ()
   28316              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28317              :                     STRIP_UNARY (operands[4]))
   28318              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28319              :                        STRIP_UNARY (operands[4]))
   28320              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28321              :                        STRIP_UNARY (operands[3]))
   28322              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28323              :                        STRIP_UNARY (operands[3])))) && 
   28324              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28325              : (TARGET_AVX)) && 
   28326              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28327              : ( 1)))
   28328              :             return NULL;
   28329              :           return gen_split_2427 (insn, operands);
   28330              : 
   28331              :         case 2:
   28332              :           if (!(
   28333              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28334              : ((16 == 64 || TARGET_AVX512VL
   28335              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28336              :    && ix86_pre_reload_split ()
   28337              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28338              :                     STRIP_UNARY (operands[4]))
   28339              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28340              :                        STRIP_UNARY (operands[4]))
   28341              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28342              :                        STRIP_UNARY (operands[3]))
   28343              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28344              :                        STRIP_UNARY (operands[3])))) && 
   28345              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28346              : ( 1)))
   28347              :             return NULL;
   28348              :           return gen_split_2454 (insn, operands);
   28349              : 
   28350              :         case 3:
   28351              :           if (!((
   28352              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28353              : ((64 == 64 || TARGET_AVX512VL
   28354              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28355              :    && ix86_pre_reload_split ()
   28356              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28357              :                     STRIP_UNARY (operands[4]))
   28358              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28359              :                        STRIP_UNARY (operands[4]))
   28360              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28361              :                        STRIP_UNARY (operands[3]))
   28362              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28363              :                        STRIP_UNARY (operands[3])))) && 
   28364              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28365              : (TARGET_AVX512F)) && 
   28366              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28367              : ( 1)))
   28368              :             return NULL;
   28369              :           return gen_split_2481 (insn, operands);
   28370              : 
   28371              :         case 4:
   28372              :           if (!((
   28373              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28374              : ((32 == 64 || TARGET_AVX512VL
   28375              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28376              :    && ix86_pre_reload_split ()
   28377              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28378              :                     STRIP_UNARY (operands[4]))
   28379              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28380              :                        STRIP_UNARY (operands[4]))
   28381              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28382              :                        STRIP_UNARY (operands[3]))
   28383              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28384              :                        STRIP_UNARY (operands[3])))) && 
   28385              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28386              : (TARGET_AVX)) && 
   28387              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28388              : ( 1)))
   28389              :             return NULL;
   28390              :           return gen_split_2508 (insn, operands);
   28391              : 
   28392              :         case 5:
   28393              :           if (!(
   28394              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28395              : ((16 == 64 || TARGET_AVX512VL
   28396              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28397              :    && ix86_pre_reload_split ()
   28398              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28399              :                     STRIP_UNARY (operands[4]))
   28400              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28401              :                        STRIP_UNARY (operands[4]))
   28402              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28403              :                        STRIP_UNARY (operands[3]))
   28404              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28405              :                        STRIP_UNARY (operands[3])))) && 
   28406              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28407              : ( 1)))
   28408              :             return NULL;
   28409              :           return gen_split_2535 (insn, operands);
   28410              : 
   28411              :         case 6:
   28412              :           if (!((
   28413              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28414              : ((64 == 64 || TARGET_AVX512VL
   28415              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28416              :    && ix86_pre_reload_split ()
   28417              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28418              :                     STRIP_UNARY (operands[4]))
   28419              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28420              :                        STRIP_UNARY (operands[4]))
   28421              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28422              :                        STRIP_UNARY (operands[3]))
   28423              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28424              :                        STRIP_UNARY (operands[3])))) && 
   28425              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28426              : (TARGET_AVX512F)) && 
   28427              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28428              : ( 1)))
   28429              :             return NULL;
   28430              :           return gen_split_2562 (insn, operands);
   28431              : 
   28432              :         case 7:
   28433              :           if (!((
   28434              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28435              : ((32 == 64 || TARGET_AVX512VL
   28436              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28437              :    && ix86_pre_reload_split ()
   28438              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28439              :                     STRIP_UNARY (operands[4]))
   28440              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28441              :                        STRIP_UNARY (operands[4]))
   28442              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28443              :                        STRIP_UNARY (operands[3]))
   28444              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28445              :                        STRIP_UNARY (operands[3])))) && 
   28446              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28447              : (TARGET_AVX)) && 
   28448              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28449              : ( 1)))
   28450              :             return NULL;
   28451              :           return gen_split_2589 (insn, operands);
   28452              : 
   28453              :         case 8:
   28454              :           if (!(
   28455              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28456              : ((16 == 64 || TARGET_AVX512VL
   28457              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28458              :    && ix86_pre_reload_split ()
   28459              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28460              :                     STRIP_UNARY (operands[4]))
   28461              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28462              :                        STRIP_UNARY (operands[4]))
   28463              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28464              :                        STRIP_UNARY (operands[3]))
   28465              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28466              :                        STRIP_UNARY (operands[3])))) && 
   28467              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28468              : ( 1)))
   28469              :             return NULL;
   28470              :           return gen_split_2616 (insn, operands);
   28471              : 
   28472              :         case 9:
   28473              :           if (!((
   28474              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28475              : ((64 == 64 || TARGET_AVX512VL
   28476              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28477              :    && ix86_pre_reload_split ()
   28478              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28479              :                     STRIP_UNARY (operands[4]))
   28480              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28481              :                        STRIP_UNARY (operands[4]))
   28482              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28483              :                        STRIP_UNARY (operands[3]))
   28484              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28485              :                        STRIP_UNARY (operands[3])))) && 
   28486              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28487              : (TARGET_AVX512F)) && 
   28488              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28489              : ( 1)))
   28490              :             return NULL;
   28491              :           return gen_split_2643 (insn, operands);
   28492              : 
   28493              :         case 10:
   28494              :           if (!((
   28495              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28496              : ((32 == 64 || TARGET_AVX512VL
   28497              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28498              :    && ix86_pre_reload_split ()
   28499              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28500              :                     STRIP_UNARY (operands[4]))
   28501              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28502              :                        STRIP_UNARY (operands[4]))
   28503              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28504              :                        STRIP_UNARY (operands[3]))
   28505              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28506              :                        STRIP_UNARY (operands[3])))) && 
   28507              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28508              : (TARGET_AVX)) && 
   28509              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28510              : ( 1)))
   28511              :             return NULL;
   28512              :           return gen_split_2670 (insn, operands);
   28513              : 
   28514              :         case 11:
   28515              :           if (!(
   28516              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28517              : ((16 == 64 || TARGET_AVX512VL
   28518              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28519              :    && ix86_pre_reload_split ()
   28520              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28521              :                     STRIP_UNARY (operands[4]))
   28522              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28523              :                        STRIP_UNARY (operands[4]))
   28524              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28525              :                        STRIP_UNARY (operands[3]))
   28526              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28527              :                        STRIP_UNARY (operands[3])))) && 
   28528              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28529              : ( 1)))
   28530              :             return NULL;
   28531              :           return gen_split_2697 (insn, operands);
   28532              : 
   28533              :         default:
   28534              :           return NULL;
   28535              :         }
   28536              : 
   28537              :     case IOR:
   28538              :       switch (pattern537 (x2))
   28539              :         {
   28540              :         case 0:
   28541              :           if (!((
   28542              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28543              : ((64 == 64 || TARGET_AVX512VL
   28544              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28545              :    && ix86_pre_reload_split ()
   28546              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28547              :                     STRIP_UNARY (operands[4]))
   28548              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28549              :                        STRIP_UNARY (operands[4]))
   28550              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28551              :                        STRIP_UNARY (operands[3]))
   28552              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28553              :                        STRIP_UNARY (operands[3])))) && 
   28554              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28555              : (TARGET_AVX512F)) && 
   28556              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28557              : ( 1)))
   28558              :             return NULL;
   28559              :           return gen_split_2403 (insn, operands);
   28560              : 
   28561              :         case 1:
   28562              :           if (!((
   28563              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28564              : ((32 == 64 || TARGET_AVX512VL
   28565              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28566              :    && ix86_pre_reload_split ()
   28567              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28568              :                     STRIP_UNARY (operands[4]))
   28569              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28570              :                        STRIP_UNARY (operands[4]))
   28571              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28572              :                        STRIP_UNARY (operands[3]))
   28573              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28574              :                        STRIP_UNARY (operands[3])))) && 
   28575              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28576              : (TARGET_AVX)) && 
   28577              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28578              : ( 1)))
   28579              :             return NULL;
   28580              :           return gen_split_2430 (insn, operands);
   28581              : 
   28582              :         case 2:
   28583              :           if (!(
   28584              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28585              : ((16 == 64 || TARGET_AVX512VL
   28586              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28587              :    && ix86_pre_reload_split ()
   28588              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28589              :                     STRIP_UNARY (operands[4]))
   28590              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28591              :                        STRIP_UNARY (operands[4]))
   28592              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28593              :                        STRIP_UNARY (operands[3]))
   28594              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28595              :                        STRIP_UNARY (operands[3])))) && 
   28596              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28597              : ( 1)))
   28598              :             return NULL;
   28599              :           return gen_split_2457 (insn, operands);
   28600              : 
   28601              :         case 3:
   28602              :           if (!((
   28603              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28604              : ((64 == 64 || TARGET_AVX512VL
   28605              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28606              :    && ix86_pre_reload_split ()
   28607              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28608              :                     STRIP_UNARY (operands[4]))
   28609              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28610              :                        STRIP_UNARY (operands[4]))
   28611              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28612              :                        STRIP_UNARY (operands[3]))
   28613              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28614              :                        STRIP_UNARY (operands[3])))) && 
   28615              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28616              : (TARGET_AVX512F)) && 
   28617              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28618              : ( 1)))
   28619              :             return NULL;
   28620              :           return gen_split_2484 (insn, operands);
   28621              : 
   28622              :         case 4:
   28623              :           if (!((
   28624              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28625              : ((32 == 64 || TARGET_AVX512VL
   28626              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28627              :    && ix86_pre_reload_split ()
   28628              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28629              :                     STRIP_UNARY (operands[4]))
   28630              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28631              :                        STRIP_UNARY (operands[4]))
   28632              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28633              :                        STRIP_UNARY (operands[3]))
   28634              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28635              :                        STRIP_UNARY (operands[3])))) && 
   28636              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28637              : (TARGET_AVX)) && 
   28638              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28639              : ( 1)))
   28640              :             return NULL;
   28641              :           return gen_split_2511 (insn, operands);
   28642              : 
   28643              :         case 5:
   28644              :           if (!(
   28645              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28646              : ((16 == 64 || TARGET_AVX512VL
   28647              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28648              :    && ix86_pre_reload_split ()
   28649              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28650              :                     STRIP_UNARY (operands[4]))
   28651              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28652              :                        STRIP_UNARY (operands[4]))
   28653              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28654              :                        STRIP_UNARY (operands[3]))
   28655              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28656              :                        STRIP_UNARY (operands[3])))) && 
   28657              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28658              : ( 1)))
   28659              :             return NULL;
   28660              :           return gen_split_2538 (insn, operands);
   28661              : 
   28662              :         case 6:
   28663              :           if (!((
   28664              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28665              : ((64 == 64 || TARGET_AVX512VL
   28666              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28667              :    && ix86_pre_reload_split ()
   28668              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28669              :                     STRIP_UNARY (operands[4]))
   28670              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28671              :                        STRIP_UNARY (operands[4]))
   28672              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28673              :                        STRIP_UNARY (operands[3]))
   28674              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28675              :                        STRIP_UNARY (operands[3])))) && 
   28676              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28677              : (TARGET_AVX512F)) && 
   28678              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28679              : ( 1)))
   28680              :             return NULL;
   28681              :           return gen_split_2565 (insn, operands);
   28682              : 
   28683              :         case 7:
   28684              :           if (!((
   28685              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28686              : ((32 == 64 || TARGET_AVX512VL
   28687              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28688              :    && ix86_pre_reload_split ()
   28689              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28690              :                     STRIP_UNARY (operands[4]))
   28691              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28692              :                        STRIP_UNARY (operands[4]))
   28693              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28694              :                        STRIP_UNARY (operands[3]))
   28695              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28696              :                        STRIP_UNARY (operands[3])))) && 
   28697              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28698              : (TARGET_AVX)) && 
   28699              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28700              : ( 1)))
   28701              :             return NULL;
   28702              :           return gen_split_2592 (insn, operands);
   28703              : 
   28704              :         case 8:
   28705              :           if (!(
   28706              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28707              : ((16 == 64 || TARGET_AVX512VL
   28708              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28709              :    && ix86_pre_reload_split ()
   28710              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28711              :                     STRIP_UNARY (operands[4]))
   28712              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28713              :                        STRIP_UNARY (operands[4]))
   28714              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28715              :                        STRIP_UNARY (operands[3]))
   28716              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28717              :                        STRIP_UNARY (operands[3])))) && 
   28718              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28719              : ( 1)))
   28720              :             return NULL;
   28721              :           return gen_split_2619 (insn, operands);
   28722              : 
   28723              :         case 9:
   28724              :           if (!((
   28725              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28726              : ((64 == 64 || TARGET_AVX512VL
   28727              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28728              :    && ix86_pre_reload_split ()
   28729              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28730              :                     STRIP_UNARY (operands[4]))
   28731              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28732              :                        STRIP_UNARY (operands[4]))
   28733              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28734              :                        STRIP_UNARY (operands[3]))
   28735              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28736              :                        STRIP_UNARY (operands[3])))) && 
   28737              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28738              : (TARGET_AVX512F)) && 
   28739              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28740              : ( 1)))
   28741              :             return NULL;
   28742              :           return gen_split_2646 (insn, operands);
   28743              : 
   28744              :         case 10:
   28745              :           if (!((
   28746              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28747              : ((32 == 64 || TARGET_AVX512VL
   28748              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28749              :    && ix86_pre_reload_split ()
   28750              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28751              :                     STRIP_UNARY (operands[4]))
   28752              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28753              :                        STRIP_UNARY (operands[4]))
   28754              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28755              :                        STRIP_UNARY (operands[3]))
   28756              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28757              :                        STRIP_UNARY (operands[3])))) && 
   28758              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28759              : (TARGET_AVX)) && 
   28760              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28761              : ( 1)))
   28762              :             return NULL;
   28763              :           return gen_split_2673 (insn, operands);
   28764              : 
   28765              :         case 11:
   28766              :           if (!(
   28767              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28768              : ((16 == 64 || TARGET_AVX512VL
   28769              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28770              :    && ix86_pre_reload_split ()
   28771              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28772              :                     STRIP_UNARY (operands[4]))
   28773              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28774              :                        STRIP_UNARY (operands[4]))
   28775              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28776              :                        STRIP_UNARY (operands[3]))
   28777              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28778              :                        STRIP_UNARY (operands[3])))) && 
   28779              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28780              : ( 1)))
   28781              :             return NULL;
   28782              :           return gen_split_2700 (insn, operands);
   28783              : 
   28784              :         default:
   28785              :           return NULL;
   28786              :         }
   28787              : 
   28788              :     case XOR:
   28789              :       switch (pattern537 (x2))
   28790              :         {
   28791              :         case 0:
   28792              :           if (!((
   28793              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28794              : ((64 == 64 || TARGET_AVX512VL
   28795              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28796              :    && ix86_pre_reload_split ()
   28797              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28798              :                     STRIP_UNARY (operands[4]))
   28799              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28800              :                        STRIP_UNARY (operands[4]))
   28801              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28802              :                        STRIP_UNARY (operands[3]))
   28803              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28804              :                        STRIP_UNARY (operands[3])))) && 
   28805              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28806              : (TARGET_AVX512F)) && 
   28807              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28808              : ( 1)))
   28809              :             return NULL;
   28810              :           return gen_split_2406 (insn, operands);
   28811              : 
   28812              :         case 1:
   28813              :           if (!((
   28814              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28815              : ((32 == 64 || TARGET_AVX512VL
   28816              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28817              :    && ix86_pre_reload_split ()
   28818              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28819              :                     STRIP_UNARY (operands[4]))
   28820              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28821              :                        STRIP_UNARY (operands[4]))
   28822              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28823              :                        STRIP_UNARY (operands[3]))
   28824              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28825              :                        STRIP_UNARY (operands[3])))) && 
   28826              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28827              : (TARGET_AVX)) && 
   28828              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28829              : ( 1)))
   28830              :             return NULL;
   28831              :           return gen_split_2433 (insn, operands);
   28832              : 
   28833              :         case 2:
   28834              :           if (!(
   28835              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28836              : ((16 == 64 || TARGET_AVX512VL
   28837              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28838              :    && ix86_pre_reload_split ()
   28839              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28840              :                     STRIP_UNARY (operands[4]))
   28841              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28842              :                        STRIP_UNARY (operands[4]))
   28843              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28844              :                        STRIP_UNARY (operands[3]))
   28845              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28846              :                        STRIP_UNARY (operands[3])))) && 
   28847              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28848              : ( 1)))
   28849              :             return NULL;
   28850              :           return gen_split_2460 (insn, operands);
   28851              : 
   28852              :         case 3:
   28853              :           if (!((
   28854              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28855              : ((64 == 64 || TARGET_AVX512VL
   28856              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28857              :    && ix86_pre_reload_split ()
   28858              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28859              :                     STRIP_UNARY (operands[4]))
   28860              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28861              :                        STRIP_UNARY (operands[4]))
   28862              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28863              :                        STRIP_UNARY (operands[3]))
   28864              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28865              :                        STRIP_UNARY (operands[3])))) && 
   28866              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28867              : (TARGET_AVX512F)) && 
   28868              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28869              : ( 1)))
   28870              :             return NULL;
   28871              :           return gen_split_2487 (insn, operands);
   28872              : 
   28873              :         case 4:
   28874              :           if (!((
   28875              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28876              : ((32 == 64 || TARGET_AVX512VL
   28877              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28878              :    && ix86_pre_reload_split ()
   28879              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28880              :                     STRIP_UNARY (operands[4]))
   28881              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28882              :                        STRIP_UNARY (operands[4]))
   28883              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28884              :                        STRIP_UNARY (operands[3]))
   28885              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28886              :                        STRIP_UNARY (operands[3])))) && 
   28887              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28888              : (TARGET_AVX)) && 
   28889              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28890              : ( 1)))
   28891              :             return NULL;
   28892              :           return gen_split_2514 (insn, operands);
   28893              : 
   28894              :         case 5:
   28895              :           if (!(
   28896              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28897              : ((16 == 64 || TARGET_AVX512VL
   28898              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28899              :    && ix86_pre_reload_split ()
   28900              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28901              :                     STRIP_UNARY (operands[4]))
   28902              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28903              :                        STRIP_UNARY (operands[4]))
   28904              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28905              :                        STRIP_UNARY (operands[3]))
   28906              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28907              :                        STRIP_UNARY (operands[3])))) && 
   28908              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28909              : ( 1)))
   28910              :             return NULL;
   28911              :           return gen_split_2541 (insn, operands);
   28912              : 
   28913              :         case 6:
   28914              :           if (!((
   28915              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28916              : ((64 == 64 || TARGET_AVX512VL
   28917              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28918              :    && ix86_pre_reload_split ()
   28919              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28920              :                     STRIP_UNARY (operands[4]))
   28921              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28922              :                        STRIP_UNARY (operands[4]))
   28923              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28924              :                        STRIP_UNARY (operands[3]))
   28925              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28926              :                        STRIP_UNARY (operands[3])))) && 
   28927              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28928              : (TARGET_AVX512F)) && 
   28929              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28930              : ( 1)))
   28931              :             return NULL;
   28932              :           return gen_split_2568 (insn, operands);
   28933              : 
   28934              :         case 7:
   28935              :           if (!((
   28936              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28937              : ((32 == 64 || TARGET_AVX512VL
   28938              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28939              :    && ix86_pre_reload_split ()
   28940              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28941              :                     STRIP_UNARY (operands[4]))
   28942              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28943              :                        STRIP_UNARY (operands[4]))
   28944              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28945              :                        STRIP_UNARY (operands[3]))
   28946              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28947              :                        STRIP_UNARY (operands[3])))) && 
   28948              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28949              : (TARGET_AVX)) && 
   28950              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28951              : ( 1)))
   28952              :             return NULL;
   28953              :           return gen_split_2595 (insn, operands);
   28954              : 
   28955              :         case 8:
   28956              :           if (!(
   28957              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28958              : ((16 == 64 || TARGET_AVX512VL
   28959              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28960              :    && ix86_pre_reload_split ()
   28961              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28962              :                     STRIP_UNARY (operands[4]))
   28963              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28964              :                        STRIP_UNARY (operands[4]))
   28965              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28966              :                        STRIP_UNARY (operands[3]))
   28967              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28968              :                        STRIP_UNARY (operands[3])))) && 
   28969              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28970              : ( 1)))
   28971              :             return NULL;
   28972              :           return gen_split_2622 (insn, operands);
   28973              : 
   28974              :         case 9:
   28975              :           if (!((
   28976              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28977              : ((64 == 64 || TARGET_AVX512VL
   28978              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28979              :    && ix86_pre_reload_split ()
   28980              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28981              :                     STRIP_UNARY (operands[4]))
   28982              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28983              :                        STRIP_UNARY (operands[4]))
   28984              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28985              :                        STRIP_UNARY (operands[3]))
   28986              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28987              :                        STRIP_UNARY (operands[3])))) && 
   28988              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28989              : (TARGET_AVX512F)) && 
   28990              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28991              : ( 1)))
   28992              :             return NULL;
   28993              :           return gen_split_2649 (insn, operands);
   28994              : 
   28995              :         case 10:
   28996              :           if (!((
   28997              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28998              : ((32 == 64 || TARGET_AVX512VL
   28999              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29000              :    && ix86_pre_reload_split ()
   29001              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29002              :                     STRIP_UNARY (operands[4]))
   29003              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29004              :                        STRIP_UNARY (operands[4]))
   29005              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29006              :                        STRIP_UNARY (operands[3]))
   29007              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29008              :                        STRIP_UNARY (operands[3])))) && 
   29009              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29010              : (TARGET_AVX)) && 
   29011              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29012              : ( 1)))
   29013              :             return NULL;
   29014              :           return gen_split_2676 (insn, operands);
   29015              : 
   29016              :         case 11:
   29017              :           if (!(
   29018              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29019              : ((16 == 64 || TARGET_AVX512VL
   29020              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29021              :    && ix86_pre_reload_split ()
   29022              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29023              :                     STRIP_UNARY (operands[4]))
   29024              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29025              :                        STRIP_UNARY (operands[4]))
   29026              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29027              :                        STRIP_UNARY (operands[3]))
   29028              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29029              :                        STRIP_UNARY (operands[3])))) && 
   29030              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29031              : ( 1)))
   29032              :             return NULL;
   29033              :           return gen_split_2703 (insn, operands);
   29034              : 
   29035              :         default:
   29036              :           return NULL;
   29037              :         }
   29038              : 
   29039              :     default:
   29040              :       return NULL;
   29041              :     }
   29042              : }
   29043              : 
   29044              :  rtx_insn *
   29045              : split_75 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
   29046              : {
   29047              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   29048              :   rtx x2, x3, x4, x5, x6, x7;
   29049              :   rtx_insn *res ATTRIBUTE_UNUSED;
   29050              :   x2 = XEXP (x1, 1);
   29051              :   x3 = XEXP (x2, 0);
   29052              :   x4 = XEXP (x3, 1);
   29053              :   if (!rtx_equal_p (x4, operands[1]))
   29054              :     return NULL;
   29055              :   x5 = XEXP (x2, 1);
   29056              :   if (XVECLEN (x5, 0) != 2)
   29057              :     return NULL;
   29058              :   x6 = XVECEXP (x5, 0, 0);
   29059              :   if (GET_CODE (x6) != CONST_INT
   29060              :       || GET_MODE (x2) != E_V2DFmode
   29061              :       || GET_MODE (x3) != E_V4DFmode)
   29062              :     return NULL;
   29063              :   if (XWINT (x6, 0) == 0L)
   29064              :     {
   29065              :       x7 = XVECEXP (x5, 0, 1);
   29066              :       if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + 2]
   29067              :           && memory_operand (operands[0], E_V2DFmode)
   29068              :           && register_operand (operands[1], E_V2DFmode)
   29069              :           && 
   29070              : #line 13904 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29071              : (TARGET_SSE3 && reload_completed))
   29072              :         return gen_split_1667 (insn, operands);
   29073              :     }
   29074              :   if (!register_operand (operands[0], E_V2DFmode)
   29075              :       || !memory_operand (operands[1], E_V2DFmode))
   29076              :     return NULL;
   29077              :   operands[2] = x6;
   29078              :   if (!const_0_to_1_operand (operands[2], E_SImode))
   29079              :     return NULL;
   29080              :   x7 = XVECEXP (x5, 0, 1);
   29081              :   operands[3] = x7;
   29082              :   if (!const_int_operand (operands[3], E_SImode)
   29083              :       || !
   29084              : #line 13922 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29085              : (TARGET_SSE3 && INTVAL (operands[2]) + 2 == INTVAL (operands[3])))
   29086              :     return NULL;
   29087              :   return gen_split_1668 (insn, operands);
   29088              : }
   29089              : 
   29090              :  rtx_insn *
   29091              : split_77 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
   29092              : {
   29093              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   29094              :   rtx x2, x3;
   29095              :   rtx_insn *res ATTRIBUTE_UNUSED;
   29096              :   x2 = XEXP (x1, 1);
   29097              :   x3 = XEXP (x2, 1);
   29098              :   if (pattern845 (x3) != 0)
   29099              :     return NULL;
   29100              :   switch (GET_MODE (operands[0]))
   29101              :     {
   29102              :     case E_V4SFmode:
   29103              :       if (!nonimmediate_operand (operands[0], E_V4SFmode)
   29104              :           || GET_MODE (x2) != E_V4SFmode)
   29105              :         return NULL;
   29106              :       switch (GET_MODE (operands[1]))
   29107              :         {
   29108              :         case E_V16SFmode:
   29109              :           if (!register_operand (operands[1], E_V16SFmode)
   29110              :               || !
   29111              : #line 12868 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29112              : (TARGET_AVX512F
   29113              :    && reload_completed
   29114              :    && (TARGET_AVX512VL
   29115              :        || REG_P (operands[0])
   29116              :        || !EXT_REX_SSE_REG_P (operands[1]))))
   29117              :             return NULL;
   29118              :           return gen_split_1643 (insn, operands);
   29119              : 
   29120              :         case E_V8SFmode:
   29121              :           if (!nonimmediate_operand (operands[1], E_V8SFmode)
   29122              :               || !
   29123              : #line 13267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29124              : (TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))
   29125              :    && reload_completed))
   29126              :             return NULL;
   29127              :           return gen_split_1652 (insn, operands);
   29128              : 
   29129              :         default:
   29130              :           return NULL;
   29131              :         }
   29132              : 
   29133              :     case E_V4SImode:
   29134              :       if (!nonimmediate_operand (operands[0], E_V4SImode)
   29135              :           || GET_MODE (x2) != E_V4SImode)
   29136              :         return NULL;
   29137              :       switch (GET_MODE (operands[1]))
   29138              :         {
   29139              :         case E_V16SImode:
   29140              :           if (!register_operand (operands[1], E_V16SImode)
   29141              :               || !
   29142              : #line 12868 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29143              : (TARGET_AVX512F
   29144              :    && reload_completed
   29145              :    && (TARGET_AVX512VL
   29146              :        || REG_P (operands[0])
   29147              :        || !EXT_REX_SSE_REG_P (operands[1]))))
   29148              :             return NULL;
   29149              :           return gen_split_1644 (insn, operands);
   29150              : 
   29151              :         case E_V8SImode:
   29152              :           if (!nonimmediate_operand (operands[1], E_V8SImode)
   29153              :               || !
   29154              : #line 13267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29155              : (TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))
   29156              :    && reload_completed))
   29157              :             return NULL;
   29158              :           return gen_split_1651 (insn, operands);
   29159              : 
   29160              :         default:
   29161              :           return NULL;
   29162              :         }
   29163              : 
   29164              :     case E_V4DFmode:
   29165              :       if (!nonimmediate_operand (operands[0], E_V4DFmode)
   29166              :           || GET_MODE (x2) != E_V4DFmode
   29167              :           || !nonimmediate_operand (operands[1], E_V8DFmode)
   29168              :           || !
   29169              : #line 12931 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29170              : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))
   29171              :    && reload_completed
   29172              :    && (TARGET_AVX512VL
   29173              :        || (REG_P (operands[0]) && !EXT_REX_SSE_REG_P (operands[1])))))
   29174              :         return NULL;
   29175              :       return gen_split_1645 (insn, operands);
   29176              : 
   29177              :     case E_V4DImode:
   29178              :       if (!nonimmediate_operand (operands[0], E_V4DImode)
   29179              :           || GET_MODE (x2) != E_V4DImode
   29180              :           || !nonimmediate_operand (operands[1], E_V8DImode)
   29181              :           || !
   29182              : #line 12931 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29183              : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))
   29184              :    && reload_completed
   29185              :    && (TARGET_AVX512VL
   29186              :        || (REG_P (operands[0]) && !EXT_REX_SSE_REG_P (operands[1])))))
   29187              :         return NULL;
   29188              :       return gen_split_1646 (insn, operands);
   29189              : 
   29190              :     default:
   29191              :       return NULL;
   29192              :     }
   29193              : }
   29194              : 
   29195              :  rtx_insn *
   29196              : split_79 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
   29197              : {
   29198              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   29199              :   rtx x2, x3, x4, x5;
   29200              :   rtx_insn *res ATTRIBUTE_UNUSED;
   29201              :   x2 = XEXP (x1, 1);
   29202              :   x3 = XEXP (x2, 1);
   29203              :   switch (XVECLEN (x3, 0))
   29204              :     {
   29205              :     case 2:
   29206              :       res = split_76 (x1, insn);
   29207              :       if (res != NULL_RTX)
   29208              :         return res;
   29209              :       break;
   29210              : 
   29211              :     case 4:
   29212              :       res = split_77 (x1, insn);
   29213              :       if (res != NULL_RTX)
   29214              :         return res;
   29215              :       break;
   29216              : 
   29217              :     case 8:
   29218              :       res = split_78 (x1, insn);
   29219              :       if (res != NULL_RTX)
   29220              :         return res;
   29221              :       break;
   29222              : 
   29223              :     case 16:
   29224              :       if (pattern846 (x3, 
   29225              : 6, 
   29226              : 5, 
   29227              : 4) == 0
   29228              :           && pattern1514 (x3, 
   29229              : 11, 
   29230              : 10, 
   29231              : 9, 
   29232              : 8, 
   29233              : 7) == 0)
   29234              :         {
   29235              :           switch (pattern1804 (x2))
   29236              :             {
   29237              :             case 0:
   29238              :               if ((
   29239              : #line 13350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29240              : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))) && 
   29241              : #line 13359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29242              : ( reload_completed
   29243              :    && (TARGET_AVX512VL
   29244              :        || REG_P (operands[0])
   29245              :        || !EXT_REX_SSE_REG_P (operands[1])))))
   29246              :                 return gen_split_1653 (insn, operands);
   29247              :               break;
   29248              : 
   29249              :             case 1:
   29250              :               if ((
   29251              : #line 13350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29252              : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))) && 
   29253              : #line 13359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29254              : ( reload_completed
   29255              :    && (TARGET_AVX512VL
   29256              :        || REG_P (operands[0])
   29257              :        || !EXT_REX_SSE_REG_P (operands[1])))))
   29258              :                 return gen_split_1654 (insn, operands);
   29259              :               break;
   29260              : 
   29261              :             case 2:
   29262              :               if ((
   29263              : #line 13350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29264              : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))) && 
   29265              : #line 13359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29266              : ( reload_completed
   29267              :    && (TARGET_AVX512VL
   29268              :        || REG_P (operands[0])
   29269              :        || !EXT_REX_SSE_REG_P (operands[1])))))
   29270              :                 return gen_split_1655 (insn, operands);
   29271              :               break;
   29272              : 
   29273              :             case 3:
   29274              :               if ((
   29275              : #line 13520 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29276              : (TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))) && 
   29277              : #line 13522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29278              : ( reload_completed)))
   29279              :                 return gen_split_1660 (insn, operands);
   29280              :               break;
   29281              : 
   29282              :             default:
   29283              :               break;
   29284              :             }
   29285              :         }
   29286              :       break;
   29287              : 
   29288              :     case 32:
   29289              :       if (pattern848 (x3, 
   29290              : 11, 
   29291              : 10, 
   29292              : 9, 
   29293              : 8) == 0
   29294              :           && pattern1711 (x3, 
   29295              : 15, 
   29296              : 14, 
   29297              : 13, 
   29298              : 12, 
   29299              : 16) == 0
   29300              :           && pattern1831 (x3, 
   29301              : 21, 
   29302              : 20, 
   29303              : 19, 
   29304              : 18, 
   29305              : 17) == 0
   29306              :           && pattern1873 (x3, 
   29307              : 26, 
   29308              : 25, 
   29309              : 24, 
   29310              : 23, 
   29311              : 22) == 0)
   29312              :         {
   29313              :           x4 = XVECEXP (x3, 0, 27);
   29314              :           if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + 27]
   29315              :               && pattern1891 (x3, 
   29316              : 31, 
   29317              : 30, 
   29318              : 29, 
   29319              : 28) == 0
   29320              :               && nonimmediate_operand (operands[0], E_V32QImode)
   29321              :               && GET_MODE (x2) == E_V32QImode
   29322              :               && nonimmediate_operand (operands[1], E_V64QImode)
   29323              :               && (
   29324              : #line 13452 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29325              : (TARGET_AVX512F
   29326              :    && !(MEM_P (operands[0]) && MEM_P (operands[1]))) && 
   29327              : #line 13462 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29328              : ( reload_completed
   29329              :    && (TARGET_AVX512VL
   29330              :        || REG_P (operands[0])
   29331              :        || !EXT_REX_SSE_REG_P (operands[1])))))
   29332              :             return gen_split_1659 (insn, operands);
   29333              :         }
   29334              :       break;
   29335              : 
   29336              :     default:
   29337              :       break;
   29338              :     }
   29339              :   if (XVECLEN (x3, 0) < 1)
   29340              :     return NULL;
   29341              :   operands[2] = x3;
   29342              :   if (!avx_vbroadcast_operand (operands[2], E_VOIDmode))
   29343              :     return NULL;
   29344              :   x5 = XVECEXP (x3, 0, 0);
   29345              :   operands[3] = x5;
   29346              :   if (!const_int_operand (operands[3], E_VOIDmode))
   29347              :     return NULL;
   29348              :   switch (GET_MODE (operands[0]))
   29349              :     {
   29350              :     case E_V8SFmode:
   29351              :       if (!register_operand (operands[0], E_V8SFmode)
   29352              :           || GET_MODE (x2) != E_V8SFmode
   29353              :           || !nonimmediate_operand (operands[1], E_V8SFmode)
   29354              :           || !(
   29355              : #line 28078 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29356              : (TARGET_AVX
   29357              :    && (V8SFmode != V4DFmode || !TARGET_AVX2 || operands[3] == const0_rtx)) && 
   29358              : #line 28081 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29359              : ( reload_completed)))
   29360              :         return NULL;
   29361              :       return gen_split_3826 (insn, operands);
   29362              : 
   29363              :     case E_V4DFmode:
   29364              :       if (!register_operand (operands[0], E_V4DFmode)
   29365              :           || GET_MODE (x2) != E_V4DFmode
   29366              :           || !nonimmediate_operand (operands[1], E_V4DFmode)
   29367              :           || !(
   29368              : #line 28078 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29369              : (TARGET_AVX
   29370              :    && (V4DFmode != V4DFmode || !TARGET_AVX2 || operands[3] == const0_rtx)) && 
   29371              : #line 28081 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29372              : ( reload_completed)))
   29373              :         return NULL;
   29374              :       return gen_split_3827 (insn, operands);
   29375              : 
   29376              :     default:
   29377              :       return NULL;
   29378              :     }
   29379              : }
   29380              : 
   29381              :  rtx_insn *
   29382              : split_83 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
   29383              : {
   29384              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   29385              :   rtx x2, x3, x4, x5, x6;
   29386              :   rtx_insn *res ATTRIBUTE_UNUSED;
   29387              :   x2 = XEXP (x1, 1);
   29388              :   x3 = XEXP (x2, 1);
   29389              :   if (GET_CODE (x3) != PARALLEL)
   29390              :     return NULL;
   29391              :   x4 = XEXP (x2, 0);
   29392              :   switch (GET_CODE (x4))
   29393              :     {
   29394              :     case VEC_CONCAT:
   29395              :       x5 = XEXP (x4, 0);
   29396              :       switch (GET_CODE (x5))
   29397              :         {
   29398              :         case MINUS:
   29399              :           switch (pattern732 (x2, 
   29400              : PLUS))
   29401              :             {
   29402              :             case 0:
   29403              :               if (pattern1683 (x4, 
   29404              : E_V8SFmode, 
   29405              : E_V16SFmode) != 0
   29406              :                   || !(
   29407              : #line 3659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29408              : (TARGET_SSE3
   29409              :    && can_create_pseudo_p ()
   29410              :    && ((rtx_equal_p (operands[1], operands[3])
   29411              :         && rtx_equal_p (operands[2], operands[4]))
   29412              :        || (rtx_equal_p (operands[1], operands[4])
   29413              :            && rtx_equal_p (operands[2], operands[3])))) && 
   29414              : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29415              : (TARGET_AVX)))
   29416              :                 return NULL;
   29417              :               return gen_split_1366 (insn, operands);
   29418              : 
   29419              :             case 1:
   29420              :               if (pattern1683 (x4, 
   29421              : E_V4SFmode, 
   29422              : E_V8SFmode) != 0
   29423              :                   || !
   29424              : #line 3659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29425              : (TARGET_SSE3
   29426              :    && can_create_pseudo_p ()
   29427              :    && ((rtx_equal_p (operands[1], operands[3])
   29428              :         && rtx_equal_p (operands[2], operands[4]))
   29429              :        || (rtx_equal_p (operands[1], operands[4])
   29430              :            && rtx_equal_p (operands[2], operands[3])))))
   29431              :                 return NULL;
   29432              :               return gen_split_1367 (insn, operands);
   29433              : 
   29434              :             case 2:
   29435              :               if (pattern1683 (x4, 
   29436              : E_V4DFmode, 
   29437              : E_V8DFmode) != 0
   29438              :                   || !(
   29439              : #line 3659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29440              : (TARGET_SSE3
   29441              :    && can_create_pseudo_p ()
   29442              :    && ((rtx_equal_p (operands[1], operands[3])
   29443              :         && rtx_equal_p (operands[2], operands[4]))
   29444              :        || (rtx_equal_p (operands[1], operands[4])
   29445              :            && rtx_equal_p (operands[2], operands[3])))) && 
   29446              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29447              : (TARGET_AVX)))
   29448              :                 return NULL;
   29449              :               return gen_split_1368 (insn, operands);
   29450              : 
   29451              :             case 3:
   29452              :               if (pattern1683 (x4, 
   29453              : E_V2DFmode, 
   29454              : E_V4DFmode) != 0
   29455              :                   || !(
   29456              : #line 3659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29457              : (TARGET_SSE3
   29458              :    && can_create_pseudo_p ()
   29459              :    && ((rtx_equal_p (operands[1], operands[3])
   29460              :         && rtx_equal_p (operands[2], operands[4]))
   29461              :        || (rtx_equal_p (operands[1], operands[4])
   29462              :            && rtx_equal_p (operands[2], operands[3])))) && 
   29463              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29464              : (TARGET_SSE2)))
   29465              :                 return NULL;
   29466              :               return gen_split_1369 (insn, operands);
   29467              : 
   29468              :             default:
   29469              :               return NULL;
   29470              :             }
   29471              : 
   29472              :         case PLUS:
   29473              :           switch (pattern732 (x2, 
   29474              : MINUS))
   29475              :             {
   29476              :             case 0:
   29477              :               if (pattern1684 (x4, 
   29478              : E_V8SFmode, 
   29479              : E_V16SFmode) != 0
   29480              :                   || !(
   29481              : #line 3693 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29482              : (TARGET_SSE3
   29483              :    && can_create_pseudo_p ()
   29484              :    && ((rtx_equal_p (operands[1], operands[3])
   29485              :         && rtx_equal_p (operands[2], operands[4]))
   29486              :        || (rtx_equal_p (operands[1], operands[4])
   29487              :            && rtx_equal_p (operands[2], operands[3])))) && 
   29488              : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29489              : (TARGET_AVX)))
   29490              :                 return NULL;
   29491              :               return gen_split_1370 (insn, operands);
   29492              : 
   29493              :             case 1:
   29494              :               if (pattern1684 (x4, 
   29495              : E_V4SFmode, 
   29496              : E_V8SFmode) != 0
   29497              :                   || !
   29498              : #line 3693 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29499              : (TARGET_SSE3
   29500              :    && can_create_pseudo_p ()
   29501              :    && ((rtx_equal_p (operands[1], operands[3])
   29502              :         && rtx_equal_p (operands[2], operands[4]))
   29503              :        || (rtx_equal_p (operands[1], operands[4])
   29504              :            && rtx_equal_p (operands[2], operands[3])))))
   29505              :                 return NULL;
   29506              :               return gen_split_1371 (insn, operands);
   29507              : 
   29508              :             case 2:
   29509              :               if (pattern1684 (x4, 
   29510              : E_V4DFmode, 
   29511              : E_V8DFmode) != 0
   29512              :                   || !(
   29513              : #line 3693 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29514              : (TARGET_SSE3
   29515              :    && can_create_pseudo_p ()
   29516              :    && ((rtx_equal_p (operands[1], operands[3])
   29517              :         && rtx_equal_p (operands[2], operands[4]))
   29518              :        || (rtx_equal_p (operands[1], operands[4])
   29519              :            && rtx_equal_p (operands[2], operands[3])))) && 
   29520              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29521              : (TARGET_AVX)))
   29522              :                 return NULL;
   29523              :               return gen_split_1372 (insn, operands);
   29524              : 
   29525              :             case 3:
   29526              :               if (pattern1684 (x4, 
   29527              : E_V2DFmode, 
   29528              : E_V4DFmode) != 0
   29529              :                   || !(
   29530              : #line 3693 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29531              : (TARGET_SSE3
   29532              :    && can_create_pseudo_p ()
   29533              :    && ((rtx_equal_p (operands[1], operands[3])
   29534              :         && rtx_equal_p (operands[2], operands[4]))
   29535              :        || (rtx_equal_p (operands[1], operands[4])
   29536              :            && rtx_equal_p (operands[2], operands[3])))) && 
   29537              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29538              : (TARGET_SSE2)))
   29539              :                 return NULL;
   29540              :               return gen_split_1373 (insn, operands);
   29541              : 
   29542              :             default:
   29543              :               return NULL;
   29544              :             }
   29545              : 
   29546              :         case REG:
   29547              :         case SUBREG:
   29548              :         case MEM:
   29549              :           operands[1] = x5;
   29550              :           x6 = XEXP (x4, 1);
   29551              :           switch (GET_CODE (x6))
   29552              :             {
   29553              :             case REG:
   29554              :             case SUBREG:
   29555              :             case MEM:
   29556              :               res = split_75 (x1, insn);
   29557              :               if (res != NULL_RTX)
   29558              :                 return res;
   29559              :               break;
   29560              : 
   29561              :             case CONST_INT:
   29562              :             case CONST_DOUBLE:
   29563              :             case CONST_VECTOR:
   29564              :               switch (pattern810 (x2))
   29565              :                 {
   29566              :                 case 0:
   29567              :                   if ((
   29568              : #line 24481 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29569              : (TARGET_AVX2) && 
   29570              : #line 24483 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29571              : ( reload_completed)))
   29572              :                     return gen_split_3600 (insn, operands);
   29573              :                   break;
   29574              : 
   29575              :                 case 1:
   29576              :                   if ((
   29577              : #line 24534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29578              : (TARGET_AVX512BW) && 
   29579              : #line 24536 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29580              : ( reload_completed)))
   29581              :                     return gen_split_3604 (insn, operands);
   29582              :                   break;
   29583              : 
   29584              :                 case 2:
   29585              :                   if ((
   29586              : #line 24656 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29587              : (TARGET_SSE4_1) && 
   29588              : #line 24658 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29589              : ( reload_completed)))
   29590              :                     return gen_split_3612 (insn, operands);
   29591              :                   break;
   29592              : 
   29593              :                 case 3:
   29594              :                   if ((
   29595              : #line 24960 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29596              : (TARGET_AVX512F) && 
   29597              : #line 24962 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29598              : ( reload_completed)))
   29599              :                     return gen_split_3626 (insn, operands);
   29600              :                   break;
   29601              : 
   29602              :                 case 4:
   29603              :                   if ((
   29604              : #line 25014 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29605              : (TARGET_AVX2) && 
   29606              : #line 25016 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29607              : ( reload_completed)))
   29608              :                     return gen_split_3630 (insn, operands);
   29609              :                   break;
   29610              : 
   29611              :                 case 5:
   29612              :                   if ((
   29613              : #line 25144 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29614              : (TARGET_SSE4_1) && 
   29615              : #line 25146 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29616              : ( reload_completed)))
   29617              :                     return gen_split_3638 (insn, operands);
   29618              :                   break;
   29619              : 
   29620              :                 case 6:
   29621              :                   if (pmovzx_parallel (operands[3], E_VOIDmode)
   29622              :                       && (
   29623              : #line 25649 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29624              : (TARGET_AVX512F) && 
   29625              : #line 25651 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29626              : ( reload_completed)))
   29627              :                     return gen_split_3661 (insn, operands);
   29628              :                   if (movq_parallel (operands[3], E_VOIDmode)
   29629              :                       && ((
   29630              : #line 29761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29631              : (TARGET_SSE2 && ix86_pre_reload_split ()) && 
   29632              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29633              : (TARGET_AVX512F)) && 
   29634              : #line 29763 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29635              : ( 1)))
   29636              :                     return gen_split_3884 (insn, operands);
   29637              :                   break;
   29638              : 
   29639              :                 case 7:
   29640              :                   if (pmovzx_parallel (operands[3], E_VOIDmode)
   29641              :                       && (
   29642              : #line 25701 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29643              : (TARGET_AVX2) && 
   29644              : #line 25703 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29645              : ( reload_completed)))
   29646              :                     return gen_split_3663 (insn, operands);
   29647              :                   if (movq_parallel (operands[3], E_VOIDmode)
   29648              :                       && ((
   29649              : #line 29761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29650              : (TARGET_SSE2 && ix86_pre_reload_split ()) && 
   29651              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29652              : (TARGET_AVX)) && 
   29653              : #line 29763 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29654              : ( 1)))
   29655              :                     return gen_split_3885 (insn, operands);
   29656              :                   break;
   29657              : 
   29658              :                 case 8:
   29659              :                   if (vector_operand (operands[1], E_V4SImode)
   29660              :                       && pmovzx_parallel (operands[3], E_VOIDmode)
   29661              :                       && (
   29662              : #line 25809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29663              : (TARGET_SSE4_1) && 
   29664              : #line 25811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29665              : ( reload_completed)))
   29666              :                     return gen_split_3669 (insn, operands);
   29667              :                   if (nonimmediate_operand (operands[1], E_V4SImode)
   29668              :                       && movq_parallel (operands[3], E_VOIDmode)
   29669              :                       && (
   29670              : #line 29761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29671              : (TARGET_SSE2 && ix86_pre_reload_split ()) && 
   29672              : #line 29763 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29673              : ( 1)))
   29674              :                     return gen_split_3886 (insn, operands);
   29675              :                   break;
   29676              : 
   29677              :                 case 9:
   29678              :                   if (((
   29679              : #line 29761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29680              : (TARGET_SSE2 && ix86_pre_reload_split ()) && 
   29681              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29682              : (TARGET_AVX512F)) && 
   29683              : #line 29763 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29684              : ( 1)))
   29685              :                     return gen_split_3887 (insn, operands);
   29686              :                   break;
   29687              : 
   29688              :                 case 10:
   29689              :                   if (((
   29690              : #line 29761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29691              : (TARGET_SSE2 && ix86_pre_reload_split ()) && 
   29692              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29693              : (TARGET_AVX)) && 
   29694              : #line 29763 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29695              : ( 1)))
   29696              :                     return gen_split_3888 (insn, operands);
   29697              :                   break;
   29698              : 
   29699              :                 case 11:
   29700              :                   if ((
   29701              : #line 29761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29702              : (TARGET_SSE2 && ix86_pre_reload_split ()) && 
   29703              : #line 29763 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29704              : ( 1)))
   29705              :                     return gen_split_3889 (insn, operands);
   29706              :                   break;
   29707              : 
   29708              :                 case 12:
   29709              :                   if (((
   29710              : #line 29761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29711              : (TARGET_SSE2 && ix86_pre_reload_split ()) && 
   29712              : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29713              : (TARGET_AVX512F)) && 
   29714              : #line 29763 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29715              : ( 1)))
   29716              :                     return gen_split_3890 (insn, operands);
   29717              :                   break;
   29718              : 
   29719              :                 case 13:
   29720              :                   if (((
   29721              : #line 29761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29722              : (TARGET_SSE2 && ix86_pre_reload_split ()) && 
   29723              : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29724              : (TARGET_AVX)) && 
   29725              : #line 29763 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29726              : ( 1)))
   29727              :                     return gen_split_3891 (insn, operands);
   29728              :                   break;
   29729              : 
   29730              :                 case 14:
   29731              :                   if ((
   29732              : #line 29761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29733              : (TARGET_SSE2 && ix86_pre_reload_split ()) && 
   29734              : #line 29763 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29735              : ( 1)))
   29736              :                     return gen_split_3892 (insn, operands);
   29737              :                   break;
   29738              : 
   29739              :                 case 15:
   29740              :                   if (((
   29741              : #line 29761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29742              : (TARGET_SSE2 && ix86_pre_reload_split ()) && 
   29743              : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29744              : (TARGET_AVX512F)) && 
   29745              : #line 29763 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29746              : ( 1)))
   29747              :                     return gen_split_3893 (insn, operands);
   29748              :                   break;
   29749              : 
   29750              :                 case 16:
   29751              :                   if (((
   29752              : #line 29761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29753              : (TARGET_SSE2 && ix86_pre_reload_split ()) && 
   29754              : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29755              : (TARGET_AVX)) && 
   29756              : #line 29763 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29757              : ( 1)))
   29758              :                     return gen_split_3894 (insn, operands);
   29759              :                   break;
   29760              : 
   29761              :                 case 17:
   29762              :                   if ((
   29763              : #line 29761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29764              : (TARGET_SSE2 && ix86_pre_reload_split ()) && 
   29765              : #line 29763 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29766              : ( 1)))
   29767              :                     return gen_split_3895 (insn, operands);
   29768              :                   break;
   29769              : 
   29770              :                 case 18:
   29771              :                   if (((
   29772              : #line 29761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29773              : (TARGET_SSE2 && ix86_pre_reload_split ()) && 
   29774              : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29775              : (TARGET_AVX512F)) && 
   29776              : #line 29763 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29777              : ( 1)))
   29778              :                     return gen_split_3896 (insn, operands);
   29779              :                   break;
   29780              : 
   29781              :                 case 19:
   29782              :                   if (((
   29783              : #line 29761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29784              : (TARGET_SSE2 && ix86_pre_reload_split ()) && 
   29785              : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29786              : (TARGET_AVX)) && 
   29787              : #line 29763 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29788              : ( 1)))
   29789              :                     return gen_split_3897 (insn, operands);
   29790              :                   break;
   29791              : 
   29792              :                 case 20:
   29793              :                   if ((
   29794              : #line 29761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29795              : (TARGET_SSE2 && ix86_pre_reload_split ()) && 
   29796              : #line 29763 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29797              : ( 1)))
   29798              :                     return gen_split_3898 (insn, operands);
   29799              :                   break;
   29800              : 
   29801              :                 case 21:
   29802              :                   if (((
   29803              : #line 29761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29804              : (TARGET_SSE2 && ix86_pre_reload_split ()) && 
   29805              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29806              : (TARGET_AVX512F)) && 
   29807              : #line 29763 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29808              : ( 1)))
   29809              :                     return gen_split_3899 (insn, operands);
   29810              :                   break;
   29811              : 
   29812              :                 case 22:
   29813              :                   if (((
   29814              : #line 29761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29815              : (TARGET_SSE2 && ix86_pre_reload_split ()) && 
   29816              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29817              : (TARGET_AVX)) && 
   29818              : #line 29763 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29819              : ( 1)))
   29820              :                     return gen_split_3900 (insn, operands);
   29821              :                   break;
   29822              : 
   29823              :                 case 23:
   29824              :                   if (((
   29825              : #line 29761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29826              : (TARGET_SSE2 && ix86_pre_reload_split ()) && 
   29827              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29828              : (TARGET_SSE2)) && 
   29829              : #line 29763 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29830              : ( 1)))
   29831              :                     return gen_split_3901 (insn, operands);
   29832              :                   break;
   29833              : 
   29834              :                 default:
   29835              :                   break;
   29836              :                 }
   29837              :               break;
   29838              : 
   29839              :             default:
   29840              :               break;
   29841              :             }
   29842              :           if (XVECLEN (x3, 0) >= 1)
   29843              :             {
   29844              :               switch (pattern812 (x2))
   29845              :                 {
   29846              :                 case 0:
   29847              :                   if ((
   29848              : #line 28719 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29849              : (TARGET_AVX && ix86_pre_reload_split ()) && 
   29850              : #line 28721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29851              : ( 1)))
   29852              :                     return gen_split_3843 (insn, operands);
   29853              :                   break;
   29854              : 
   29855              :                 case 1:
   29856              :                   if ((
   29857              : #line 28719 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29858              : (TARGET_AVX && ix86_pre_reload_split ()) && 
   29859              : #line 28721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29860              : ( 1)))
   29861              :                     return gen_split_3844 (insn, operands);
   29862              :                   break;
   29863              : 
   29864              :                 case 2:
   29865              :                   if ((
   29866              : #line 28719 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29867              : (TARGET_AVX && ix86_pre_reload_split ()) && 
   29868              : #line 28721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29869              : ( 1)))
   29870              :                     return gen_split_3845 (insn, operands);
   29871              :                   break;
   29872              : 
   29873              :                 case 3:
   29874              :                   if ((
   29875              : #line 28719 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29876              : (TARGET_AVX && ix86_pre_reload_split ()) && 
   29877              : #line 28721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29878              : ( 1)))
   29879              :                     return gen_split_3846 (insn, operands);
   29880              :                   break;
   29881              : 
   29882              :                 case 4:
   29883              :                   if ((
   29884              : #line 28719 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29885              : (TARGET_AVX && ix86_pre_reload_split ()) && 
   29886              : #line 28721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29887              : ( 1)))
   29888              :                     return gen_split_3847 (insn, operands);
   29889              :                   break;
   29890              : 
   29891              :                 case 5:
   29892              :                   if ((
   29893              : #line 28719 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29894              : (TARGET_AVX && ix86_pre_reload_split ()) && 
   29895              : #line 28721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29896              : ( 1)))
   29897              :                     return gen_split_3848 (insn, operands);
   29898              :                   break;
   29899              : 
   29900              :                 case 6:
   29901              :                   if ((
   29902              : #line 28719 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29903              : (TARGET_AVX && ix86_pre_reload_split ()) && 
   29904              : #line 28721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29905              : ( 1)))
   29906              :                     return gen_split_3849 (insn, operands);
   29907              :                   break;
   29908              : 
   29909              :                 case 7:
   29910              :                   if ((
   29911              : #line 28719 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29912              : (TARGET_AVX && ix86_pre_reload_split ()) && 
   29913              : #line 28721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29914              : ( 1)))
   29915              :                     return gen_split_3850 (insn, operands);
   29916              :                   break;
   29917              : 
   29918              :                 default:
   29919              :                   break;
   29920              :                 }
   29921              :             }
   29922              :           if (XVECLEN (x3, 0) < 1)
   29923              :             return NULL;
   29924              :           operands[4] = x3;
   29925              :           switch (pattern813 (x2))
   29926              :             {
   29927              :             case 0:
   29928              :               if ((
   29929              : #line 24501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29930              : (TARGET_AVX2) && 
   29931              : #line 24503 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29932              : ( reload_completed)))
   29933              :                 return gen_split_3601 (insn, operands);
   29934              :               break;
   29935              : 
   29936              :             case 1:
   29937              :               if ((
   29938              : #line 24501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29939              : (TARGET_AVX2) && 
   29940              : #line 24503 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29941              : ( reload_completed)))
   29942              :                 return gen_split_3602 (insn, operands);
   29943              :               break;
   29944              : 
   29945              :             case 2:
   29946              :               if ((
   29947              : #line 24501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29948              : (TARGET_AVX2) && 
   29949              : #line 24503 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29950              : ( reload_completed)))
   29951              :                 return gen_split_3603 (insn, operands);
   29952              :               break;
   29953              : 
   29954              :             case 3:
   29955              :               if ((
   29956              : #line 24554 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29957              : (TARGET_AVX512BW) && 
   29958              : #line 24556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29959              : ( reload_completed)))
   29960              :                 return gen_split_3605 (insn, operands);
   29961              :               break;
   29962              : 
   29963              :             case 4:
   29964              :               if ((
   29965              : #line 24554 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29966              : (TARGET_AVX512BW) && 
   29967              : #line 24556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29968              : ( reload_completed)))
   29969              :                 return gen_split_3606 (insn, operands);
   29970              :               break;
   29971              : 
   29972              :             case 5:
   29973              :               if ((
   29974              : #line 24554 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29975              : (TARGET_AVX512BW) && 
   29976              : #line 24556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29977              : ( reload_completed)))
   29978              :                 return gen_split_3607 (insn, operands);
   29979              :               break;
   29980              : 
   29981              :             case 6:
   29982              :               if ((
   29983              : #line 24691 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29984              : (TARGET_SSE4_1) && 
   29985              : #line 24693 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29986              : ( reload_completed)))
   29987              :                 return gen_split_3613 (insn, operands);
   29988              :               break;
   29989              : 
   29990              :             case 7:
   29991              :               if ((
   29992              : #line 24691 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29993              : (TARGET_SSE4_1) && 
   29994              : #line 24693 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29995              : ( reload_completed)))
   29996              :                 return gen_split_3614 (insn, operands);
   29997              :               break;
   29998              : 
   29999              :             case 8:
   30000              :               if ((
   30001              : #line 24691 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30002              : (TARGET_SSE4_1) && 
   30003              : #line 24693 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30004              : ( reload_completed)))
   30005              :                 return gen_split_3615 (insn, operands);
   30006              :               break;
   30007              : 
   30008              :             case 9:
   30009              :               if ((
   30010              : #line 24980 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30011              : (TARGET_AVX512F) && 
   30012              : #line 24982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30013              : ( reload_completed)))
   30014              :                 return gen_split_3627 (insn, operands);
   30015              :               break;
   30016              : 
   30017              :             case 10:
   30018              :               if ((
   30019              : #line 24980 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30020              : (TARGET_AVX512F) && 
   30021              : #line 24982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30022              : ( reload_completed)))
   30023              :                 return gen_split_3628 (insn, operands);
   30024              :               break;
   30025              : 
   30026              :             case 11:
   30027              :               if ((
   30028              : #line 24980 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30029              : (TARGET_AVX512F) && 
   30030              : #line 24982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30031              : ( reload_completed)))
   30032              :                 return gen_split_3629 (insn, operands);
   30033              :               break;
   30034              : 
   30035              :             case 12:
   30036              :               if ((
   30037              : #line 25034 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30038              : (TARGET_AVX2) && 
   30039              : #line 25036 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30040              : ( reload_completed)))
   30041              :                 return gen_split_3631 (insn, operands);
   30042              :               break;
   30043              : 
   30044              :             case 13:
   30045              :               if ((
   30046              : #line 25034 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30047              : (TARGET_AVX2) && 
   30048              : #line 25036 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30049              : ( reload_completed)))
   30050              :                 return gen_split_3632 (insn, operands);
   30051              :               break;
   30052              : 
   30053              :             case 14:
   30054              :               if ((
   30055              : #line 25034 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30056              : (TARGET_AVX2) && 
   30057              : #line 25036 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30058              : ( reload_completed)))
   30059              :                 return gen_split_3633 (insn, operands);
   30060              :               break;
   30061              : 
   30062              :             case 15:
   30063              :               if ((
   30064              : #line 25177 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30065              : (TARGET_SSE4_1) && 
   30066              : #line 25179 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30067              : ( reload_completed)))
   30068              :                 return gen_split_3639 (insn, operands);
   30069              :               break;
   30070              : 
   30071              :             case 16:
   30072              :               if ((
   30073              : #line 25177 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30074              : (TARGET_SSE4_1) && 
   30075              : #line 25179 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30076              : ( reload_completed)))
   30077              :                 return gen_split_3640 (insn, operands);
   30078              :               break;
   30079              : 
   30080              :             case 17:
   30081              :               if ((
   30082              : #line 25177 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30083              : (TARGET_SSE4_1) && 
   30084              : #line 25179 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30085              : ( reload_completed)))
   30086              :                 return gen_split_3641 (insn, operands);
   30087              :               break;
   30088              : 
   30089              :             default:
   30090              :               break;
   30091              :             }
   30092              :           operands[3] = x3;
   30093              :           switch (pattern814 (x2))
   30094              :             {
   30095              :             case 0:
   30096              :               if (!((
   30097              : #line 29761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30098              : (TARGET_SSE2 && ix86_pre_reload_split ()) && 
   30099              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30100              : (TARGET_AVX512F)) && 
   30101              : #line 29763 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30102              : ( 1)))
   30103              :                 return NULL;
   30104              :               return gen_split_3878 (insn, operands);
   30105              : 
   30106              :             case 1:
   30107              :               if (!((
   30108              : #line 29761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30109              : (TARGET_SSE2 && ix86_pre_reload_split ()) && 
   30110              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30111              : (TARGET_AVX)) && 
   30112              : #line 29763 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30113              : ( 1)))
   30114              :                 return NULL;
   30115              :               return gen_split_3879 (insn, operands);
   30116              : 
   30117              :             case 2:
   30118              :               if (!(
   30119              : #line 29761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30120              : (TARGET_SSE2 && ix86_pre_reload_split ()) && 
   30121              : #line 29763 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30122              : ( 1)))
   30123              :                 return NULL;
   30124              :               return gen_split_3880 (insn, operands);
   30125              : 
   30126              :             case 3:
   30127              :               if (!((
   30128              : #line 29761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30129              : (TARGET_SSE2 && ix86_pre_reload_split ()) && 
   30130              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30131              : (TARGET_AVX512F)) && 
   30132              : #line 29763 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30133              : ( 1)))
   30134              :                 return NULL;
   30135              :               return gen_split_3881 (insn, operands);
   30136              : 
   30137              :             case 4:
   30138              :               if (!((
   30139              : #line 29761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30140              : (TARGET_SSE2 && ix86_pre_reload_split ()) && 
   30141              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30142              : (TARGET_AVX)) && 
   30143              : #line 29763 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30144              : ( 1)))
   30145              :                 return NULL;
   30146              :               return gen_split_3882 (insn, operands);
   30147              : 
   30148              :             case 5:
   30149              :               if (!(
   30150              : #line 29761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30151              : (TARGET_SSE2 && ix86_pre_reload_split ()) && 
   30152              : #line 29763 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30153              : ( 1)))
   30154              :                 return NULL;
   30155              :               return gen_split_3883 (insn, operands);
   30156              : 
   30157              :             default:
   30158              :               return NULL;
   30159              :             }
   30160              : 
   30161              :         case VEC_CONCAT:
   30162              :           switch (pattern523 (x2))
   30163              :             {
   30164              :             case 0:
   30165              :               if (!(
   30166              : #line 25668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30167              : (TARGET_AVX512F) && 
   30168              : #line 25670 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30169              : ( reload_completed)))
   30170              :                 return NULL;
   30171              :               return gen_split_3662 (insn, operands);
   30172              : 
   30173              :             case 1:
   30174              :               if (!(
   30175              : #line 25720 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30176              : (TARGET_AVX2) && 
   30177              : #line 25722 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30178              : ( reload_completed)))
   30179              :                 return NULL;
   30180              :               return gen_split_3664 (insn, operands);
   30181              : 
   30182              :             case 2:
   30183              :               if (!(
   30184              : #line 25839 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30185              : (TARGET_SSE4_1) && 
   30186              : #line 25841 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30187              : ( reload_completed)))
   30188              :                 return NULL;
   30189              :               return gen_split_3670 (insn, operands);
   30190              : 
   30191              :             default:
   30192              :               return NULL;
   30193              :             }
   30194              : 
   30195              :         default:
   30196              :           return NULL;
   30197              :         }
   30198              : 
   30199              :     case REG:
   30200              :     case SUBREG:
   30201              :     case MEM:
   30202              :       operands[1] = x4;
   30203              :       res = split_79 (x1, insn);
   30204              :       if (res != NULL_RTX)
   30205              :         return res;
   30206              :       if (GET_CODE (x4) != SUBREG)
   30207              :         return NULL;
   30208              :       switch (pattern525 (x2))
   30209              :         {
   30210              :         case 0:
   30211              :           if (!(
   30212              : #line 15360 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30213              : (TARGET_AVX512BW && ix86_pre_reload_split ()) && 
   30214              : #line 15362 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30215              : ( 1)))
   30216              :             return NULL;
   30217              :           return gen_split_3260 (insn, operands);
   30218              : 
   30219              :         case 1:
   30220              :           if (!(
   30221              : #line 15413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30222              : (TARGET_AVX512VL && TARGET_AVX512BW && ix86_pre_reload_split ()) && 
   30223              : #line 15415 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30224              : ( 1)))
   30225              :             return NULL;
   30226              :           return gen_split_3262 (insn, operands);
   30227              : 
   30228              :         default:
   30229              :           return NULL;
   30230              :         }
   30231              : 
   30232              :     case UNSPEC:
   30233              :       if (XVECLEN (x4, 0) != 2)
   30234              :         return NULL;
   30235              :       switch (pattern527 (x2))
   30236              :         {
   30237              :         case 0:
   30238              :           if (!(
   30239              : #line 15335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30240              : (TARGET_AVX512BW && ix86_pre_reload_split ()) && 
   30241              : #line 15337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30242              : ( 1)))
   30243              :             return NULL;
   30244              :           return gen_split_3259 (insn, operands);
   30245              : 
   30246              :         case 1:
   30247              :           if (!(
   30248              : #line 15597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30249              : (TARGET_AVX512VL && TARGET_AVX512VBMI
   30250              :    && ix86_pre_reload_split ()) && 
   30251              : #line 15600 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30252              : ( 1)))
   30253              :             return NULL;
   30254              :           return gen_split_3265 (insn, operands);
   30255              : 
   30256              :         case 2:
   30257              :           if (!(
   30258              : #line 15392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30259              : (TARGET_AVX512VL && TARGET_AVX512BW && ix86_pre_reload_split ()) && 
   30260              : #line 15394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30261              : ( 1)))
   30262              :             return NULL;
   30263              :           return gen_split_3261 (insn, operands);
   30264              : 
   30265              :         case 3:
   30266              :           if (!(
   30267              : #line 15444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30268              : (TARGET_AVX512F && ix86_pre_reload_split ()) && 
   30269              : #line 15446 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30270              : ( 1)))
   30271              :             return NULL;
   30272              :           return gen_split_3263 (insn, operands);
   30273              : 
   30274              :         case 4:
   30275              :           if (!(
   30276              : #line 15516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30277              : (TARGET_AVX512VBMI && ix86_pre_reload_split ()) && 
   30278              : #line 15518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30279              : ( 1)))
   30280              :             return NULL;
   30281              :           return gen_split_3264 (insn, operands);
   30282              : 
   30283              :         case 5:
   30284              :           if (!(
   30285              : #line 15616 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30286              : (TARGET_AVX512VL && ix86_pre_reload_split ()) && 
   30287              : #line 15618 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30288              : ( 1)))
   30289              :             return NULL;
   30290              :           return gen_split_3266 (insn, operands);
   30291              : 
   30292              :         default:
   30293              :           return NULL;
   30294              :         }
   30295              : 
   30296              :     default:
   30297              :       return NULL;
   30298              :     }
   30299              : }
   30300              : 
   30301              :  rtx_insn *
   30302              : peephole2_1 (rtx x1 ATTRIBUTE_UNUSED,
   30303              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   30304              :         int *pmatch_len_ ATTRIBUTE_UNUSED)
   30305              : {
   30306              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   30307              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   30308              :   rtx x10, x11;
   30309              :   rtx_insn *res ATTRIBUTE_UNUSED;
   30310              :   x2 = XEXP (x1, 0);
   30311              :   if (GET_CODE (x2) != REG
   30312              :       || REGNO (x2) != 17)
   30313              :     return NULL;
   30314              :   x3 = XEXP (x1, 1);
   30315              :   x4 = XEXP (x3, 0);
   30316              :   switch (GET_CODE (x4))
   30317              :     {
   30318              :     case NEG:
   30319              :       if (GET_MODE (x4) != E_QImode)
   30320              :         return NULL;
   30321              :       x5 = XEXP (x4, 0);
   30322              :       if (GET_CODE (x5) != LTU
   30323              :           || GET_MODE (x5) != E_QImode)
   30324              :         return NULL;
   30325              :       x6 = XEXP (x5, 0);
   30326              :       if (GET_CODE (x6) != REG
   30327              :           || REGNO (x6) != 17
   30328              :           || GET_MODE (x6) != E_CCCmode)
   30329              :         return NULL;
   30330              :       x7 = XEXP (x5, 1);
   30331              :       if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   30332              :         return NULL;
   30333              :       x8 = XEXP (x3, 1);
   30334              :       if (GET_CODE (x8) != GEU
   30335              :           || GET_MODE (x8) != E_QImode)
   30336              :         return NULL;
   30337              :       x9 = XEXP (x8, 0);
   30338              :       if (GET_CODE (x9) != REG
   30339              :           || REGNO (x9) != 17
   30340              :           || GET_MODE (x9) != E_CCCmode)
   30341              :         return NULL;
   30342              :       x10 = XEXP (x8, 1);
   30343              :       if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
   30344              :           || GET_MODE (x2) != E_CCCmode
   30345              :           || GET_MODE (x3) != E_CCCmode
   30346              :           || !
   30347              : #line 2167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   30348              : (TARGET_SLOW_STC && !optimize_insn_for_size_p ()))
   30349              :         return NULL;
   30350              :       *pmatch_len_ = 0;
   30351              :       return gen_peephole2_2 (insn, operands);
   30352              : 
   30353              :     case AND:
   30354              :       x8 = XEXP (x3, 1);
   30355              :       if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
   30356              :           || GET_MODE (x2) != E_CCZmode
   30357              :           || GET_MODE (x3) != E_CCZmode)
   30358              :         return NULL;
   30359              :       x5 = XEXP (x4, 0);
   30360              :       operands[0] = x5;
   30361              :       x11 = XEXP (x4, 1);
   30362              :       operands[1] = x11;
   30363              :       if (!const_int_operand (operands[1], E_VOIDmode))
   30364              :         return NULL;
   30365              :       switch (GET_MODE (x4))
   30366              :         {
   30367              :         case E_HImode:
   30368              :           if (!memory_operand (operands[0], E_HImode)
   30369              :               || !
   30370              : #line 12754 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   30371              : (!TARGET_PARTIAL_MEMORY_READ_STALL
   30372              :    && !MEM_VOLATILE_P (operands[0])
   30373              :    && offsettable_memref_p (operands[0])))
   30374              :             return NULL;
   30375              :           *pmatch_len_ = 0;
   30376              :           return gen_peephole2_140 (insn, operands);
   30377              : 
   30378              :         case E_SImode:
   30379              :           if (!memory_operand (operands[0], E_SImode)
   30380              :               || !
   30381              : #line 12754 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   30382              : (!TARGET_PARTIAL_MEMORY_READ_STALL
   30383              :    && !MEM_VOLATILE_P (operands[0])
   30384              :    && offsettable_memref_p (operands[0])))
   30385              :             return NULL;
   30386              :           *pmatch_len_ = 0;
   30387              :           return gen_peephole2_141 (insn, operands);
   30388              : 
   30389              :         case E_DImode:
   30390              :           if (!memory_operand (operands[0], E_DImode)
   30391              :               || !(
   30392              : #line 12754 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   30393              : (!TARGET_PARTIAL_MEMORY_READ_STALL
   30394              :    && !MEM_VOLATILE_P (operands[0])
   30395              :    && offsettable_memref_p (operands[0])) && 
   30396              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   30397              : (TARGET_64BIT)))
   30398              :             return NULL;
   30399              :           *pmatch_len_ = 0;
   30400              :           return gen_peephole2_142 (insn, operands);
   30401              : 
   30402              :         default:
   30403              :           return NULL;
   30404              :         }
   30405              : 
   30406              :     default:
   30407              :       return NULL;
   30408              :     }
   30409              : }
   30410              : 
   30411              :  rtx_insn *
   30412              : peephole2_2 (rtx x1 ATTRIBUTE_UNUSED,
   30413              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   30414              :         int *pmatch_len_ ATTRIBUTE_UNUSED)
   30415              : {
   30416              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   30417              :   rtx x2, x3, x4;
   30418              :   rtx_insn *res ATTRIBUTE_UNUSED;
   30419              :   x2 = XEXP (x1, 0);
   30420              :   operands[0] = x2;
   30421              :   x3 = XEXP (x1, 1);
   30422              :   x4 = XEXP (x3, 0);
   30423              :   operands[1] = x4;
   30424              :   switch (GET_MODE (operands[0]))
   30425              :     {
   30426              :     case E_SImode:
   30427              :       switch (pattern417 (x3, 
   30428              : E_SImode))
   30429              :         {
   30430              :         case 0:
   30431              :           if (!
   30432              : #line 5974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   30433              : (TARGET_AVOID_VECTOR_DECODE
   30434              :    && SSE_FLOAT_MODE_P (SFmode)
   30435              :    && optimize_insn_for_speed_p ()))
   30436              :             return NULL;
   30437              :           *pmatch_len_ = 0;
   30438              :           return gen_peephole2_56 (insn, operands);
   30439              : 
   30440              :         case 1:
   30441              :           if (!
   30442              : #line 5974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   30443              : (TARGET_AVOID_VECTOR_DECODE
   30444              :    && SSE_FLOAT_MODE_P (DFmode)
   30445              :    && optimize_insn_for_speed_p ()))
   30446              :             return NULL;
   30447              :           *pmatch_len_ = 0;
   30448              :           return gen_peephole2_58 (insn, operands);
   30449              : 
   30450              :         default:
   30451              :           return NULL;
   30452              :         }
   30453              : 
   30454              :     case E_DImode:
   30455              :       switch (pattern417 (x3, 
   30456              : E_DImode))
   30457              :         {
   30458              :         case 0:
   30459              :           if (!(
   30460              : #line 5974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   30461              : (TARGET_AVOID_VECTOR_DECODE
   30462              :    && SSE_FLOAT_MODE_P (SFmode)
   30463              :    && optimize_insn_for_speed_p ()) && 
   30464              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   30465              : (TARGET_64BIT)))
   30466              :             return NULL;
   30467              :           *pmatch_len_ = 0;
   30468              :           return gen_peephole2_57 (insn, operands);
   30469              : 
   30470              :         case 1:
   30471              :           if (!(
   30472              : #line 5974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   30473              : (TARGET_AVOID_VECTOR_DECODE
   30474              :    && SSE_FLOAT_MODE_P (DFmode)
   30475              :    && optimize_insn_for_speed_p ()) && 
   30476              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   30477              : (TARGET_64BIT)))
   30478              :             return NULL;
   30479              :           *pmatch_len_ = 0;
   30480              :           return gen_peephole2_59 (insn, operands);
   30481              : 
   30482              :         default:
   30483              :           return NULL;
   30484              :         }
   30485              : 
   30486              :     default:
   30487              :       return NULL;
   30488              :     }
   30489              : }
   30490              : 
   30491              :  rtx_insn *
   30492              : peephole2_3 (rtx x1 ATTRIBUTE_UNUSED,
   30493              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   30494              :         int *pmatch_len_ ATTRIBUTE_UNUSED)
   30495              : {
   30496              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   30497              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   30498              :   rtx x10;
   30499              :   rtx_insn *res ATTRIBUTE_UNUSED;
   30500              :   if (peep2_current_count < 2
   30501              :       || peep2_current_count < 3)
   30502              :     return NULL;
   30503              :   x2 = XEXP (x1, 1);
   30504              :   operands[1] = x2;
   30505              :   if (!bt_comparison_operator (operands[1], E_QImode))
   30506              :     return NULL;
   30507              :   x3 = XEXP (x2, 0);
   30508              :   if (GET_CODE (x3) != REG
   30509              :       || REGNO (x3) != 17
   30510              :       || GET_MODE (x3) != E_CCZmode)
   30511              :     return NULL;
   30512              :   x4 = XEXP (x2, 1);
   30513              :   if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   30514              :     return NULL;
   30515              :   x5 = XEXP (x1, 0);
   30516              :   operands[0] = x5;
   30517              :   if (!nonimmediate_operand (operands[0], E_QImode))
   30518              :     return NULL;
   30519              :   x6 = PATTERN (peep2_next_insn (1));
   30520              :   if (pattern1265 (x6, 
   30521              : 0) != 0)
   30522              :     return NULL;
   30523              :   x7 = PATTERN (peep2_next_insn (2));
   30524              :   x8 = XEXP (x7, 1);
   30525              :   x9 = XEXP (x8, 0);
   30526              :   operands[2] = x9;
   30527              :   if (pattern1805 (x7) != 0)
   30528              :     return NULL;
   30529              :   x10 = XEXP (x8, 1);
   30530              :   operands[3] = x10;
   30531              :   if (!
   30532              : #line 20022 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   30533              : (peep2_regno_dead_p (3, FLAGS_REG)))
   30534              :     return NULL;
   30535              :   *pmatch_len_ = 2;
   30536              :   return gen_peephole2_188 (insn, operands);
   30537              : }
   30538              : 
   30539              :  rtx_insn *
   30540              : peephole2_4 (rtx x1 ATTRIBUTE_UNUSED,
   30541              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   30542              :         int *pmatch_len_ ATTRIBUTE_UNUSED)
   30543              : {
   30544              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   30545              :   rtx x2;
   30546              :   rtx_insn *res ATTRIBUTE_UNUSED;
   30547              :   switch (GET_MODE (operands[0]))
   30548              :     {
   30549              :     case E_DImode:
   30550              :       if (register_operand (operands[0], E_DImode)
   30551              :           && const_int_operand (operands[1], E_DImode)
   30552              :           && 
   30553              : #line 2814 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   30554              : (TARGET_64BIT
   30555              :    && optimize_insn_for_size_p ()
   30556              :    && LEGACY_INT_REG_P (operands[0])
   30557              :    && !x86_64_immediate_operand (operands[1], DImode)
   30558              :    && !x86_64_zext_immediate_operand (operands[1], DImode)
   30559              :    && !((UINTVAL (operands[1]) >> ctz_hwi (UINTVAL (operands[1])))
   30560              :         & ~HOST_WIDE_INT_C (0xffffffff))
   30561              :    && peep2_regno_dead_p (0, FLAGS_REG)))
   30562              :         {
   30563              :           *pmatch_len_ = 0;
   30564              :           res = gen_peephole2_4 (insn, operands);
   30565              :           if (res != NULL_RTX)
   30566              :             return res;
   30567              :         }
   30568              :       if (!general_reg_operand (operands[0], E_DImode))
   30569              :         return NULL;
   30570              :       if (const_int_operand (operands[1], E_DImode))
   30571              :         {
   30572              :           if ((
   30573              : #line 2963 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   30574              : (optimize_insn_for_size_p () && optimize_size > 1
   30575              :    && operands[1] != const0_rtx
   30576              :    && (operands[1] != constm1_rtx
   30577              :        || (DImode == DImode && LEGACY_INT_REG_P (operands[0])))
   30578              :    && IN_RANGE (INTVAL (operands[1]), -128, 127)
   30579              :    && !ix86_red_zone_used
   30580              :    && REGNO (operands[0]) != SP_REG) && 
   30581              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   30582              : (TARGET_64BIT)))
   30583              :             {
   30584              :               *pmatch_len_ = 0;
   30585              :               res = gen_peephole2_7 (insn, operands);
   30586              :               if (res != NULL_RTX)
   30587              :                 return res;
   30588              :             }
   30589              :           if (peep2_current_count >= 2)
   30590              :             {
   30591              :               x2 = PATTERN (peep2_next_insn (1));
   30592              :               switch (pattern1074 (x2))
   30593              :                 {
   30594              :                 case 0:
   30595              :                   if ((
   30596              : #line 3669 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   30597              : (REGNO (operands[0]) == REGNO (operands[2])) && 
   30598              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   30599              : (TARGET_64BIT)))
   30600              :                     {
   30601              :                       *pmatch_len_ = 1;
   30602              :                       res = gen_peephole2_36 (insn, operands);
   30603              :                       if (res != NULL_RTX)
   30604              :                         return res;
   30605              :                     }
   30606              :                   break;
   30607              : 
   30608              :                 case 1:
   30609              :                   if ((
   30610              : #line 3669 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   30611              : (REGNO (operands[0]) == REGNO (operands[2])) && 
   30612              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   30613              : (TARGET_64BIT)))
   30614              :                     {
   30615              :                       *pmatch_len_ = 1;
   30616              :                       res = gen_peephole2_38 (insn, operands);
   30617              :                       if (res != NULL_RTX)
   30618              :                         return res;
   30619              :                     }
   30620              :                   break;
   30621              : 
   30622              :                 case 2:
   30623              :                   if ((
   30624              : #line 3669 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   30625              : (REGNO (operands[0]) == REGNO (operands[2])) && 
   30626              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   30627              : (TARGET_64BIT)))
   30628              :                     {
   30629              :                       *pmatch_len_ = 1;
   30630              :                       res = gen_peephole2_40 (insn, operands);
   30631              :                       if (res != NULL_RTX)
   30632              :                         return res;
   30633              :                     }
   30634              :                   break;
   30635              : 
   30636              :                 default:
   30637              :                   break;
   30638              :                 }
   30639              :             }
   30640              :         }
   30641              :       if (peep2_current_count < 2)
   30642              :         return NULL;
   30643              :       x2 = PATTERN (peep2_next_insn (1));
   30644              :       if (pattern959 (x2, 
   30645              : E_DImode) != 0
   30646              :           || !(
   30647              : #line 3300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   30648              : (peep2_reg_dead_p (2, operands[0])
   30649              :    && (const0_operand (operands[1], DImode)
   30650              :        || (constm1_operand (operands[1], DImode)
   30651              :            && (8 > 1 || TARGET_AVX512DQ)))) && 
   30652              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   30653              : (TARGET_64BIT)))
   30654              :         return NULL;
   30655              :       *pmatch_len_ = 1;
   30656              :       return gen_peephole2_14 (insn, operands);
   30657              : 
   30658              :     case E_HImode:
   30659              :       if (!general_reg_operand (operands[0], E_HImode))
   30660              :         return NULL;
   30661              :       if (const_int_operand (operands[1], E_HImode)
   30662              :           && 
   30663              : #line 2963 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   30664              : (optimize_insn_for_size_p () && optimize_size > 1
   30665              :    && operands[1] != const0_rtx
   30666              :    && (operands[1] != constm1_rtx
   30667              :        || (HImode == DImode && LEGACY_INT_REG_P (operands[0])))
   30668              :    && IN_RANGE (INTVAL (operands[1]), -128, 127)
   30669              :    && !ix86_red_zone_used
   30670              :    && REGNO (operands[0]) != SP_REG))
   30671              :         {
   30672              :           *pmatch_len_ = 0;
   30673              :           res = gen_peephole2_5 (insn, operands);
   30674              :           if (res != NULL_RTX)
   30675              :             return res;
   30676              :         }
   30677              :       if (peep2_current_count < 2)
   30678              :         return NULL;
   30679              :       x2 = PATTERN (peep2_next_insn (1));
   30680              :       if (pattern959 (x2, 
   30681              : E_HImode) != 0
   30682              :           || !
   30683              : #line 3300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   30684              : (peep2_reg_dead_p (2, operands[0])
   30685              :    && (const0_operand (operands[1], HImode)
   30686              :        || (constm1_operand (operands[1], HImode)
   30687              :            && (2 > 1 || TARGET_AVX512DQ)))))
   30688              :         return NULL;
   30689              :       *pmatch_len_ = 1;
   30690              :       return gen_peephole2_12 (insn, operands);
   30691              : 
   30692              :     case E_SImode:
   30693              :       if (!general_reg_operand (operands[0], E_SImode))
   30694              :         return NULL;
   30695              :       if (const_int_operand (operands[1], E_SImode))
   30696              :         {
   30697              :           if (
   30698              : #line 2963 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   30699              : (optimize_insn_for_size_p () && optimize_size > 1
   30700              :    && operands[1] != const0_rtx
   30701              :    && (operands[1] != constm1_rtx
   30702              :        || (SImode == DImode && LEGACY_INT_REG_P (operands[0])))
   30703              :    && IN_RANGE (INTVAL (operands[1]), -128, 127)
   30704              :    && !ix86_red_zone_used
   30705              :    && REGNO (operands[0]) != SP_REG))
   30706              :             {
   30707              :               *pmatch_len_ = 0;
   30708              :               res = gen_peephole2_6 (insn, operands);
   30709              :               if (res != NULL_RTX)
   30710              :                 return res;
   30711              :             }
   30712              :           if (peep2_current_count >= 2)
   30713              :             {
   30714              :               x2 = PATTERN (peep2_next_insn (1));
   30715              :               switch (pattern1074 (x2))
   30716              :                 {
   30717              :                 case 0:
   30718              :                   if (
   30719              : #line 3669 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   30720              : (REGNO (operands[0]) == REGNO (operands[2])))
   30721              :                     {
   30722              :                       *pmatch_len_ = 1;
   30723              :                       res = gen_peephole2_35 (insn, operands);
   30724              :                       if (res != NULL_RTX)
   30725              :                         return res;
   30726              :                     }
   30727              :                   break;
   30728              : 
   30729              :                 case 1:
   30730              :                   if (
   30731              : #line 3669 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   30732              : (REGNO (operands[0]) == REGNO (operands[2])))
   30733              :                     {
   30734              :                       *pmatch_len_ = 1;
   30735              :                       res = gen_peephole2_37 (insn, operands);
   30736              :                       if (res != NULL_RTX)
   30737              :                         return res;
   30738              :                     }
   30739              :                   break;
   30740              : 
   30741              :                 case 2:
   30742              :                   if ((
   30743              : #line 3669 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   30744              : (REGNO (operands[0]) == REGNO (operands[2])) && 
   30745              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   30746              : (TARGET_64BIT)))
   30747              :                     {
   30748              :                       *pmatch_len_ = 1;
   30749              :                       res = gen_peephole2_39 (insn, operands);
   30750              :                       if (res != NULL_RTX)
   30751              :                         return res;
   30752              :                     }
   30753              :                   break;
   30754              : 
   30755              :                 default:
   30756              :                   break;
   30757              :                 }
   30758              :             }
   30759              :         }
   30760              :       if (peep2_current_count < 2)
   30761              :         return NULL;
   30762              :       x2 = PATTERN (peep2_next_insn (1));
   30763              :       if (pattern959 (x2, 
   30764              : E_SImode) != 0
   30765              :           || !
   30766              : #line 3300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   30767              : (peep2_reg_dead_p (2, operands[0])
   30768              :    && (const0_operand (operands[1], SImode)
   30769              :        || (constm1_operand (operands[1], SImode)
   30770              :            && (4 > 1 || TARGET_AVX512DQ)))))
   30771              :         return NULL;
   30772              :       *pmatch_len_ = 1;
   30773              :       return gen_peephole2_13 (insn, operands);
   30774              : 
   30775              :     case E_QImode:
   30776              :       if (peep2_current_count < 2
   30777              :           || !general_reg_operand (operands[0], E_QImode))
   30778              :         return NULL;
   30779              :       x2 = PATTERN (peep2_next_insn (1));
   30780              :       if (pattern959 (x2, 
   30781              : E_QImode) != 0
   30782              :           || !
   30783              : #line 3300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   30784              : (peep2_reg_dead_p (2, operands[0])
   30785              :    && (const0_operand (operands[1], QImode)
   30786              :        || (constm1_operand (operands[1], QImode)
   30787              :            && (1 > 1 || TARGET_AVX512DQ)))))
   30788              :         return NULL;
   30789              :       *pmatch_len_ = 1;
   30790              :       return gen_peephole2_11 (insn, operands);
   30791              : 
   30792              :     default:
   30793              :       return NULL;
   30794              :     }
   30795              : }
   30796              : 
   30797              :  rtx_insn *
   30798              : peephole2_6 (rtx x1 ATTRIBUTE_UNUSED,
   30799              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   30800              :         int *pmatch_len_ ATTRIBUTE_UNUSED)
   30801              : {
   30802              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   30803              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   30804              :   rtx x10, x11, x12, x13;
   30805              :   rtx_insn *res ATTRIBUTE_UNUSED;
   30806              :   x2 = XEXP (x1, 1);
   30807              :   operands[1] = x2;
   30808              :   x3 = XEXP (x1, 0);
   30809              :   operands[0] = x3;
   30810              :   switch (GET_CODE (operands[0]))
   30811              :     {
   30812              :     case REG:
   30813              :       switch (GET_MODE (operands[0]))
   30814              :         {
   30815              :         case E_QImode:
   30816              :           x4 = PATTERN (peep2_next_insn (1));
   30817              :           switch (pattern733 (x4, 
   30818              : E_QImode))
   30819              :             {
   30820              :             case 0:
   30821              :               if (pattern1351 (x4, 
   30822              : E_QImode) != 0
   30823              :                   || !
   30824              : #line 3402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   30825              : (peep2_reg_dead_p (3, operands[0])
   30826              :    && optimize_insn_for_size_p ()))
   30827              :                 return NULL;
   30828              :               *pmatch_len_ = 2;
   30829              :               return gen_peephole2_15 (insn, operands);
   30830              : 
   30831              :             case 1:
   30832              :               if (XVECLEN (x4, 0) != 2)
   30833              :                 return NULL;
   30834              :               x5 = XVECEXP (x4, 0, 0);
   30835              :               if (GET_CODE (x5) != SET)
   30836              :                 return NULL;
   30837              :               x6 = XEXP (x5, 1);
   30838              :               if (GET_CODE (x6) != NEG
   30839              :                   || pattern1355 (x4, 
   30840              : E_QImode) != 0)
   30841              :                 return NULL;
   30842              :               *pmatch_len_ = 2;
   30843              :               return gen_peephole2_171 (insn, operands);
   30844              : 
   30845              :             default:
   30846              :               return NULL;
   30847              :             }
   30848              : 
   30849              :         case E_HImode:
   30850              :           x4 = PATTERN (peep2_next_insn (1));
   30851              :           switch (pattern733 (x4, 
   30852              : E_HImode))
   30853              :             {
   30854              :             case 0:
   30855              :               if (pattern1351 (x4, 
   30856              : E_HImode) != 0
   30857              :                   || !
   30858              : #line 3402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   30859              : (peep2_reg_dead_p (3, operands[0])
   30860              :    && optimize_insn_for_size_p ()))
   30861              :                 return NULL;
   30862              :               *pmatch_len_ = 2;
   30863              :               return gen_peephole2_16 (insn, operands);
   30864              : 
   30865              :             case 1:
   30866              :               if (XVECLEN (x4, 0) != 2)
   30867              :                 return NULL;
   30868              :               x5 = XVECEXP (x4, 0, 0);
   30869              :               if (GET_CODE (x5) != SET)
   30870              :                 return NULL;
   30871              :               x6 = XEXP (x5, 1);
   30872              :               if (GET_CODE (x6) == NEG
   30873              :                   && pattern1355 (x4, 
   30874              : E_HImode) == 0)
   30875              :                 {
   30876              :                   *pmatch_len_ = 2;
   30877              :                   res = gen_peephole2_172 (insn, operands);
   30878              :                   if (res != NULL_RTX)
   30879              :                     return res;
   30880              :                 }
   30881              :               if (peep2_current_count < 4
   30882              :                   || pattern1357 (x4, 
   30883              : E_HImode) != 0
   30884              :                   || !
   30885              : #line 26950 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   30886              : (TARGET_CMOVE
   30887              :   && REGNO (operands[2]) != REGNO (operands[0])
   30888              :   && REGNO (operands[2]) != REGNO (operands[1])
   30889              :   && peep2_reg_dead_p (1, operands[1])
   30890              :   && peep2_reg_dead_p (4, operands[2])
   30891              :   && !reg_overlap_mentioned_p (operands[0], operands[3])))
   30892              :                 return NULL;
   30893              :               *pmatch_len_ = 3;
   30894              :               return gen_peephole2_223 (insn, operands);
   30895              : 
   30896              :             default:
   30897              :               return NULL;
   30898              :             }
   30899              : 
   30900              :         case E_SImode:
   30901              :           if (!general_reg_operand (operands[0], E_SImode)
   30902              :               || !general_reg_operand (operands[1], E_SImode))
   30903              :             return NULL;
   30904              :           if (peep2_current_count >= 2)
   30905              :             {
   30906              :               x4 = PATTERN (peep2_next_insn (1));
   30907              :               if (pattern1075 (x4, 
   30908              : E_SImode) == 0
   30909              :                   && 
   30910              : #line 3402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   30911              : (peep2_reg_dead_p (3, operands[0])
   30912              :    && optimize_insn_for_size_p ()))
   30913              :                 {
   30914              :                   *pmatch_len_ = 2;
   30915              :                   res = gen_peephole2_17 (insn, operands);
   30916              :                   if (res != NULL_RTX)
   30917              :                     return res;
   30918              :                 }
   30919              :             }
   30920              :           if (!
   30921              : #line 3435 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   30922              : (optimize_size > 1
   30923              :   && ((REGNO (operands[0]) == AX_REG)
   30924              :       != (REGNO (operands[1]) == AX_REG))
   30925              :   && optimize_insn_for_size_p ()
   30926              :   && peep2_reg_dead_p (1, operands[1])))
   30927              :             return NULL;
   30928              :           *pmatch_len_ = 0;
   30929              :           return gen_peephole2_27 (insn, operands);
   30930              : 
   30931              :         case E_DImode:
   30932              :           if (!general_reg_operand (operands[0], E_DImode)
   30933              :               || !general_reg_operand (operands[1], E_DImode))
   30934              :             return NULL;
   30935              :           if (peep2_current_count >= 2)
   30936              :             {
   30937              :               x4 = PATTERN (peep2_next_insn (1));
   30938              :               if (pattern1075 (x4, 
   30939              : E_DImode) == 0
   30940              :                   && (
   30941              : #line 3402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   30942              : (peep2_reg_dead_p (3, operands[0])
   30943              :    && optimize_insn_for_size_p ()) && 
   30944              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   30945              : (TARGET_64BIT)))
   30946              :                 {
   30947              :                   *pmatch_len_ = 2;
   30948              :                   res = gen_peephole2_18 (insn, operands);
   30949              :                   if (res != NULL_RTX)
   30950              :                     return res;
   30951              :                 }
   30952              :             }
   30953              :           if ((
   30954              : #line 3435 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   30955              : (optimize_size > 1
   30956              :   && ((REGNO (operands[0]) == AX_REG)
   30957              :       != (REGNO (operands[1]) == AX_REG))
   30958              :   && optimize_insn_for_size_p ()
   30959              :   && peep2_reg_dead_p (1, operands[1])) && 
   30960              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   30961              : (TARGET_64BIT)))
   30962              :             {
   30963              :               *pmatch_len_ = 0;
   30964              :               res = gen_peephole2_28 (insn, operands);
   30965              :               if (res != NULL_RTX)
   30966              :                 return res;
   30967              :             }
   30968              :           if (peep2_current_count < 2
   30969              :               || peep2_current_count < 3
   30970              :               || peep2_current_count < 4)
   30971              :             return NULL;
   30972              :           x4 = PATTERN (peep2_next_insn (1));
   30973              :           if (GET_CODE (x4) != PARALLEL
   30974              :               || XVECLEN (x4, 0) != 2)
   30975              :             return NULL;
   30976              :           x5 = XVECEXP (x4, 0, 0);
   30977              :           if (GET_CODE (x5) != SET)
   30978              :             return NULL;
   30979              :           x6 = XEXP (x5, 1);
   30980              :           if (GET_CODE (x6) != ASHIFTRT
   30981              :               || GET_MODE (x6) != E_DImode)
   30982              :             return NULL;
   30983              :           x7 = XEXP (x6, 1);
   30984              :           if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 63]
   30985              :               || pattern1353 (x4) != 0)
   30986              :             return NULL;
   30987              :           x8 = PATTERN (peep2_next_insn (2));
   30988              :           if (GET_CODE (x8) != SET)
   30989              :             return NULL;
   30990              :           x9 = XEXP (x8, 0);
   30991              :           operands[2] = x9;
   30992              :           if (!general_reg_operand (operands[2], E_DImode))
   30993              :             return NULL;
   30994              :           x10 = XEXP (x8, 1);
   30995              :           if (!rtx_equal_p (x10, operands[1]))
   30996              :             return NULL;
   30997              :           x11 = PATTERN (peep2_next_insn (3));
   30998              :           if (GET_CODE (x11) != SET)
   30999              :             return NULL;
   31000              :           x12 = XEXP (x11, 0);
   31001              :           operands[3] = x12;
   31002              :           if (!general_reg_operand (operands[3], E_DImode))
   31003              :             return NULL;
   31004              :           x13 = XEXP (x11, 1);
   31005              :           if (!rtx_equal_p (x13, operands[0])
   31006              :               || !
   31007              : #line 5127 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31008              : ((optimize_function_for_size_p (cfun) || TARGET_USE_CLTD)
   31009              :    && REGNO (operands[2]) == AX_REG
   31010              :    && REGNO (operands[3]) == DX_REG
   31011              :    && peep2_reg_dead_p (4, operands[0])
   31012              :    && !reg_mentioned_p (operands[0], operands[1])
   31013              :    && !reg_mentioned_p (operands[2], operands[0])))
   31014              :             return NULL;
   31015              :           *pmatch_len_ = 3;
   31016              :           return gen_peephole2_53 (insn, operands);
   31017              : 
   31018              :         default:
   31019              :           return NULL;
   31020              :         }
   31021              : 
   31022              :     case SUBREG:
   31023              :     case MEM:
   31024              :       if (peep2_current_count < 2
   31025              :           || peep2_current_count < 3)
   31026              :         return NULL;
   31027              :       switch (GET_MODE (operands[0]))
   31028              :         {
   31029              :         case E_SImode:
   31030              :           x4 = PATTERN (peep2_next_insn (1));
   31031              :           switch (pattern960 (x4, 
   31032              : E_SImode))
   31033              :             {
   31034              :             case 0:
   31035              :               if (!(
   31036              : #line 5050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31037              : (REGNO (operands[1]) != REGNO (operands[2])
   31038              :    && INTVAL (operands[4]) == (4 * BITS_PER_UNIT - 1)
   31039              :    && peep2_reg_dead_p (2, operands[1])
   31040              :    && peep2_reg_dead_p (4, operands[2])
   31041              :    && !reg_mentioned_p (operands[2], operands[3])) && 
   31042              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31043              : (!TARGET_64BIT)))
   31044              :                 return NULL;
   31045              :               *pmatch_len_ = 3;
   31046              :               return gen_peephole2_49 (insn, operands);
   31047              : 
   31048              :             case 1:
   31049              :               if (!(
   31050              : #line 5068 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31051              : (/* cltd is shorter than sarl $31, %eax */
   31052              :    !optimize_function_for_size_p (cfun)
   31053              :    && REGNO (operands[1]) == AX_REG
   31054              :    && REGNO (operands[2]) == DX_REG
   31055              :    && INTVAL (operands[4]) == (4 * BITS_PER_UNIT - 1)
   31056              :    && peep2_reg_dead_p (2, operands[1])
   31057              :    && peep2_reg_dead_p (3, operands[2])
   31058              :    && !reg_mentioned_p (operands[2], operands[3])) && 
   31059              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31060              : (!TARGET_64BIT)))
   31061              :                 return NULL;
   31062              :               *pmatch_len_ = 2;
   31063              :               return gen_peephole2_51 (insn, operands);
   31064              : 
   31065              :             default:
   31066              :               return NULL;
   31067              :             }
   31068              : 
   31069              :         case E_DImode:
   31070              :           x4 = PATTERN (peep2_next_insn (1));
   31071              :           switch (pattern960 (x4, 
   31072              : E_DImode))
   31073              :             {
   31074              :             case 0:
   31075              :               if (!(
   31076              : #line 5050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31077              : (REGNO (operands[1]) != REGNO (operands[2])
   31078              :    && INTVAL (operands[4]) == (8 * BITS_PER_UNIT - 1)
   31079              :    && peep2_reg_dead_p (2, operands[1])
   31080              :    && peep2_reg_dead_p (4, operands[2])
   31081              :    && !reg_mentioned_p (operands[2], operands[3])) && 
   31082              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31083              : (TARGET_64BIT)))
   31084              :                 return NULL;
   31085              :               *pmatch_len_ = 3;
   31086              :               return gen_peephole2_50 (insn, operands);
   31087              : 
   31088              :             case 1:
   31089              :               if (!(
   31090              : #line 5068 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31091              : (/* cltd is shorter than sarl $31, %eax */
   31092              :    !optimize_function_for_size_p (cfun)
   31093              :    && REGNO (operands[1]) == AX_REG
   31094              :    && REGNO (operands[2]) == DX_REG
   31095              :    && INTVAL (operands[4]) == (8 * BITS_PER_UNIT - 1)
   31096              :    && peep2_reg_dead_p (2, operands[1])
   31097              :    && peep2_reg_dead_p (3, operands[2])
   31098              :    && !reg_mentioned_p (operands[2], operands[3])) && 
   31099              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31100              : (TARGET_64BIT)))
   31101              :                 return NULL;
   31102              :               *pmatch_len_ = 2;
   31103              :               return gen_peephole2_52 (insn, operands);
   31104              : 
   31105              :             default:
   31106              :               return NULL;
   31107              :             }
   31108              : 
   31109              :         default:
   31110              :           return NULL;
   31111              :         }
   31112              : 
   31113              :     default:
   31114              :       return NULL;
   31115              :     }
   31116              : }
   31117              : 
   31118              :  rtx_insn *
   31119              : peephole2_11 (rtx x1 ATTRIBUTE_UNUSED,
   31120              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   31121              :         int *pmatch_len_ ATTRIBUTE_UNUSED)
   31122              : {
   31123              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   31124              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   31125              :   rtx x10, x11, x12, x13, x14;
   31126              :   rtx_insn *res ATTRIBUTE_UNUSED;
   31127              :   x2 = PATTERN (peep2_next_insn (1));
   31128              :   x3 = XEXP (x2, 1);
   31129              :   if (GET_CODE (x3) != IOR
   31130              :       || GET_MODE (x3) != E_SImode)
   31131              :     return NULL;
   31132              :   x4 = XEXP (x3, 0);
   31133              :   if (GET_CODE (x4) != AND
   31134              :       || GET_MODE (x4) != E_SImode)
   31135              :     return NULL;
   31136              :   x5 = XEXP (x4, 1);
   31137              :   if (GET_CODE (x5) != CONST_INT
   31138              :       || XWINT (x5, 0) != -65536L)
   31139              :     return NULL;
   31140              :   x6 = XEXP (x3, 1);
   31141              :   if (GET_CODE (x6) != LSHIFTRT
   31142              :       || GET_MODE (x6) != E_SImode)
   31143              :     return NULL;
   31144              :   x7 = XEXP (x6, 0);
   31145              :   if (GET_CODE (x7) != BSWAP
   31146              :       || GET_MODE (x7) != E_SImode)
   31147              :     return NULL;
   31148              :   x8 = XEXP (x6, 1);
   31149              :   if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 16])
   31150              :     return NULL;
   31151              :   x9 = XEXP (x4, 0);
   31152              :   if (!rtx_equal_p (x9, operands[0]))
   31153              :     return NULL;
   31154              :   x10 = XEXP (x7, 0);
   31155              :   if (!rtx_equal_p (x10, operands[0]))
   31156              :     return NULL;
   31157              :   x11 = XEXP (x2, 0);
   31158              :   if (!rtx_equal_p (x11, operands[0]))
   31159              :     return NULL;
   31160              :   x12 = PATTERN (peep2_next_insn (2));
   31161              :   if (GET_CODE (x12) != SET)
   31162              :     return NULL;
   31163              :   x13 = XEXP (x12, 0);
   31164              :   operands[2] = x13;
   31165              :   if (!general_reg_operand (operands[2], E_SImode))
   31166              :     return NULL;
   31167              :   x14 = XEXP (x12, 1);
   31168              :   if (!rtx_equal_p (x14, operands[0])
   31169              :       || !
   31170              : #line 23043 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31171              : (!(TARGET_USE_XCHGB ||
   31172              :      TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   31173              :    && peep2_regno_dead_p (0, FLAGS_REG)
   31174              :    && peep2_reg_dead_p(3, operands[0])))
   31175              :     return NULL;
   31176              :   *pmatch_len_ = 2;
   31177              :   return gen_peephole2_212 (insn, operands);
   31178              : }
   31179              : 
   31180              :  rtx_insn *
   31181              : peephole2_12 (rtx x1 ATTRIBUTE_UNUSED,
   31182              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   31183              :         int *pmatch_len_ ATTRIBUTE_UNUSED)
   31184              : {
   31185              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   31186              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   31187              :   rtx x10, x11, x12, x13, x14;
   31188              :   rtx_insn *res ATTRIBUTE_UNUSED;
   31189              :   x2 = XEXP (x1, 1);
   31190              :   operands[1] = x2;
   31191              :   if (register_operand (operands[0], E_SImode))
   31192              :     {
   31193              :       res = peephole2_10 (x1, insn, pmatch_len_);
   31194              :       if (res != NULL_RTX)
   31195              :         return res;
   31196              :     }
   31197              :   if (peep2_current_count < 2
   31198              :       || peep2_current_count < 3
   31199              :       || !general_reg_operand (operands[0], E_SImode))
   31200              :     return NULL;
   31201              :   x3 = PATTERN (peep2_next_insn (1));
   31202              :   if (GET_CODE (x3) == PARALLEL
   31203              :       && XVECLEN (x3, 0) == 2)
   31204              :     {
   31205              :       x4 = XVECEXP (x3, 0, 0);
   31206              :       if (GET_CODE (x4) == SET)
   31207              :         {
   31208              :           if (memory_operand (operands[1], E_SImode))
   31209              :             {
   31210              :               switch (pattern1205 (x3, 
   31211              : E_SImode, 
   31212              : E_DImode))
   31213              :                 {
   31214              :                 case 0:
   31215              :                   if (
   31216              : #line 8720 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31217              : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   31218              :    && peep2_reg_dead_p (3, operands[0])
   31219              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   31220              :    && !reg_overlap_mentioned_p (operands[0], operands[2])))
   31221              :                     {
   31222              :                       *pmatch_len_ = 2;
   31223              :                       res = gen_peephole2_76 (insn, operands);
   31224              :                       if (res != NULL_RTX)
   31225              :                         return res;
   31226              :                     }
   31227              :                   break;
   31228              : 
   31229              :                 case 1:
   31230              :                   if (
   31231              : #line 8747 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31232              : (TARGET_APX_NDD
   31233              :    && (TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   31234              :    && peep2_reg_dead_p (3, operands[0])
   31235              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   31236              :    && !reg_overlap_mentioned_p (operands[0], operands[2])))
   31237              :                     {
   31238              :                       *pmatch_len_ = 2;
   31239              :                       res = gen_peephole2_80 (insn, operands);
   31240              :                       if (res != NULL_RTX)
   31241              :                         return res;
   31242              :                     }
   31243              :                   break;
   31244              : 
   31245              :                 case 2:
   31246              :                   if (
   31247              : #line 9250 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31248              : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   31249              :    && peep2_reg_dead_p (3, operands[0])
   31250              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   31251              :    && !reg_overlap_mentioned_p (operands[0], operands[2])))
   31252              :                     {
   31253              :                       *pmatch_len_ = 2;
   31254              :                       res = gen_peephole2_96 (insn, operands);
   31255              :                       if (res != NULL_RTX)
   31256              :                         return res;
   31257              :                     }
   31258              :                   break;
   31259              : 
   31260              :                 case 3:
   31261              :                   x5 = PATTERN (peep2_next_insn (2));
   31262              :                   x6 = XEXP (x5, 0);
   31263              :                   if (rtx_equal_p (x6, operands[1])
   31264              :                       && 
   31265              : #line 9306 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31266              : (TARGET_APX_NDD
   31267              :    && (TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   31268              :    && peep2_reg_dead_p (3, operands[0])
   31269              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   31270              :    && !reg_overlap_mentioned_p (operands[0], operands[2])))
   31271              :                     {
   31272              :                       *pmatch_len_ = 2;
   31273              :                       res = gen_peephole2_98 (insn, operands);
   31274              :                       if (res != NULL_RTX)
   31275              :                         return res;
   31276              :                     }
   31277              :                   if (rtx_equal_p (x6, operands[2])
   31278              :                       && 
   31279              : #line 9361 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31280              : (TARGET_APX_NDD
   31281              :    && (TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   31282              :    && peep2_reg_dead_p (3, operands[0])
   31283              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   31284              :    && !reg_overlap_mentioned_p (operands[0], operands[2])))
   31285              :                     {
   31286              :                       *pmatch_len_ = 2;
   31287              :                       res = gen_peephole2_100 (insn, operands);
   31288              :                       if (res != NULL_RTX)
   31289              :                         return res;
   31290              :                     }
   31291              :                   break;
   31292              : 
   31293              :                 case 4:
   31294              :                   if (
   31295              : #line 9918 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31296              : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   31297              :    && peep2_reg_dead_p (3, operands[0])
   31298              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   31299              :    && !reg_overlap_mentioned_p (operands[0], operands[2])))
   31300              :                     {
   31301              :                       *pmatch_len_ = 2;
   31302              :                       res = gen_peephole2_112 (insn, operands);
   31303              :                       if (res != NULL_RTX)
   31304              :                         return res;
   31305              :                     }
   31306              :                   break;
   31307              : 
   31308              :                 case 5:
   31309              :                   if (
   31310              : #line 9963 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31311              : (TARGET_APX_NDD
   31312              :    && (TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   31313              :    && peep2_reg_dead_p (3, operands[0])
   31314              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   31315              :    && !reg_overlap_mentioned_p (operands[0], operands[2])))
   31316              :                     {
   31317              :                       *pmatch_len_ = 2;
   31318              :                       res = gen_peephole2_114 (insn, operands);
   31319              :                       if (res != NULL_RTX)
   31320              :                         return res;
   31321              :                     }
   31322              :                   break;
   31323              : 
   31324              :                 case 6:
   31325              :                   if (
   31326              : #line 10330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31327              : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   31328              :    && peep2_reg_dead_p (3, operands[0])
   31329              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   31330              :    && !reg_overlap_mentioned_p (operands[0], operands[2])))
   31331              :                     {
   31332              :                       *pmatch_len_ = 2;
   31333              :                       res = gen_peephole2_126 (insn, operands);
   31334              :                       if (res != NULL_RTX)
   31335              :                         return res;
   31336              :                     }
   31337              :                   break;
   31338              : 
   31339              :                 case 7:
   31340              :                   if (
   31341              : #line 8865 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31342              : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   31343              :    && peep2_reg_dead_p (3, operands[0])
   31344              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   31345              :    && !reg_overlap_mentioned_p (operands[0], operands[2])))
   31346              :                     {
   31347              :                       *pmatch_len_ = 2;
   31348              :                       res = gen_peephole2_88 (insn, operands);
   31349              :                       if (res != NULL_RTX)
   31350              :                         return res;
   31351              :                     }
   31352              :                   break;
   31353              : 
   31354              :                 case 8:
   31355              :                   if (
   31356              : #line 8891 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31357              : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   31358              :    && peep2_reg_dead_p (3, operands[0])
   31359              :    && peep2_reg_dead_p (4, operands[5])
   31360              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   31361              :    && !reg_overlap_mentioned_p (operands[0], operands[2])
   31362              :    && !reg_overlap_mentioned_p (operands[5], operands[1])))
   31363              :                     {
   31364              :                       *pmatch_len_ = 3;
   31365              :                       res = gen_peephole2_92 (insn, operands);
   31366              :                       if (res != NULL_RTX)
   31367              :                         return res;
   31368              :                     }
   31369              :                   break;
   31370              : 
   31371              :                 case 9:
   31372              :                   if (
   31373              : #line 9530 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31374              : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   31375              :    && peep2_reg_dead_p (3, operands[0])
   31376              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   31377              :    && !reg_overlap_mentioned_p (operands[0], operands[2])))
   31378              :                     {
   31379              :                       *pmatch_len_ = 2;
   31380              :                       res = gen_peephole2_106 (insn, operands);
   31381              :                       if (res != NULL_RTX)
   31382              :                         return res;
   31383              :                     }
   31384              :                   break;
   31385              : 
   31386              :                 case 10:
   31387              :                   if (
   31388              : #line 9556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31389              : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   31390              :    && peep2_reg_dead_p (3, operands[0])
   31391              :    && peep2_reg_dead_p (4, operands[5])
   31392              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   31393              :    && !reg_overlap_mentioned_p (operands[0], operands[2])
   31394              :    && !reg_overlap_mentioned_p (operands[5], operands[1])))
   31395              :                     {
   31396              :                       *pmatch_len_ = 3;
   31397              :                       res = gen_peephole2_110 (insn, operands);
   31398              :                       if (res != NULL_RTX)
   31399              :                         return res;
   31400              :                     }
   31401              :                   break;
   31402              : 
   31403              :                 default:
   31404              :                   break;
   31405              :                 }
   31406              :             }
   31407              :           if (peep2_current_count >= 4
   31408              :               && pattern1207 (x3, 
   31409              : E_SImode) == 0
   31410              :               && 
   31411              : #line 14622 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31412              : (REGNO (operands[0]) != REGNO (operands[2])
   31413              :    && !reg_mentioned_p (operands[0], operands[1])
   31414              :    && !reg_mentioned_p (operands[2], operands[1])))
   31415              :             {
   31416              :               *pmatch_len_ = 3;
   31417              :               res = gen_peephole2_167 (insn, operands);
   31418              :               if (res != NULL_RTX)
   31419              :                 return res;
   31420              :             }
   31421              :           if (general_reg_operand (operands[1], E_SImode))
   31422              :             {
   31423              :               x7 = XEXP (x4, 1);
   31424              :               if (GET_CODE (x7) == NEG
   31425              :                   && GET_MODE (x7) == E_SImode
   31426              :                   && pattern1353 (x3) == 0)
   31427              :                 {
   31428              :                   x5 = PATTERN (peep2_next_insn (2));
   31429              :                   if (GET_CODE (x5) == SET
   31430              :                       && pattern1354 (x5) == 0)
   31431              :                     {
   31432              :                       *pmatch_len_ = 2;
   31433              :                       res = gen_peephole2_173 (insn, operands);
   31434              :                       if (res != NULL_RTX)
   31435              :                         return res;
   31436              :                     }
   31437              :                 }
   31438              :             }
   31439              :         }
   31440              :     }
   31441              :   if (GET_CODE (x3) != SET)
   31442              :     return NULL;
   31443              :   if (register_operand (operands[1], E_SImode))
   31444              :     {
   31445              :       res = peephole2_11 (x1, insn, pmatch_len_);
   31446              :       if (res != NULL_RTX)
   31447              :         return res;
   31448              :     }
   31449              :   if (!immediate_operand (operands[1], E_SImode))
   31450              :     return NULL;
   31451              :   switch (pattern961 (x3, 
   31452              : E_DImode, 
   31453              : E_SImode))
   31454              :     {
   31455              :     case 0:
   31456              :       if (!(
   31457              : #line 11428 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31458              : (REGNO (operands[3]) != AX_REG
   31459              :    && REGNO (operands[0]) != REGNO (operands[2])
   31460              :    && REGNO (operands[0]) != REGNO (operands[3])
   31461              :    && (REGNO (operands[0]) == REGNO (operands[4])
   31462              :        || REGNO (operands[0]) == DX_REG
   31463              :        || peep2_reg_dead_p (3, operands[0]))) && 
   31464              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31465              : (!TARGET_64BIT)))
   31466              :         return NULL;
   31467              :       *pmatch_len_ = 2;
   31468              :       return gen_peephole2_130 (insn, operands);
   31469              : 
   31470              :     case 1:
   31471              :       if (!(
   31472              : #line 11450 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31473              : (REGNO (operands[3]) != DX_REG
   31474              :    && REGNO (operands[0]) != REGNO (operands[2])
   31475              :    && REGNO (operands[0]) != REGNO (operands[3])
   31476              :    && (REGNO (operands[0]) == REGNO (operands[4])
   31477              :        || REGNO (operands[0]) == REGNO (operands[5])
   31478              :        || peep2_reg_dead_p (3, operands[0]))
   31479              :    && (REGNO (operands[2]) == REGNO (operands[4])
   31480              :        || REGNO (operands[2]) == REGNO (operands[5])
   31481              :        || peep2_reg_dead_p (3, operands[2]))) && 
   31482              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31483              : (!TARGET_64BIT)))
   31484              :         return NULL;
   31485              :       *pmatch_len_ = 2;
   31486              :       return gen_peephole2_132 (insn, operands);
   31487              : 
   31488              :     case 2:
   31489              :       x5 = PATTERN (peep2_next_insn (2));
   31490              :       x8 = XVECEXP (x5, 0, 1);
   31491              :       x9 = XEXP (x8, 0);
   31492              :       if (!rtx_equal_p (x9, operands[2]))
   31493              :         return NULL;
   31494              :       x10 = XVECEXP (x5, 0, 0);
   31495              :       x11 = XEXP (x10, 1);
   31496              :       switch (GET_CODE (x11))
   31497              :         {
   31498              :         case SMUL_HIGHPART:
   31499              :           if (pattern1806 (x11) != 0
   31500              :               || !
   31501              : #line 11589 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31502              : (REGNO (operands[3]) != AX_REG
   31503              :    && REGNO (operands[0]) != REGNO (operands[2])
   31504              :    && REGNO (operands[0]) != REGNO (operands[3])
   31505              :    && (REGNO (operands[0]) == REGNO (operands[4])
   31506              :        || peep2_reg_dead_p (3, operands[0]))))
   31507              :             return NULL;
   31508              :           *pmatch_len_ = 2;
   31509              :           return gen_peephole2_134 (insn, operands);
   31510              : 
   31511              :         case UMUL_HIGHPART:
   31512              :           if (pattern1806 (x11) != 0
   31513              :               || !
   31514              : #line 11589 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31515              : (REGNO (operands[3]) != AX_REG
   31516              :    && REGNO (operands[0]) != REGNO (operands[2])
   31517              :    && REGNO (operands[0]) != REGNO (operands[3])
   31518              :    && (REGNO (operands[0]) == REGNO (operands[4])
   31519              :        || peep2_reg_dead_p (3, operands[0]))))
   31520              :             return NULL;
   31521              :           *pmatch_len_ = 2;
   31522              :           return gen_peephole2_135 (insn, operands);
   31523              : 
   31524              :         case ZERO_EXTEND:
   31525              :           if (GET_MODE (x11) != E_DImode
   31526              :               || !general_reg_operand (operands[4], E_DImode))
   31527              :             return NULL;
   31528              :           x12 = XEXP (x11, 0);
   31529              :           if (GET_MODE (x12) != E_SImode)
   31530              :             return NULL;
   31531              :           switch (GET_CODE (x12))
   31532              :             {
   31533              :             case SMUL_HIGHPART:
   31534              :               x13 = XEXP (x12, 0);
   31535              :               if (!rtx_equal_p (x13, operands[2]))
   31536              :                 return NULL;
   31537              :               x14 = XEXP (x12, 1);
   31538              :               if (!rtx_equal_p (x14, operands[0])
   31539              :                   || !
   31540              : #line 11610 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31541              : (TARGET_64BIT
   31542              :    && REGNO (operands[3]) != AX_REG
   31543              :    && REGNO (operands[0]) != REGNO (operands[2])
   31544              :    && REGNO (operands[2]) != REGNO (operands[3])
   31545              :    && REGNO (operands[0]) != REGNO (operands[3])
   31546              :    && (REGNO (operands[0]) == REGNO (operands[4])
   31547              :        || peep2_reg_dead_p (3, operands[0]))))
   31548              :                 return NULL;
   31549              :               *pmatch_len_ = 2;
   31550              :               return gen_peephole2_138 (insn, operands);
   31551              : 
   31552              :             case UMUL_HIGHPART:
   31553              :               x13 = XEXP (x12, 0);
   31554              :               if (!rtx_equal_p (x13, operands[2]))
   31555              :                 return NULL;
   31556              :               x14 = XEXP (x12, 1);
   31557              :               if (!rtx_equal_p (x14, operands[0])
   31558              :                   || !
   31559              : #line 11610 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31560              : (TARGET_64BIT
   31561              :    && REGNO (operands[3]) != AX_REG
   31562              :    && REGNO (operands[0]) != REGNO (operands[2])
   31563              :    && REGNO (operands[2]) != REGNO (operands[3])
   31564              :    && REGNO (operands[0]) != REGNO (operands[3])
   31565              :    && (REGNO (operands[0]) == REGNO (operands[4])
   31566              :        || peep2_reg_dead_p (3, operands[0]))))
   31567              :                 return NULL;
   31568              :               *pmatch_len_ = 2;
   31569              :               return gen_peephole2_139 (insn, operands);
   31570              : 
   31571              :             default:
   31572              :               return NULL;
   31573              :             }
   31574              : 
   31575              :         default:
   31576              :           return NULL;
   31577              :         }
   31578              : 
   31579              :     default:
   31580              :       return NULL;
   31581              :     }
   31582              : }
   31583              : 
   31584              :  rtx_insn *
   31585              : peephole2_21 (rtx x1 ATTRIBUTE_UNUSED,
   31586              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   31587              :         int *pmatch_len_ ATTRIBUTE_UNUSED)
   31588              : {
   31589              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   31590              :   rtx x2, x3, x4, x5, x6;
   31591              :   rtx_insn *res ATTRIBUTE_UNUSED;
   31592              :   x2 = PATTERN (peep2_next_insn (1));
   31593              :   if (GET_CODE (x2) != SET)
   31594              :     return NULL;
   31595              :   x3 = XEXP (x2, 1);
   31596              :   if (!binary_fp_operator (x3, E_VOIDmode))
   31597              :     return NULL;
   31598              :   operands[2] = x3;
   31599              :   x4 = XEXP (x2, 0);
   31600              :   if (!rtx_equal_p (x4, operands[0]))
   31601              :     return NULL;
   31602              :   x5 = XEXP (x3, 0);
   31603              :   switch (GET_CODE (x5))
   31604              :     {
   31605              :     case REG:
   31606              :       if (!rtx_equal_p (x5, operands[0]))
   31607              :         return NULL;
   31608              :       x6 = XEXP (x3, 1);
   31609              :       operands[3] = x6;
   31610              :       if (!memory_operand (operands[3], E_VOIDmode)
   31611              :           || !
   31612              : #line 27292 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31613              : (REGNO (operands[0]) != REGNO (operands[1])))
   31614              :         return NULL;
   31615              :       *pmatch_len_ = 1;
   31616              :       return gen_peephole2_231 (insn, operands);
   31617              : 
   31618              :     case SUBREG:
   31619              :     case MEM:
   31620              :       operands[3] = x5;
   31621              :       if (!memory_operand (operands[3], E_VOIDmode))
   31622              :         return NULL;
   31623              :       x6 = XEXP (x3, 1);
   31624              :       if (!rtx_equal_p (x6, operands[0])
   31625              :           || !
   31626              : #line 27314 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31627              : (REGNO (operands[0]) != REGNO (operands[1])))
   31628              :         return NULL;
   31629              :       *pmatch_len_ = 1;
   31630              :       return gen_peephole2_232 (insn, operands);
   31631              : 
   31632              :     default:
   31633              :       return NULL;
   31634              :     }
   31635              : }
   31636              : 
   31637              :  rtx_insn *
   31638              : peephole2_23 (rtx x1 ATTRIBUTE_UNUSED,
   31639              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   31640              :         int *pmatch_len_ ATTRIBUTE_UNUSED)
   31641              : {
   31642              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   31643              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   31644              :   rtx x10, x11, x12;
   31645              :   rtx_insn *res ATTRIBUTE_UNUSED;
   31646              :   x2 = PATTERN (peep2_next_insn (1));
   31647              :   if (pattern421 (x2, 
   31648              : CALL, 
   31649              : 2) != 0)
   31650              :     return NULL;
   31651              :   x3 = XVECEXP (x2, 0, 0);
   31652              :   x4 = XEXP (x3, 1);
   31653              :   x5 = XEXP (x4, 0);
   31654              :   if (GET_CODE (x5) != MEM
   31655              :       || GET_MODE (x5) != E_QImode)
   31656              :     return NULL;
   31657              :   x6 = XVECEXP (x2, 0, 1);
   31658              :   if (pattern1266 (x6) != 0)
   31659              :     return NULL;
   31660              :   x7 = XEXP (x6, 0);
   31661              :   if (GET_CODE (x7) != REG
   31662              :       || REGNO (x7) != 7
   31663              :       || GET_MODE (x7) != E_SImode)
   31664              :     return NULL;
   31665              :   x8 = XEXP (x3, 0);
   31666              :   operands[2] = x8;
   31667              :   x9 = XEXP (x4, 1);
   31668              :   operands[3] = x9;
   31669              :   x10 = XEXP (x6, 1);
   31670              :   x11 = XEXP (x10, 1);
   31671              :   operands[4] = x11;
   31672              :   if (!immediate_operand (operands[4], E_SImode))
   31673              :     return NULL;
   31674              :   x12 = XEXP (x5, 0);
   31675              :   if (!rtx_equal_p (x12, operands[0])
   31676              :       || !
   31677              : #line 20840 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31678              : (!TARGET_64BIT && SIBLING_CALL_P (peep2_next_insn (1))
   31679              :    && !reg_mentioned_p (operands[0],
   31680              :                         CALL_INSN_FUNCTION_USAGE (peep2_next_insn (1)))))
   31681              :     return NULL;
   31682              :   *pmatch_len_ = 1;
   31683              :   return gen_peephole2_208 (insn, operands);
   31684              : }
   31685              : 
   31686              :  rtx_insn *
   31687              : peephole2_26 (rtx x1 ATTRIBUTE_UNUSED,
   31688              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   31689              :         int *pmatch_len_ ATTRIBUTE_UNUSED)
   31690              : {
   31691              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   31692              :   rtx x2, x3, x4, x5, x6;
   31693              :   rtx_insn *res ATTRIBUTE_UNUSED;
   31694              :   if (!memory_operand (operands[1], E_SImode)
   31695              :       || !register_operand (operands[0], E_SImode))
   31696              :     return NULL;
   31697              :   x2 = PATTERN (peep2_next_insn (1));
   31698              :   switch (GET_CODE (x2))
   31699              :     {
   31700              :     case PARALLEL:
   31701              :       if (XVECLEN (x2, 0) != 2)
   31702              :         return NULL;
   31703              :       x3 = XVECEXP (x2, 0, 0);
   31704              :       if (GET_CODE (x3) != SET)
   31705              :         return NULL;
   31706              :       x4 = PATTERN (peep2_next_insn (2));
   31707              :       if (GET_CODE (x4) != SET)
   31708              :         return NULL;
   31709              :       x5 = XEXP (x3, 1);
   31710              :       switch (GET_CODE (x5))
   31711              :         {
   31712              :         case PLUS:
   31713              :         case MINUS:
   31714              :         case AND:
   31715              :         case IOR:
   31716              :         case XOR:
   31717              :           if (peep2_current_count < 4)
   31718              :             return NULL;
   31719              :           operands[3] = x5;
   31720              :           res = peephole2_25 (x1, insn, pmatch_len_);
   31721              :           if (res != NULL_RTX)
   31722              :             return res;
   31723              :           if (GET_CODE (x5) != XOR
   31724              :               || pattern1362 (x2, 
   31725              : E_SImode) != 0
   31726              :               || pattern1832 (x4, 
   31727              : E_SImode) != 0
   31728              :               || !
   31729              : #line 28840 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31730              : (TARGET_APX_NDD
   31731              :    && (TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   31732              :    && REGNO (operands[3]) == REGNO (operands[0])
   31733              :    && (rtx_equal_p (operands[0], operands[5])
   31734              :        ? rtx_equal_p (operands[2], operands[6])
   31735              :        : rtx_equal_p (operands[2], operands[5])
   31736              :          && rtx_equal_p (operands[0], operands[6]))
   31737              :    && peep2_reg_dead_p (3, operands[4])
   31738              :    && peep2_reg_dead_p (4, operands[0])
   31739              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   31740              :    && !reg_overlap_mentioned_p (operands[0], operands[2])
   31741              :    && (SImode != QImode
   31742              :        || immediate_operand (operands[2], QImode)
   31743              :        || any_QIreg_operand (operands[2], QImode))))
   31744              :             return NULL;
   31745              :           *pmatch_len_ = 3;
   31746              :           return gen_peephole2_341 (insn, operands);
   31747              : 
   31748              :         case COMPARE:
   31749              :           if (pattern1267 (x2, 
   31750              : E_SImode) != 0
   31751              :               || pattern1516 (x2) != 0)
   31752              :             return NULL;
   31753              :           x6 = XEXP (x4, 0);
   31754              :           if (rtx_equal_p (x6, operands[1])
   31755              :               && 
   31756              : #line 28670 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31757              : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   31758              :    && peep2_reg_dead_p (3, operands[0])
   31759              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   31760              :    && !reg_overlap_mentioned_p (operands[0], operands[2])
   31761              :    && ix86_match_ccmode (peep2_next_insn (1),
   31762              :                          (GET_CODE (operands[3]) == PLUS
   31763              :                           || GET_CODE (operands[3]) == MINUS)
   31764              :                          ? CCGOCmode : CCNOmode)))
   31765              :             {
   31766              :               *pmatch_len_ = 2;
   31767              :               res = gen_peephole2_321 (insn, operands);
   31768              :               if (res != NULL_RTX)
   31769              :                 return res;
   31770              :             }
   31771              :           if (peep2_current_count < 4
   31772              :               || pattern1833 (x6, 
   31773              : E_SImode) != 0
   31774              :               || !
   31775              : #line 28993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31776              : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   31777              :    && peep2_reg_dead_p (3, operands[0])
   31778              :    && peep2_reg_dead_p (4, operands[4])
   31779              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   31780              :    && !reg_overlap_mentioned_p (operands[0], operands[2])
   31781              :    && !reg_overlap_mentioned_p (operands[4], operands[1])
   31782              :    && ix86_match_ccmode (peep2_next_insn (1),
   31783              :                          (GET_CODE (operands[3]) == PLUS
   31784              :                           || GET_CODE (operands[3]) == MINUS)
   31785              :                          ? CCGOCmode : CCNOmode)))
   31786              :             return NULL;
   31787              :           *pmatch_len_ = 3;
   31788              :           return gen_peephole2_353 (insn, operands);
   31789              : 
   31790              :         default:
   31791              :           return NULL;
   31792              :         }
   31793              : 
   31794              :     case SET:
   31795              :       if (pattern852 (x2, 
   31796              : E_SImode) != 0
   31797              :           || !
   31798              : #line 29029 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31799              : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   31800              :    && (REGNO (operands[4]) == REGNO (operands[0])
   31801              :        || REGNO (operands[4]) == REGNO (operands[3]))
   31802              :    && (rtx_equal_p (operands[REGNO (operands[4]) == REGNO (operands[0])
   31803              :                              ? 3 : 0], operands[5])
   31804              :        ? rtx_equal_p (operands[2], operands[6])
   31805              :        : rtx_equal_p (operands[2], operands[5])
   31806              :          && rtx_equal_p (operands[REGNO (operands[4]) == REGNO (operands[0])
   31807              :                                   ? 3 : 0], operands[6]))
   31808              :    && peep2_reg_dead_p (4, operands[4])
   31809              :    && peep2_reg_dead_p (5, operands[REGNO (operands[4]) == REGNO (operands[0])
   31810              :                                     ? 3 : 0])
   31811              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   31812              :    && !reg_overlap_mentioned_p (operands[0], operands[2])
   31813              :    && !reg_overlap_mentioned_p (operands[3], operands[0])
   31814              :    && !reg_overlap_mentioned_p (operands[3], operands[1])
   31815              :    && !reg_overlap_mentioned_p (operands[3], operands[2])
   31816              :    && (SImode != QImode
   31817              :        || immediate_operand (operands[2], QImode)
   31818              :        || any_QIreg_operand (operands[2], QImode))))
   31819              :         return NULL;
   31820              :       *pmatch_len_ = 4;
   31821              :       return gen_peephole2_357 (insn, operands);
   31822              : 
   31823              :     default:
   31824              :       return NULL;
   31825              :     }
   31826              : }
   31827              : 
   31828              :  rtx_insn *
   31829              : peephole2_30 (rtx x1 ATTRIBUTE_UNUSED,
   31830              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   31831              :         int *pmatch_len_ ATTRIBUTE_UNUSED)
   31832              : {
   31833              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   31834              :   rtx x2, x3, x4, x5, x6, x7;
   31835              :   rtx_insn *res ATTRIBUTE_UNUSED;
   31836              :   x2 = XEXP (x1, 1);
   31837              :   x3 = XEXP (x2, 0);
   31838              :   switch (GET_CODE (x3))
   31839              :     {
   31840              :     case NE:
   31841              :     case EQ:
   31842              :     case GE:
   31843              :     case GT:
   31844              :     case LE:
   31845              :     case LT:
   31846              :     case LTGT:
   31847              :     case GEU:
   31848              :     case GTU:
   31849              :     case LEU:
   31850              :     case LTU:
   31851              :     case UNORDERED:
   31852              :     case ORDERED:
   31853              :     case UNEQ:
   31854              :     case UNGE:
   31855              :     case UNGT:
   31856              :     case UNLE:
   31857              :     case UNLT:
   31858              :       operands[1] = x3;
   31859              :       switch (pattern247 (x1))
   31860              :         {
   31861              :         case 0:
   31862              :           switch (GET_MODE (operands[0]))
   31863              :             {
   31864              :             case E_HImode:
   31865              :               if (pattern1208 (x2, 
   31866              : E_HImode) != 0
   31867              :                   || !
   31868              : #line 26882 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31869              : (TARGET_CMOVE && TARGET_AVOID_MEM_OPND_FOR_CMOVE
   31870              :    && (MEM_P (operands[2]) || MEM_P (operands[3]))
   31871              :    && optimize_insn_for_speed_p ()))
   31872              :                 return NULL;
   31873              :               *pmatch_len_ = 0;
   31874              :               return gen_peephole2_219 (insn, operands);
   31875              : 
   31876              :             case E_SImode:
   31877              :               if (pattern1208 (x2, 
   31878              : E_SImode) != 0
   31879              :                   || !
   31880              : #line 26882 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31881              : (TARGET_CMOVE && TARGET_AVOID_MEM_OPND_FOR_CMOVE
   31882              :    && (MEM_P (operands[2]) || MEM_P (operands[3]))
   31883              :    && optimize_insn_for_speed_p ()))
   31884              :                 return NULL;
   31885              :               *pmatch_len_ = 0;
   31886              :               return gen_peephole2_220 (insn, operands);
   31887              : 
   31888              :             case E_DImode:
   31889              :               if (pattern1208 (x2, 
   31890              : E_DImode) != 0
   31891              :                   || !(
   31892              : #line 26882 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31893              : (TARGET_CMOVE && TARGET_AVOID_MEM_OPND_FOR_CMOVE
   31894              :    && (MEM_P (operands[2]) || MEM_P (operands[3]))
   31895              :    && optimize_insn_for_speed_p ()) && 
   31896              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31897              : (TARGET_64BIT)))
   31898              :                 return NULL;
   31899              :               *pmatch_len_ = 0;
   31900              :               return gen_peephole2_221 (insn, operands);
   31901              : 
   31902              :             case E_SFmode:
   31903              :               if (!general_reg_operand (operands[0], E_SFmode)
   31904              :                   || pattern1269 (x2, 
   31905              : E_SFmode) != 0
   31906              :                   || !
   31907              : #line 27134 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31908              : ((SFmode != DFmode || TARGET_64BIT)
   31909              :    && TARGET_80387 && TARGET_CMOVE
   31910              :    && TARGET_AVOID_MEM_OPND_FOR_CMOVE
   31911              :    && (MEM_P (operands[2]) || MEM_P (operands[3]))
   31912              :    && optimize_insn_for_speed_p ()))
   31913              :                 return NULL;
   31914              :               *pmatch_len_ = 0;
   31915              :               return gen_peephole2_229 (insn, operands);
   31916              : 
   31917              :             case E_DFmode:
   31918              :               if (!general_reg_operand (operands[0], E_DFmode)
   31919              :                   || pattern1269 (x2, 
   31920              : E_DFmode) != 0
   31921              :                   || !
   31922              : #line 27134 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31923              : ((DFmode != DFmode || TARGET_64BIT)
   31924              :    && TARGET_80387 && TARGET_CMOVE
   31925              :    && TARGET_AVOID_MEM_OPND_FOR_CMOVE
   31926              :    && (MEM_P (operands[2]) || MEM_P (operands[3]))
   31927              :    && optimize_insn_for_speed_p ()))
   31928              :                 return NULL;
   31929              :               *pmatch_len_ = 0;
   31930              :               return gen_peephole2_230 (insn, operands);
   31931              : 
   31932              :             default:
   31933              :               return NULL;
   31934              :             }
   31935              : 
   31936              :         case 1:
   31937              :           if (!register_operand (operands[0], E_DImode)
   31938              :               || GET_MODE (x2) != E_DImode
   31939              :               || !ix86_comparison_operator (operands[1], E_VOIDmode))
   31940              :             return NULL;
   31941              :           x4 = XEXP (x2, 1);
   31942              :           x5 = XEXP (x4, 0);
   31943              :           operands[2] = x5;
   31944              :           if (!nonimmediate_operand (operands[2], E_SImode))
   31945              :             return NULL;
   31946              :           x6 = XEXP (x2, 2);
   31947              :           x7 = XEXP (x6, 0);
   31948              :           operands[3] = x7;
   31949              :           if (!nonimmediate_operand (operands[3], E_SImode)
   31950              :               || !
   31951              : #line 26912 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31952              : (TARGET_64BIT
   31953              :    && TARGET_CMOVE && TARGET_AVOID_MEM_OPND_FOR_CMOVE
   31954              :    && (MEM_P (operands[2]) || MEM_P (operands[3]))
   31955              :    && optimize_insn_for_speed_p ()))
   31956              :             return NULL;
   31957              :           *pmatch_len_ = 0;
   31958              :           return gen_peephole2_222 (insn, operands);
   31959              : 
   31960              :         default:
   31961              :           return NULL;
   31962              :         }
   31963              : 
   31964              :     default:
   31965              :       return NULL;
   31966              :     }
   31967              : }
   31968              : 
   31969              :  rtx_insn *
   31970              : peephole2_37 (rtx x1 ATTRIBUTE_UNUSED,
   31971              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   31972              :         int *pmatch_len_ ATTRIBUTE_UNUSED)
   31973              : {
   31974              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   31975              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   31976              :   rtx x10, x11;
   31977              :   rtx_insn *res ATTRIBUTE_UNUSED;
   31978              :   x2 = XEXP (x1, 1);
   31979              :   if (XWINT (x2, 0) == -1L)
   31980              :     {
   31981              :       switch (GET_MODE (operands[0]))
   31982              :         {
   31983              :         case E_HImode:
   31984              :           if (general_reg_operand (operands[0], E_HImode)
   31985              :               && 
   31986              : #line 29196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31987              : ((TARGET_MOVE_M1_VIA_OR || optimize_insn_for_size_p ())
   31988              :    && peep2_regno_dead_p (0, FLAGS_REG)))
   31989              :             {
   31990              :               *pmatch_len_ = 0;
   31991              :               res = gen_peephole2_367 (insn, operands);
   31992              :               if (res != NULL_RTX)
   31993              :                 return res;
   31994              :             }
   31995              :           break;
   31996              : 
   31997              :         case E_SImode:
   31998              :           if (general_reg_operand (operands[0], E_SImode)
   31999              :               && 
   32000              : #line 29196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32001              : ((TARGET_MOVE_M1_VIA_OR || optimize_insn_for_size_p ())
   32002              :    && peep2_regno_dead_p (0, FLAGS_REG)))
   32003              :             {
   32004              :               *pmatch_len_ = 0;
   32005              :               res = gen_peephole2_368 (insn, operands);
   32006              :               if (res != NULL_RTX)
   32007              :                 return res;
   32008              :             }
   32009              :           break;
   32010              : 
   32011              :         case E_DImode:
   32012              :           if (general_reg_operand (operands[0], E_DImode)
   32013              :               && (
   32014              : #line 29196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32015              : ((TARGET_MOVE_M1_VIA_OR || optimize_insn_for_size_p ())
   32016              :    && peep2_regno_dead_p (0, FLAGS_REG)) && 
   32017              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32018              : (TARGET_64BIT)))
   32019              :             {
   32020              :               *pmatch_len_ = 0;
   32021              :               res = gen_peephole2_369 (insn, operands);
   32022              :               if (res != NULL_RTX)
   32023              :                 return res;
   32024              :             }
   32025              :           break;
   32026              : 
   32027              :         default:
   32028              :           break;
   32029              :         }
   32030              :     }
   32031              :   if (peep2_current_count < 2
   32032              :       || peep2_current_count < 3)
   32033              :     return NULL;
   32034              :   operands[2] = x2;
   32035              :   x3 = PATTERN (peep2_next_insn (1));
   32036              :   if (pattern608 (x3, 
   32037              : 2) != 0)
   32038              :     return NULL;
   32039              :   x4 = XVECEXP (x3, 0, 0);
   32040              :   x5 = XEXP (x4, 1);
   32041              :   if (XINT (x5, 1) != 110)
   32042              :     return NULL;
   32043              :   x6 = XVECEXP (x3, 0, 1);
   32044              :   if (GET_CODE (x6) != SET)
   32045              :     return NULL;
   32046              :   x7 = XEXP (x6, 1);
   32047              :   if (GET_CODE (x7) != PLUS
   32048              :       || pattern1518 (x3) != 0
   32049              :       || pattern1712 (x3) != 0)
   32050              :     return NULL;
   32051              :   x8 = PATTERN (peep2_next_insn (2));
   32052              :   x9 = XEXP (x8, 1);
   32053              :   x10 = XEXP (x9, 1);
   32054              :   operands[3] = x10;
   32055              :   x11 = XEXP (x9, 0);
   32056              :   if (!rtx_equal_p (x11, operands[0]))
   32057              :     return NULL;
   32058              :   switch (GET_MODE (operands[0]))
   32059              :     {
   32060              :     case E_HImode:
   32061              :       if (pattern1889 (x3, 
   32062              : E_HImode) != 0
   32063              :           || !
   32064              : #line 724 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
   32065              : (peep2_reg_dead_p (3, operands[0])
   32066              :    && (unsigned HOST_WIDE_INT) INTVAL (operands[2])
   32067              :       == -(unsigned HOST_WIDE_INT) INTVAL (operands[3])
   32068              :    && !reg_overlap_mentioned_p (operands[0], operands[1])))
   32069              :         return NULL;
   32070              :       *pmatch_len_ = 2;
   32071              :       return gen_peephole2_448 (insn, operands);
   32072              : 
   32073              :     case E_SImode:
   32074              :       if (pattern1889 (x3, 
   32075              : E_SImode) != 0
   32076              :           || !
   32077              : #line 724 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
   32078              : (peep2_reg_dead_p (3, operands[0])
   32079              :    && (unsigned HOST_WIDE_INT) INTVAL (operands[2])
   32080              :       == -(unsigned HOST_WIDE_INT) INTVAL (operands[3])
   32081              :    && !reg_overlap_mentioned_p (operands[0], operands[1])))
   32082              :         return NULL;
   32083              :       *pmatch_len_ = 2;
   32084              :       return gen_peephole2_449 (insn, operands);
   32085              : 
   32086              :     case E_DImode:
   32087              :       if (pattern1889 (x3, 
   32088              : E_DImode) != 0
   32089              :           || !(
   32090              : #line 724 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
   32091              : (peep2_reg_dead_p (3, operands[0])
   32092              :    && (unsigned HOST_WIDE_INT) INTVAL (operands[2])
   32093              :       == -(unsigned HOST_WIDE_INT) INTVAL (operands[3])
   32094              :    && !reg_overlap_mentioned_p (operands[0], operands[1])) && 
   32095              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32096              : (TARGET_64BIT)))
   32097              :         return NULL;
   32098              :       *pmatch_len_ = 2;
   32099              :       return gen_peephole2_450 (insn, operands);
   32100              : 
   32101              :     default:
   32102              :       return NULL;
   32103              :     }
   32104              : }
   32105              : 
   32106              :  rtx_insn *
   32107              : peephole2_44 (rtx x1 ATTRIBUTE_UNUSED,
   32108              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   32109              :         int *pmatch_len_ ATTRIBUTE_UNUSED)
   32110              : {
   32111              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   32112              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   32113              :   rtx x10, x11, x12, x13, x14, x15, x16, x17;
   32114              :   rtx x18, x19, x20, x21, x22, x23, x24, x25;
   32115              :   rtx x26;
   32116              :   rtx_insn *res ATTRIBUTE_UNUSED;
   32117              :   x2 = XVECEXP (x1, 0, 0);
   32118              :   x3 = XEXP (x2, 0);
   32119              :   if (GET_CODE (x3) != REG
   32120              :       || REGNO (x3) != 17)
   32121              :     return NULL;
   32122              :   x4 = XVECEXP (x1, 0, 1);
   32123              :   if (GET_CODE (x4) != SET)
   32124              :     return NULL;
   32125              :   x5 = XEXP (x2, 1);
   32126              :   x6 = XEXP (x5, 0);
   32127              :   switch (GET_CODE (x6))
   32128              :     {
   32129              :     case REG:
   32130              :       operands[0] = x6;
   32131              :       x7 = XEXP (x4, 1);
   32132              :       if (GET_CODE (x7) != MINUS
   32133              :           || GET_MODE (x3) != E_CCmode
   32134              :           || GET_MODE (x5) != E_CCmode)
   32135              :         return NULL;
   32136              :       x8 = XEXP (x5, 1);
   32137              :       operands[1] = x8;
   32138              :       x9 = XEXP (x7, 0);
   32139              :       if (!rtx_equal_p (x9, operands[0]))
   32140              :         return NULL;
   32141              :       x10 = XEXP (x7, 1);
   32142              :       if (!rtx_equal_p (x10, operands[1]))
   32143              :         return NULL;
   32144              :       x11 = XEXP (x4, 0);
   32145              :       if (!rtx_equal_p (x11, operands[0]))
   32146              :         return NULL;
   32147              :       switch (GET_MODE (operands[0]))
   32148              :         {
   32149              :         case E_QImode:
   32150              :           if (!general_reg_operand (operands[0], E_QImode)
   32151              :               || !general_gr_operand (operands[1], E_QImode)
   32152              :               || GET_MODE (x7) != E_QImode
   32153              :               || !
   32154              : #line 8707 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32155              : (find_regno_note (peep2_next_insn (0), REG_UNUSED, REGNO (operands[0])) != 0))
   32156              :             return NULL;
   32157              :           *pmatch_len_ = 0;
   32158              :           return gen_peephole2_70 (insn, operands);
   32159              : 
   32160              :         case E_HImode:
   32161              :           if (!general_reg_operand (operands[0], E_HImode)
   32162              :               || !general_gr_operand (operands[1], E_HImode)
   32163              :               || GET_MODE (x7) != E_HImode
   32164              :               || !
   32165              : #line 8707 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32166              : (find_regno_note (peep2_next_insn (0), REG_UNUSED, REGNO (operands[0])) != 0))
   32167              :             return NULL;
   32168              :           *pmatch_len_ = 0;
   32169              :           return gen_peephole2_71 (insn, operands);
   32170              : 
   32171              :         case E_SImode:
   32172              :           if (!general_reg_operand (operands[0], E_SImode)
   32173              :               || !general_gr_operand (operands[1], E_SImode)
   32174              :               || GET_MODE (x7) != E_SImode
   32175              :               || !
   32176              : #line 8707 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32177              : (find_regno_note (peep2_next_insn (0), REG_UNUSED, REGNO (operands[0])) != 0))
   32178              :             return NULL;
   32179              :           *pmatch_len_ = 0;
   32180              :           return gen_peephole2_72 (insn, operands);
   32181              : 
   32182              :         case E_DImode:
   32183              :           if (!general_reg_operand (operands[0], E_DImode)
   32184              :               || !general_gr_operand (operands[1], E_DImode)
   32185              :               || GET_MODE (x7) != E_DImode
   32186              :               || !(
   32187              : #line 8707 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32188              : (find_regno_note (peep2_next_insn (0), REG_UNUSED, REGNO (operands[0])) != 0) && 
   32189              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32190              : (TARGET_64BIT)))
   32191              :             return NULL;
   32192              :           *pmatch_len_ = 0;
   32193              :           return gen_peephole2_73 (insn, operands);
   32194              : 
   32195              :         default:
   32196              :           return NULL;
   32197              :         }
   32198              : 
   32199              :     case ZERO_EXTEND:
   32200              :       if (peep2_current_count < 2)
   32201              :         return NULL;
   32202              :       x12 = XEXP (x6, 0);
   32203              :       if (GET_CODE (x12) != PLUS)
   32204              :         return NULL;
   32205              :       x13 = XEXP (x12, 0);
   32206              :       if (GET_CODE (x13) != PLUS)
   32207              :         return NULL;
   32208              :       x14 = XEXP (x13, 0);
   32209              :       switch (GET_CODE (x14))
   32210              :         {
   32211              :         case LTU:
   32212              :         case UNLT:
   32213              :           operands[4] = x14;
   32214              :           x15 = XEXP (x14, 1);
   32215              :           if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   32216              :             return NULL;
   32217              :           x8 = XEXP (x5, 1);
   32218              :           if (GET_CODE (x8) != PLUS)
   32219              :             return NULL;
   32220              :           x16 = XEXP (x8, 0);
   32221              :           switch (GET_CODE (x16))
   32222              :             {
   32223              :             case LTU:
   32224              :             case UNLT:
   32225              :               operands[3] = x16;
   32226              :               x17 = XEXP (x16, 1);
   32227              :               if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   32228              :                 return NULL;
   32229              :               x18 = XEXP (x8, 1);
   32230              :               if (GET_CODE (x18) != ZERO_EXTEND)
   32231              :                 return NULL;
   32232              :               x7 = XEXP (x4, 1);
   32233              :               if (pattern1328 (x7) != 0
   32234              :                   || GET_MODE (x3) != E_CCCmode
   32235              :                   || GET_MODE (x5) != E_CCCmode)
   32236              :                 return NULL;
   32237              :               x19 = XEXP (x14, 0);
   32238              :               operands[2] = x19;
   32239              :               if (!flags_reg_operand (operands[2], E_VOIDmode))
   32240              :                 return NULL;
   32241              :               x20 = XEXP (x13, 1);
   32242              :               operands[0] = x20;
   32243              :               x21 = XEXP (x12, 1);
   32244              :               operands[1] = x21;
   32245              :               x22 = XEXP (x16, 0);
   32246              :               if (!rtx_equal_p (x22, operands[2]))
   32247              :                 return NULL;
   32248              :               x23 = XEXP (x18, 0);
   32249              :               if (!rtx_equal_p (x23, operands[1]))
   32250              :                 return NULL;
   32251              :               x9 = XEXP (x7, 0);
   32252              :               x24 = XEXP (x9, 1);
   32253              :               if (!rtx_equal_p (x24, operands[0]))
   32254              :                 return NULL;
   32255              :               x10 = XEXP (x7, 1);
   32256              :               if (!rtx_equal_p (x10, operands[1]))
   32257              :                 return NULL;
   32258              :               x11 = XEXP (x4, 0);
   32259              :               if (!rtx_equal_p (x11, operands[0]))
   32260              :                 return NULL;
   32261              :               x25 = PATTERN (peep2_next_insn (1));
   32262              :               if (GET_CODE (x25) != SET)
   32263              :                 return NULL;
   32264              :               switch (GET_MODE (x6))
   32265              :                 {
   32266              :                 case E_DImode:
   32267              :                   switch (pattern1893 (x1, 
   32268              : E_SImode, 
   32269              : E_DImode))
   32270              :                     {
   32271              :                     case 0:
   32272              :                       if (!
   32273              : #line 9205 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32274              : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   32275              :    && peep2_reg_dead_p (2, operands[0])
   32276              :    && !reg_overlap_mentioned_p (operands[0], operands[1])))
   32277              :                         return NULL;
   32278              :                       *pmatch_len_ = 1;
   32279              :                       return gen_peephole2_94 (insn, operands);
   32280              : 
   32281              :                     case 1:
   32282              :                       if (!
   32283              : #line 9411 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32284              : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   32285              :    && peep2_reg_dead_p (4, operands[0])
   32286              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   32287              :    && !reg_overlap_mentioned_p (operands[0], operands[5])
   32288              :    && !reg_overlap_mentioned_p (operands[5], operands[1])
   32289              :    && !reg_overlap_mentioned_p (operands[0], operands[6])
   32290              :    && !reg_overlap_mentioned_p (operands[6], operands[1])))
   32291              :                         return NULL;
   32292              :                       *pmatch_len_ = 3;
   32293              :                       return gen_peephole2_102 (insn, operands);
   32294              : 
   32295              :                     default:
   32296              :                       return NULL;
   32297              :                     }
   32298              : 
   32299              :                 case E_TImode:
   32300              :                   switch (pattern1893 (x1, 
   32301              : E_DImode, 
   32302              : E_TImode))
   32303              :                     {
   32304              :                     case 0:
   32305              :                       if (!(
   32306              : #line 9205 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32307              : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   32308              :    && peep2_reg_dead_p (2, operands[0])
   32309              :    && !reg_overlap_mentioned_p (operands[0], operands[1])) && 
   32310              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32311              : (TARGET_64BIT)))
   32312              :                         return NULL;
   32313              :                       *pmatch_len_ = 1;
   32314              :                       return gen_peephole2_95 (insn, operands);
   32315              : 
   32316              :                     case 1:
   32317              :                       if (!(
   32318              : #line 9411 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32319              : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   32320              :    && peep2_reg_dead_p (4, operands[0])
   32321              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   32322              :    && !reg_overlap_mentioned_p (operands[0], operands[5])
   32323              :    && !reg_overlap_mentioned_p (operands[5], operands[1])
   32324              :    && !reg_overlap_mentioned_p (operands[0], operands[6])
   32325              :    && !reg_overlap_mentioned_p (operands[6], operands[1])) && 
   32326              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32327              : (TARGET_64BIT)))
   32328              :                         return NULL;
   32329              :                       *pmatch_len_ = 3;
   32330              :                       return gen_peephole2_103 (insn, operands);
   32331              : 
   32332              :                     default:
   32333              :                       return NULL;
   32334              :                     }
   32335              : 
   32336              :                 default:
   32337              :                   return NULL;
   32338              :                 }
   32339              : 
   32340              :             default:
   32341              :               return NULL;
   32342              :             }
   32343              : 
   32344              :         default:
   32345              :           return NULL;
   32346              :         }
   32347              : 
   32348              :     case PLUS:
   32349              :     case MINUS:
   32350              :     case AND:
   32351              :     case IOR:
   32352              :     case XOR:
   32353              :       if (peep2_current_count < 2)
   32354              :         return NULL;
   32355              :       x12 = XEXP (x6, 0);
   32356              :       operands[0] = x12;
   32357              :       x26 = XEXP (x6, 1);
   32358              :       operands[1] = x26;
   32359              :       x25 = PATTERN (peep2_next_insn (1));
   32360              :       if (GET_CODE (x25) != SET)
   32361              :         return NULL;
   32362              :       if (GET_CODE (x6) == PLUS)
   32363              :         {
   32364              :           res = peephole2_43 (x1, insn, pmatch_len_);
   32365              :           if (res != NULL_RTX)
   32366              :             return res;
   32367              :         }
   32368              :       x8 = XEXP (x5, 1);
   32369              :       if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   32370              :         return NULL;
   32371              :       operands[2] = x6;
   32372              :       x7 = XEXP (x4, 1);
   32373              :       if (!rtx_equal_p (x7, operands[2]))
   32374              :         return NULL;
   32375              :       switch (GET_MODE (operands[2]))
   32376              :         {
   32377              :         case E_QImode:
   32378              :           if (!plusminuslogic_operator (operands[2], E_QImode))
   32379              :             return NULL;
   32380              :           if (memory_operand (operands[0], E_QImode))
   32381              :             {
   32382              :               x11 = XEXP (x4, 0);
   32383              :               if (pattern1648 (x11, 
   32384              : E_QImode) == 0
   32385              :                   && 
   32386              : #line 28705 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32387              : (TARGET_APX_NDD
   32388              :    && (TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   32389              :    && peep2_reg_dead_p (2, operands[3])
   32390              :    && !reg_overlap_mentioned_p (operands[3], operands[0])
   32391              :    && ix86_match_ccmode (peep2_next_insn (0),
   32392              :                          (GET_CODE (operands[2]) == PLUS
   32393              :                           || GET_CODE (operands[2]) == MINUS)
   32394              :                          ? CCGOCmode : CCNOmode)))
   32395              :                 {
   32396              :                   *pmatch_len_ = 1;
   32397              :                   res = gen_peephole2_323 (insn, operands);
   32398              :                   if (res != NULL_RTX)
   32399              :                     return res;
   32400              :                 }
   32401              :             }
   32402              :           if (!register_operand (operands[0], E_QImode))
   32403              :             return NULL;
   32404              :           x11 = XEXP (x4, 0);
   32405              :           if (pattern1649 (x11, 
   32406              : E_QImode) != 0
   32407              :               || !
   32408              : #line 28799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32409              : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   32410              :    && COMMUTATIVE_ARITH_P (operands[2])
   32411              :    && peep2_reg_dead_p (2, operands[0])
   32412              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   32413              :    && ix86_match_ccmode (peep2_next_insn (0),
   32414              :                          GET_CODE (operands[2]) == PLUS
   32415              :                          ? CCGOCmode : CCNOmode)))
   32416              :             return NULL;
   32417              :           *pmatch_len_ = 1;
   32418              :           return gen_peephole2_335 (insn, operands);
   32419              : 
   32420              :         case E_HImode:
   32421              :           if (!plusminuslogic_operator (operands[2], E_HImode))
   32422              :             return NULL;
   32423              :           if (memory_operand (operands[0], E_HImode))
   32424              :             {
   32425              :               x11 = XEXP (x4, 0);
   32426              :               if (pattern1648 (x11, 
   32427              : E_HImode) == 0
   32428              :                   && 
   32429              : #line 28705 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32430              : (TARGET_APX_NDD
   32431              :    && (TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   32432              :    && peep2_reg_dead_p (2, operands[3])
   32433              :    && !reg_overlap_mentioned_p (operands[3], operands[0])
   32434              :    && ix86_match_ccmode (peep2_next_insn (0),
   32435              :                          (GET_CODE (operands[2]) == PLUS
   32436              :                           || GET_CODE (operands[2]) == MINUS)
   32437              :                          ? CCGOCmode : CCNOmode)))
   32438              :                 {
   32439              :                   *pmatch_len_ = 1;
   32440              :                   res = gen_peephole2_324 (insn, operands);
   32441              :                   if (res != NULL_RTX)
   32442              :                     return res;
   32443              :                 }
   32444              :             }
   32445              :           if (!register_operand (operands[0], E_HImode))
   32446              :             return NULL;
   32447              :           x11 = XEXP (x4, 0);
   32448              :           if (pattern1649 (x11, 
   32449              : E_HImode) != 0
   32450              :               || !
   32451              : #line 28799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32452              : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   32453              :    && COMMUTATIVE_ARITH_P (operands[2])
   32454              :    && peep2_reg_dead_p (2, operands[0])
   32455              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   32456              :    && ix86_match_ccmode (peep2_next_insn (0),
   32457              :                          GET_CODE (operands[2]) == PLUS
   32458              :                          ? CCGOCmode : CCNOmode)))
   32459              :             return NULL;
   32460              :           *pmatch_len_ = 1;
   32461              :           return gen_peephole2_336 (insn, operands);
   32462              : 
   32463              :         case E_SImode:
   32464              :           if (!plusminuslogic_operator (operands[2], E_SImode))
   32465              :             return NULL;
   32466              :           if (memory_operand (operands[0], E_SImode))
   32467              :             {
   32468              :               x11 = XEXP (x4, 0);
   32469              :               if (pattern1650 (x11, 
   32470              : E_SImode) == 0
   32471              :                   && 
   32472              : #line 28705 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32473              : (TARGET_APX_NDD
   32474              :    && (TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   32475              :    && peep2_reg_dead_p (2, operands[3])
   32476              :    && !reg_overlap_mentioned_p (operands[3], operands[0])
   32477              :    && ix86_match_ccmode (peep2_next_insn (0),
   32478              :                          (GET_CODE (operands[2]) == PLUS
   32479              :                           || GET_CODE (operands[2]) == MINUS)
   32480              :                          ? CCGOCmode : CCNOmode)))
   32481              :                 {
   32482              :                   *pmatch_len_ = 1;
   32483              :                   res = gen_peephole2_325 (insn, operands);
   32484              :                   if (res != NULL_RTX)
   32485              :                     return res;
   32486              :                 }
   32487              :             }
   32488              :           if (!register_operand (operands[0], E_SImode))
   32489              :             return NULL;
   32490              :           x11 = XEXP (x4, 0);
   32491              :           if (pattern1649 (x11, 
   32492              : E_SImode) != 0
   32493              :               || !
   32494              : #line 28799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32495              : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   32496              :    && COMMUTATIVE_ARITH_P (operands[2])
   32497              :    && peep2_reg_dead_p (2, operands[0])
   32498              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   32499              :    && ix86_match_ccmode (peep2_next_insn (0),
   32500              :                          GET_CODE (operands[2]) == PLUS
   32501              :                          ? CCGOCmode : CCNOmode)))
   32502              :             return NULL;
   32503              :           *pmatch_len_ = 1;
   32504              :           return gen_peephole2_337 (insn, operands);
   32505              : 
   32506              :         case E_DImode:
   32507              :           if (!plusminuslogic_operator (operands[2], E_DImode))
   32508              :             return NULL;
   32509              :           if (memory_operand (operands[0], E_DImode))
   32510              :             {
   32511              :               x11 = XEXP (x4, 0);
   32512              :               if (pattern1650 (x11, 
   32513              : E_DImode) == 0
   32514              :                   && (
   32515              : #line 28705 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32516              : (TARGET_APX_NDD
   32517              :    && (TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   32518              :    && peep2_reg_dead_p (2, operands[3])
   32519              :    && !reg_overlap_mentioned_p (operands[3], operands[0])
   32520              :    && ix86_match_ccmode (peep2_next_insn (0),
   32521              :                          (GET_CODE (operands[2]) == PLUS
   32522              :                           || GET_CODE (operands[2]) == MINUS)
   32523              :                          ? CCGOCmode : CCNOmode)) && 
   32524              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32525              : (TARGET_64BIT)))
   32526              :                 {
   32527              :                   *pmatch_len_ = 1;
   32528              :                   res = gen_peephole2_326 (insn, operands);
   32529              :                   if (res != NULL_RTX)
   32530              :                     return res;
   32531              :                 }
   32532              :             }
   32533              :           if (!register_operand (operands[0], E_DImode))
   32534              :             return NULL;
   32535              :           x11 = XEXP (x4, 0);
   32536              :           if (pattern1649 (x11, 
   32537              : E_DImode) != 0
   32538              :               || !(
   32539              : #line 28799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32540              : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   32541              :    && COMMUTATIVE_ARITH_P (operands[2])
   32542              :    && peep2_reg_dead_p (2, operands[0])
   32543              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   32544              :    && ix86_match_ccmode (peep2_next_insn (0),
   32545              :                          GET_CODE (operands[2]) == PLUS
   32546              :                          ? CCGOCmode : CCNOmode)) && 
   32547              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32548              : (TARGET_64BIT)))
   32549              :             return NULL;
   32550              :           *pmatch_len_ = 1;
   32551              :           return gen_peephole2_338 (insn, operands);
   32552              : 
   32553              :         default:
   32554              :           return NULL;
   32555              :         }
   32556              : 
   32557              :     default:
   32558              :       return NULL;
   32559              :     }
   32560              : }
        

Generated by: LCOV version 2.4-beta

LCOV profile is generated on x86_64 machine using following configure options: configure --disable-bootstrap --enable-coverage=opt --enable-languages=c,c++,fortran,go,jit,lto,rust,m2 --enable-host-shared. GCC test suite is run with the built compiler.