LCOV - code coverage report
Current view: top level - /mnt/build/buildbot/bld/build-lcov/gcc - insn-recog-8.cc (source / functions) Coverage Total Hit
Test: gcc.info Lines: 90.8 % 3855 3502
Test Date: 2026-02-28 14:20:25 Functions: 95.5 % 200 191
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       286578 : pattern7 (rtx x1, int *pnum_clobbers)
      57              : {
      58       286578 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
      59       286578 :   rtx x2, x3, x4, x5;
      60       286578 :   int res ATTRIBUTE_UNUSED;
      61       286578 :   x2 = XEXP (x1, 0);
      62       286578 :   operands[0] = x2;
      63       286578 :   x3 = XEXP (x1, 1);
      64       286578 :   x4 = XEXP (x3, 0);
      65       286578 :   operands[1] = x4;
      66       286578 :   x5 = XEXP (x3, 1);
      67       286578 :   operands[2] = x5;
      68       286578 :   switch (GET_MODE (operands[0]))
      69              :     {
      70         7537 :     case E_SFmode:
      71         7537 :       return pattern3 (x3, 
      72         7537 : E_SFmode); /* [-1, 0] */
      73              : 
      74         2459 :     case E_DFmode:
      75         2459 :       if (pattern3 (x3, 
      76              : E_DFmode) != 0)
      77              :         return -1;
      78              :       return 1;
      79              : 
      80           72 :     case E_HFmode:
      81           72 :       if (pattern3 (x3, 
      82              : E_HFmode) != 0)
      83              :         return -1;
      84              :       return 2;
      85              : 
      86          318 :     case E_TImode:
      87          318 :       if (pnum_clobbers == NULL
      88          318 :           || pattern4 (x3, 
      89              : E_TImode) != 0)
      90          187 :         return -1;
      91              :       return 3;
      92              : 
      93          549 :     case E_QImode:
      94          549 :       if (pnum_clobbers == NULL
      95          549 :           || pattern4 (x3, 
      96              : E_QImode) != 0)
      97          315 :         return -1;
      98              :       return 4;
      99              : 
     100          667 :     case E_HImode:
     101          667 :       if (pnum_clobbers == NULL
     102          667 :           || pattern4 (x3, 
     103              : E_HImode) != 0)
     104          424 :         return -1;
     105              :       return 5;
     106              : 
     107          496 :     case E_V8QImode:
     108          496 :       if (pattern5 (x3, 
     109              : E_V8QImode) != 0)
     110              :         return -1;
     111              :       return 6;
     112              : 
     113          106 :     case E_V2SImode:
     114          106 :       if (pattern5 (x3, 
     115              : E_V2SImode) != 0)
     116              :         return -1;
     117              :       return 7;
     118              : 
     119          812 :     case E_V4HImode:
     120          812 :       if (pattern6 (x3, 
     121              : E_V4HImode) != 0)
     122              :         return -1;
     123              :       return 8;
     124              : 
     125          160 :     case E_V4QImode:
     126          160 :       if (pattern5 (x3, 
     127              : E_V4QImode) != 0)
     128              :         return -1;
     129              :       return 9;
     130              : 
     131           44 :     case E_V2QImode:
     132           44 :       if (pattern5 (x3, 
     133              : E_V2QImode) != 0)
     134              :         return -1;
     135              :       return 10;
     136              : 
     137          351 :     case E_V2HImode:
     138          351 :       if (pattern5 (x3, 
     139              : E_V2HImode) != 0)
     140              :         return -1;
     141              :       return 11;
     142              : 
     143              :     default:
     144              :       return -1;
     145              :     }
     146              : }
     147              : 
     148              : int
     149           98 : pattern28 (rtx x1)
     150              : {
     151           98 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     152           98 :   int res ATTRIBUTE_UNUSED;
     153           98 :   switch (GET_MODE (operands[0]))
     154              :     {
     155           64 :     case E_V4SImode:
     156           64 :       if (!register_operand (operands[0], E_V4SImode)
     157           64 :           || GET_MODE (x1) != E_V4SImode)
     158              :         return -1;
     159              :       return 0;
     160              : 
     161           34 :     case E_V4DImode:
     162           34 :       if (!register_operand (operands[0], E_V4DImode)
     163           34 :           || GET_MODE (x1) != E_V4DImode)
     164              :         return -1;
     165              :       return 1;
     166              : 
     167              :     default:
     168              :       return -1;
     169              :     }
     170              : }
     171              : 
     172              : int
     173       783459 : pattern35 (rtx x1)
     174              : {
     175       783459 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     176       783459 :   rtx x2, x3, x4, x5;
     177       783459 :   int res ATTRIBUTE_UNUSED;
     178       783459 :   x2 = XEXP (x1, 0);
     179       783459 :   operands[0] = x2;
     180       783459 :   x3 = XEXP (x1, 1);
     181       783459 :   x4 = XEXP (x3, 0);
     182       783459 :   switch (GET_CODE (x4))
     183              :     {
     184       221992 :     case REG:
     185       221992 :     case SUBREG:
     186       221992 :     case MEM:
     187       221992 :       operands[1] = x4;
     188       221992 :       switch (GET_MODE (operands[0]))
     189              :         {
     190         5403 :         case E_V16HImode:
     191         5403 :           if (!register_operand (operands[0], E_V16HImode)
     192         5372 :               || GET_MODE (x3) != E_V16HImode
     193        10775 :               || !nonimmediate_operand (operands[1], E_V16QImode))
     194          483 :             return -1;
     195              :           return 0;
     196              : 
     197         1244 :         case E_V32HImode:
     198         1244 :           if (!register_operand (operands[0], E_V32HImode)
     199         1230 :               || GET_MODE (x3) != E_V32HImode
     200         2474 :               || !nonimmediate_operand (operands[1], E_V32QImode))
     201           14 :             return -1;
     202              :           return 1;
     203              : 
     204         1894 :         case E_V8HImode:
     205         1894 :           if (!register_operand (operands[0], E_V8HImode)
     206         1892 :               || GET_MODE (x3) != E_V8HImode
     207         3786 :               || !memory_operand (operands[1], E_V8QImode))
     208          571 :             return -1;
     209              :           return 2;
     210              : 
     211         1424 :         case E_V16SImode:
     212         1424 :           if (!register_operand (operands[0], E_V16SImode)
     213         1424 :               || GET_MODE (x3) != E_V16SImode)
     214              :             return -1;
     215         1350 :           switch (GET_MODE (operands[1]))
     216              :             {
     217          161 :             case E_V16QImode:
     218          161 :               if (!nonimmediate_operand (operands[1], E_V16QImode))
     219              :                 return -1;
     220              :               return 3;
     221              : 
     222         1189 :             case E_V16HImode:
     223         1189 :               if (!nonimmediate_operand (operands[1], E_V16HImode))
     224              :                 return -1;
     225              :               return 4;
     226              : 
     227              :             default:
     228              :               return -1;
     229              :             }
     230              : 
     231         4885 :         case E_V8SImode:
     232         4885 :           if (!register_operand (operands[0], E_V8SImode)
     233         4885 :               || GET_MODE (x3) != E_V8SImode)
     234              :             return -1;
     235         4798 :           switch (GET_MODE (operands[1]))
     236              :             {
     237           31 :             case E_V8QImode:
     238           31 :               if (!memory_operand (operands[1], E_V8QImode))
     239              :                 return -1;
     240              :               return 5;
     241              : 
     242         4767 :             case E_V8HImode:
     243         4767 :               if (!nonimmediate_operand (operands[1], E_V8HImode))
     244              :                 return -1;
     245              :               return 6;
     246              : 
     247              :             default:
     248              :               return -1;
     249              :             }
     250              : 
     251          245 :         case E_V4SImode:
     252          245 :           if (!register_operand (operands[0], E_V4SImode)
     253          245 :               || GET_MODE (x3) != E_V4SImode)
     254              :             return -1;
     255          241 :           switch (GET_MODE (operands[1]))
     256              :             {
     257           91 :             case E_V4QImode:
     258           91 :               if (!memory_operand (operands[1], E_V4QImode))
     259              :                 return -1;
     260              :               return 7;
     261              : 
     262          147 :             case E_V4HImode:
     263          147 :               if (!memory_operand (operands[1], E_V4HImode))
     264              :                 return -1;
     265              :               return 8;
     266              : 
     267              :             default:
     268              :               return -1;
     269              :             }
     270              : 
     271         1687 :         case E_V8DImode:
     272         1687 :           if (!register_operand (operands[0], E_V8DImode)
     273         1687 :               || GET_MODE (x3) != E_V8DImode)
     274              :             return -1;
     275         1376 :           switch (GET_MODE (operands[1]))
     276              :             {
     277           20 :             case E_V8QImode:
     278           20 :               if (!memory_operand (operands[1], E_V8QImode))
     279              :                 return -1;
     280              :               return 9;
     281              : 
     282          150 :             case E_V8HImode:
     283          150 :               if (!nonimmediate_operand (operands[1], E_V8HImode))
     284              :                 return -1;
     285              :               return 10;
     286              : 
     287         1206 :             case E_V8SImode:
     288         1206 :               if (!nonimmediate_operand (operands[1], E_V8SImode))
     289              :                 return -1;
     290              :               return 11;
     291              : 
     292              :             default:
     293              :               return -1;
     294              :             }
     295              : 
     296         4873 :         case E_V4DImode:
     297         4873 :           if (!register_operand (operands[0], E_V4DImode)
     298         4873 :               || GET_MODE (x3) != E_V4DImode)
     299              :             return -1;
     300         4284 :           switch (GET_MODE (operands[1]))
     301              :             {
     302           24 :             case E_V4QImode:
     303           24 :               if (!memory_operand (operands[1], E_V4QImode))
     304              :                 return -1;
     305              :               return 12;
     306              : 
     307           50 :             case E_V4HImode:
     308           50 :               if (!memory_operand (operands[1], E_V4HImode))
     309              :                 return -1;
     310              :               return 13;
     311              : 
     312         4210 :             case E_V4SImode:
     313         4210 :               if (!nonimmediate_operand (operands[1], E_V4SImode))
     314              :                 return -1;
     315              :               return 14;
     316              : 
     317              :             default:
     318              :               return -1;
     319              :             }
     320              : 
     321          100 :         case E_V2DImode:
     322          100 :           if (!register_operand (operands[0], E_V2DImode)
     323          100 :               || GET_MODE (x3) != E_V2DImode)
     324              :             return -1;
     325           94 :           switch (GET_MODE (operands[1]))
     326              :             {
     327           25 :             case E_V2QImode:
     328           25 :               if (!memory_operand (operands[1], E_V2QImode))
     329              :                 return -1;
     330              :               return 15;
     331              : 
     332           20 :             case E_V2HImode:
     333           20 :               if (!memory_operand (operands[1], E_V2HImode))
     334              :                 return -1;
     335              :               return 16;
     336              : 
     337           49 :             case E_V2SImode:
     338           49 :               if (!memory_operand (operands[1], E_V2SImode))
     339              :                 return -1;
     340              :               return 17;
     341              : 
     342              :             default:
     343              :               return -1;
     344              :             }
     345              : 
     346              :         default:
     347              :           return -1;
     348              :         }
     349              : 
     350        78905 :     case VEC_SELECT:
     351        78905 :       x5 = XEXP (x4, 1);
     352        78905 :       if (GET_CODE (x5) != PARALLEL)
     353              :         return -1;
     354              :       return 18;
     355              : 
     356              :     default:
     357              :       return -1;
     358              :     }
     359              : }
     360              : 
     361              : int
     362         1441 : pattern81 (rtx x1, int *pnum_clobbers, machine_mode i1)
     363              : {
     364         1441 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     365         1441 :   int res ATTRIBUTE_UNUSED;
     366         1441 :   if (pnum_clobbers == NULL
     367         1441 :       || !nonimmediate_operand (operands[0], i1)
     368         1441 :       || GET_MODE (x1) != i1
     369         1441 :       || !nonimmediate_operand (operands[1], i1)
     370         2842 :       || !nonimmediate_or_x86_64_const_vector_operand (operands[2], i1))
     371           77 :     return -1;
     372              :   return 0;
     373              : }
     374              : 
     375              : int
     376     25744677 : pattern88 (rtx x1, int *pnum_clobbers)
     377              : {
     378     25744677 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     379     25744677 :   rtx x2, x3, x4;
     380     25744677 :   int res ATTRIBUTE_UNUSED;
     381     25744677 :   x2 = XEXP (x1, 1);
     382     25744677 :   x3 = XEXP (x2, 1);
     383     25744677 :   operands[2] = x3;
     384     25744677 :   x4 = XEXP (x1, 0);
     385     25744677 :   switch (GET_CODE (x4))
     386              :     {
     387     25743927 :     case REG:
     388     25743927 :     case SUBREG:
     389     25743927 :     case MEM:
     390     25743927 :       operands[0] = x4;
     391     25743927 :       return 0;
     392              : 
     393          621 :     case STRICT_LOW_PART:
     394          621 :       res = pattern78 (x1, pnum_clobbers);
     395          621 :       if (res >= 0)
     396          389 :         return res + 1; /* [1, 2] */
     397              :       return -1;
     398              : 
     399              :     default:
     400              :       return -1;
     401              :     }
     402              : }
     403              : 
     404              : int
     405           50 : pattern95 (rtx x1, machine_mode i1)
     406              : {
     407           50 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     408           50 :   rtx x2;
     409           50 :   int res ATTRIBUTE_UNUSED;
     410           50 :   if (!nonimmediate_operand (operands[0], i1)
     411           50 :       || GET_MODE (x1) != i1)
     412              :     return -1;
     413           50 :   x2 = XEXP (x1, 0);
     414           50 :   if (GET_MODE (x2) != i1
     415           50 :       || !general_operand (operands[1], i1))
     416            0 :     return -1;
     417              :   return 0;
     418              : }
     419              : 
     420              : int
     421         8744 : pattern98 (rtx x1)
     422              : {
     423         8744 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     424         8744 :   rtx x2, x3, x4, x5, x6, x7, x8;
     425         8744 :   int res ATTRIBUTE_UNUSED;
     426         8744 :   x2 = XEXP (x1, 1);
     427         8744 :   x3 = XEXP (x2, 0);
     428         8744 :   x4 = XEXP (x3, 1);
     429         8744 :   if (GET_CODE (x4) != PARALLEL)
     430              :     return -1;
     431         8744 :   x5 = XEXP (x2, 1);
     432         8744 :   if (GET_CODE (x5) != VEC_SELECT)
     433              :     return -1;
     434         2054 :   x6 = XEXP (x5, 1);
     435         2054 :   if (GET_CODE (x6) != PARALLEL)
     436              :     return -1;
     437         2054 :   x7 = XEXP (x1, 0);
     438         2054 :   operands[0] = x7;
     439         2054 :   x8 = XEXP (x3, 0);
     440         2054 :   switch (GET_CODE (x8))
     441              :     {
     442              :     case REG:
     443              :     case SUBREG:
     444              :       return 0;
     445              : 
     446         1048 :     case VEC_CONCAT:
     447         1048 :       return 1;
     448              : 
     449              :     default:
     450              :       return -1;
     451              :     }
     452              : }
     453              : 
     454              : int
     455          817 : pattern106 ()
     456              : {
     457          817 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     458          817 :   int res ATTRIBUTE_UNUSED;
     459          817 :   switch (GET_MODE (operands[1]))
     460              :     {
     461          282 :     case E_V8HImode:
     462          282 :       if (!register_operand (operands[1], E_V8HImode))
     463              :         return -1;
     464              :       return 0;
     465              : 
     466          271 :     case E_V8SImode:
     467          271 :       if (!register_operand (operands[1], E_V8SImode))
     468              :         return -1;
     469              :       return 1;
     470              : 
     471          264 :     case E_V8DImode:
     472          264 :       if (!register_operand (operands[1], E_V8DImode))
     473              :         return -1;
     474              :       return 2;
     475              : 
     476              :     default:
     477              :       return -1;
     478              :     }
     479              : }
     480              : 
     481              : int
     482         1953 : pattern113 (rtx x1, int *pnum_clobbers)
     483              : {
     484         1953 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     485         1953 :   rtx x2, x3, x4;
     486         1953 :   int res ATTRIBUTE_UNUSED;
     487         1953 :   if (pnum_clobbers == NULL)
     488              :     return -1;
     489         1953 :   x2 = XEXP (x1, 0);
     490         1953 :   if (GET_MODE (x2) != E_SImode
     491         1860 :       || !register_operand (operands[0], E_DImode)
     492         3811 :       || GET_MODE (x1) != E_DImode)
     493           95 :     return -1;
     494         1858 :   x3 = XEXP (x2, 0);
     495         1858 :   operands[1] = x3;
     496         1858 :   if (!register_operand (operands[1], E_SImode))
     497              :     return -1;
     498         1778 :   x4 = XEXP (x2, 1);
     499         1778 :   operands[2] = x4;
     500         1778 :   if (!nonimmediate_operand (operands[2], E_SImode))
     501              :     return -1;
     502              :   return 0;
     503              : }
     504              : 
     505              : int
     506       444607 : pattern120 (rtx x1, rtx_code i1)
     507              : {
     508       444607 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     509       444607 :   rtx x2, x3, x4, x5;
     510       444607 :   int res ATTRIBUTE_UNUSED;
     511       444607 :   x2 = XEXP (x1, 0);
     512       444607 :   if (GET_MODE (x2) != E_DImode)
     513              :     return -1;
     514       193590 :   x3 = XEXP (x1, 1);
     515       193590 :   if (GET_CODE (x3) != i1
     516        28980 :       || GET_MODE (x3) != E_DImode
     517        28980 :       || !register_operand (operands[0], E_DImode)
     518       222457 :       || GET_MODE (x1) != E_DImode)
     519       164723 :     return -1;
     520        28867 :   x4 = XEXP (x2, 0);
     521        28867 :   operands[1] = x4;
     522        28867 :   if (!register_operand (operands[1], E_SImode))
     523              :     return -1;
     524        17684 :   x5 = XEXP (x3, 0);
     525        17684 :   operands[2] = x5;
     526        17684 :   if (!nonimmediate_operand (operands[2], E_SImode))
     527              :     return -1;
     528              :   return 0;
     529              : }
     530              : 
     531              : int
     532          766 : pattern128 (rtx x1, machine_mode i1)
     533              : {
     534          766 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     535          766 :   int res ATTRIBUTE_UNUSED;
     536          766 :   if (!register_operand (operands[0], i1)
     537          766 :       || GET_MODE (x1) != i1)
     538              :     return -1;
     539          718 :   switch (GET_MODE (operands[1]))
     540              :     {
     541           44 :     case E_V8HFmode:
     542           44 :       if (!register_operand (operands[1], E_V8HFmode))
     543              :         return -1;
     544              :       return 0;
     545              : 
     546          379 :     case E_V4SFmode:
     547          379 :       if (!nonimmediate_operand (operands[1], E_V4SFmode))
     548              :         return -1;
     549              :       return 1;
     550              : 
     551          295 :     case E_V2DFmode:
     552          295 :       if (!nonimmediate_operand (operands[1], E_V2DFmode))
     553              :         return -1;
     554              :       return 2;
     555              : 
     556              :     default:
     557              :       return -1;
     558              :     }
     559              : }
     560              : 
     561              : int
     562         6610 : pattern136 (rtx x1, machine_mode i1, machine_mode i2)
     563              : {
     564         6610 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     565         6610 :   rtx x2;
     566         6610 :   int res ATTRIBUTE_UNUSED;
     567         6610 :   if (!register_operand (operands[0], i1)
     568         6610 :       || GET_MODE (x1) != i1)
     569              :     return -1;
     570         6342 :   x2 = XEXP (x1, 0);
     571         6342 :   if (GET_MODE (x2) != i1
     572         6342 :       || !register_operand (operands[1], i1)
     573         6178 :       || !nonimmediate_operand (operands[2], i1)
     574         6178 :       || !nonimm_or_0_operand (operands[3], i1)
     575        12402 :       || !register_operand (operands[4], i2))
     576          442 :     return -1;
     577              :   return 0;
     578              : }
     579              : 
     580              : int
     581         5520 : pattern147 (rtx x1)
     582              : {
     583         5520 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     584         5520 :   rtx x2, x3, x4, x5, x6;
     585         5520 :   int res ATTRIBUTE_UNUSED;
     586         5520 :   x2 = XEXP (x1, 0);
     587         5520 :   x3 = XEXP (x2, 0);
     588         5520 :   operands[1] = x3;
     589         5520 :   x4 = XEXP (x2, 1);
     590         5520 :   operands[2] = x4;
     591         5520 :   x5 = XEXP (x1, 1);
     592         5520 :   operands[3] = x5;
     593         5520 :   x6 = XEXP (x1, 2);
     594         5520 :   operands[4] = x6;
     595         5520 :   switch (GET_MODE (operands[0]))
     596              :     {
     597         1072 :     case E_V64QImode:
     598         1072 :       return pattern133 (x1, 
     599              : E_V64QImode, 
     600         1072 : E_DImode); /* [-1, 0] */
     601              : 
     602          976 :     case E_V32QImode:
     603          976 :       if (pattern133 (x1, 
     604              : E_V32QImode, 
     605              : E_SImode) != 0)
     606              :         return -1;
     607              :       return 1;
     608              : 
     609          716 :     case E_V16QImode:
     610          716 :       if (pattern133 (x1, 
     611              : E_V16QImode, 
     612              : E_HImode) != 0)
     613              :         return -1;
     614              :       return 2;
     615              : 
     616         1069 :     case E_V32HImode:
     617         1069 :       if (pattern133 (x1, 
     618              : E_V32HImode, 
     619              : E_SImode) != 0)
     620              :         return -1;
     621              :       return 3;
     622              : 
     623          974 :     case E_V16HImode:
     624          974 :       if (pattern133 (x1, 
     625              : E_V16HImode, 
     626              : E_HImode) != 0)
     627              :         return -1;
     628              :       return 4;
     629              : 
     630          713 :     case E_V8HImode:
     631          713 :       if (pattern133 (x1, 
     632              : E_V8HImode, 
     633              : E_QImode) != 0)
     634              :         return -1;
     635              :       return 5;
     636              : 
     637              :     default:
     638              :       return -1;
     639              :     }
     640              : }
     641              : 
     642              : int
     643         3710 : pattern155 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
     644              : {
     645         3710 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     646         3710 :   rtx x2;
     647         3710 :   int res ATTRIBUTE_UNUSED;
     648         3710 :   if (!register_operand (operands[0], i1)
     649         3710 :       || GET_MODE (x1) != i1)
     650              :     return -1;
     651         3595 :   x2 = XEXP (x1, 0);
     652         3595 :   if (GET_MODE (x2) != i1
     653         3595 :       || !nonimmediate_operand (operands[1], i2)
     654         3593 :       || !nonimm_or_0_operand (operands[2], i1)
     655         7140 :       || !register_operand (operands[3], i3))
     656          167 :     return -1;
     657              :   return 0;
     658              : }
     659              : 
     660              : int
     661       107927 : pattern158 (rtx x1, machine_mode i1)
     662              : {
     663       107927 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     664       107927 :   int res ATTRIBUTE_UNUSED;
     665       107927 :   if (!register_operand (operands[0], i1)
     666       106265 :       || GET_MODE (x1) != i1
     667       106265 :       || !register_operand (operands[1], i1)
     668       189121 :       || !vector_operand (operands[2], i1))
     669        29866 :     return -1;
     670              :   return 0;
     671              : }
     672              : 
     673              : int
     674          618 : pattern161 (rtx x1)
     675              : {
     676          618 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     677          618 :   rtx x2, x3, x4, x5;
     678          618 :   int res ATTRIBUTE_UNUSED;
     679          618 :   x2 = XEXP (x1, 0);
     680          618 :   operands[0] = x2;
     681          618 :   x3 = XEXP (x1, 1);
     682          618 :   x4 = XVECEXP (x3, 0, 0);
     683          618 :   operands[1] = x4;
     684          618 :   x5 = XVECEXP (x3, 0, 1);
     685          618 :   operands[2] = x5;
     686          618 :   switch (GET_MODE (operands[0]))
     687              :     {
     688          152 :     case E_V32HFmode:
     689          152 :       return pattern160 (x3, 
     690          152 : E_V32HFmode); /* [-1, 0] */
     691              : 
     692          222 :     case E_V16HFmode:
     693          222 :       if (pattern160 (x3, 
     694              : E_V16HFmode) != 0)
     695              :         return -1;
     696              :       return 1;
     697              : 
     698          244 :     case E_V8HFmode:
     699          244 :       if (pattern160 (x3, 
     700              : E_V8HFmode) != 0)
     701              :         return -1;
     702              :       return 2;
     703              : 
     704              :     default:
     705              :       return -1;
     706              :     }
     707              : }
     708              : 
     709              : int
     710          535 : pattern167 (rtx x1)
     711              : {
     712          535 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     713          535 :   rtx x2, x3, x4, x5;
     714          535 :   int res ATTRIBUTE_UNUSED;
     715          535 :   x2 = XEXP (x1, 0);
     716          535 :   operands[0] = x2;
     717          535 :   x3 = XEXP (x1, 1);
     718          535 :   x4 = XVECEXP (x3, 0, 0);
     719          535 :   operands[1] = x4;
     720          535 :   x5 = XVECEXP (x3, 0, 1);
     721          535 :   operands[2] = x5;
     722          535 :   switch (GET_MODE (operands[0]))
     723              :     {
     724          170 :     case E_V16SImode:
     725          170 :       return pattern158 (x3, 
     726          170 : E_V16SImode); /* [-1, 0] */
     727              : 
     728          184 :     case E_V8SImode:
     729          184 :       if (pattern158 (x3, 
     730              : E_V8SImode) != 0)
     731              :         return -1;
     732              :       return 1;
     733              : 
     734          181 :     case E_V4SImode:
     735          181 :       if (pattern158 (x3, 
     736              : E_V4SImode) != 0)
     737              :         return -1;
     738              :       return 2;
     739              : 
     740              :     default:
     741              :       return -1;
     742              :     }
     743              : }
     744              : 
     745              : int
     746           18 : pattern175 (rtx x1)
     747              : {
     748           18 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     749           18 :   rtx x2, x3, x4, x5, x6;
     750           18 :   int res ATTRIBUTE_UNUSED;
     751           18 :   x2 = XEXP (x1, 0);
     752           18 :   operands[0] = x2;
     753           18 :   x3 = XEXP (x1, 1);
     754           18 :   x4 = XVECEXP (x3, 0, 0);
     755           18 :   operands[1] = x4;
     756           18 :   x5 = XVECEXP (x3, 0, 1);
     757           18 :   operands[2] = x5;
     758           18 :   x6 = XVECEXP (x3, 0, 2);
     759           18 :   operands[3] = x6;
     760           18 :   switch (GET_MODE (operands[0]))
     761              :     {
     762            6 :     case E_V16SFmode:
     763            6 :       return pattern174 (x3, 
     764            6 : E_V16SFmode); /* [-1, 0] */
     765              : 
     766            6 :     case E_V8SFmode:
     767            6 :       if (pattern174 (x3, 
     768              : E_V8SFmode) != 0)
     769              :         return -1;
     770              :       return 1;
     771              : 
     772            6 :     case E_V4SFmode:
     773            6 :       if (pattern174 (x3, 
     774              : E_V4SFmode) != 0)
     775              :         return -1;
     776              :       return 2;
     777              : 
     778              :     default:
     779              :       return -1;
     780              :     }
     781              : }
     782              : 
     783              : int
     784          280 : pattern185 (rtx x1)
     785              : {
     786          280 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     787          280 :   rtx x2, x3, x4, x5, x6;
     788          280 :   int res ATTRIBUTE_UNUSED;
     789          280 :   x2 = XEXP (x1, 0);
     790          280 :   operands[0] = x2;
     791          280 :   x3 = XEXP (x1, 1);
     792          280 :   x4 = XVECEXP (x3, 0, 0);
     793          280 :   operands[1] = x4;
     794          280 :   x5 = XVECEXP (x3, 0, 1);
     795          280 :   operands[2] = x5;
     796          280 :   x6 = XVECEXP (x3, 0, 2);
     797          280 :   operands[3] = x6;
     798          280 :   switch (GET_MODE (operands[0]))
     799              :     {
     800          140 :     case E_V32HImode:
     801          140 :       return pattern178 (x3, 
     802          140 : E_V32HImode); /* [-1, 0] */
     803              : 
     804          140 :     case E_V16HImode:
     805          140 :       if (pattern178 (x3, 
     806              : E_V16HImode) != 0)
     807              :         return -1;
     808              :       return 1;
     809              : 
     810              :     default:
     811              :       return -1;
     812              :     }
     813              : }
     814              : 
     815              : int
     816           14 : pattern191 (rtx x1, machine_mode i1)
     817              : {
     818           14 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     819           14 :   rtx x2;
     820           14 :   int res ATTRIBUTE_UNUSED;
     821           14 :   if (!register_operand (operands[0], i1)
     822           14 :       || GET_MODE (x1) != i1)
     823              :     return -1;
     824            8 :   x2 = XEXP (x1, 0);
     825            8 :   if (GET_MODE (x2) != i1
     826            8 :       || !vector_operand (operands[1], i1)
     827            8 :       || !vector_operand (operands[2], i1)
     828           16 :       || !vector_operand (operands[3], i1))
     829            2 :     return -1;
     830              :   return 0;
     831              : }
     832              : 
     833              : int
     834       233334 : pattern197 (rtx x1)
     835              : {
     836       233334 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     837       233334 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
     838       233334 :   rtx x10, x11, x12, x13, x14, x15, x16, x17;
     839       233334 :   rtx x18, x19, x20, x21, x22, x23, x24, x25;
     840       233334 :   rtx x26, x27;
     841       233334 :   int res ATTRIBUTE_UNUSED;
     842       233334 :   x2 = XEXP (x1, 0);
     843       233334 :   x3 = XEXP (x2, 0);
     844       233334 :   if (GET_CODE (x3) != VEC_CONCAT)
     845              :     return -1;
     846        71909 :   x4 = XEXP (x2, 1);
     847        71909 :   if (GET_CODE (x4) != PARALLEL)
     848              :     return -1;
     849        71909 :   x5 = XEXP (x1, 1);
     850        71909 :   if (GET_CODE (x5) != VEC_SELECT)
     851              :     return -1;
     852         1912 :   x6 = XEXP (x5, 0);
     853         1912 :   if (GET_CODE (x6) != VEC_CONCAT)
     854              :     return -1;
     855         1882 :   x7 = XEXP (x5, 1);
     856         1882 :   if (GET_CODE (x7) != PARALLEL)
     857              :     return -1;
     858         1882 :   x8 = XEXP (x3, 0);
     859         1882 :   operands[1] = x8;
     860         1882 :   x9 = XEXP (x3, 1);
     861         1882 :   operands[2] = x9;
     862         1882 :   x10 = XEXP (x6, 0);
     863         1882 :   if (!rtx_equal_p (x10, operands[1]))
     864              :     return -1;
     865         1574 :   x11 = XEXP (x6, 1);
     866         1574 :   if (!rtx_equal_p (x11, operands[2]))
     867              :     return -1;
     868         1569 :   switch (XVECLEN (x4, 0))
     869              :     {
     870          189 :     case 16:
     871          189 :       return pattern195 (x1); /* [-1, 0] */
     872              : 
     873          512 :     case 8:
     874          512 :       x12 = XVECEXP (x4, 0, 0);
     875          512 :       if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
     876              :         return -1;
     877          512 :       x13 = XVECEXP (x4, 0, 1);
     878          512 :       if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
     879              :         return -1;
     880          512 :       x14 = XVECEXP (x4, 0, 2);
     881          512 :       if (GET_CODE (x14) != CONST_INT)
     882              :         return -1;
     883          512 :       x15 = XVECEXP (x4, 0, 3);
     884          512 :       if (GET_CODE (x15) != CONST_INT)
     885              :         return -1;
     886          512 :       x16 = XVECEXP (x4, 0, 4);
     887          512 :       if (GET_CODE (x16) != CONST_INT)
     888              :         return -1;
     889          512 :       x17 = XVECEXP (x4, 0, 5);
     890          512 :       if (GET_CODE (x17) != CONST_INT)
     891              :         return -1;
     892          512 :       x18 = XVECEXP (x4, 0, 6);
     893          512 :       if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 12])
     894              :         return -1;
     895          512 :       x19 = XVECEXP (x4, 0, 7);
     896          512 :       if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 14]
     897          512 :           || XVECLEN (x7, 0) != 8)
     898              :         return -1;
     899          512 :       x20 = XVECEXP (x7, 0, 0);
     900          512 :       if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
     901              :         return -1;
     902          512 :       x21 = XVECEXP (x7, 0, 1);
     903          512 :       if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
     904              :         return -1;
     905          512 :       x22 = XVECEXP (x7, 0, 2);
     906          512 :       if (GET_CODE (x22) != CONST_INT)
     907              :         return -1;
     908          512 :       x23 = XVECEXP (x7, 0, 3);
     909          512 :       if (GET_CODE (x23) != CONST_INT)
     910              :         return -1;
     911          512 :       x24 = XVECEXP (x7, 0, 4);
     912          512 :       if (GET_CODE (x24) != CONST_INT)
     913              :         return -1;
     914          512 :       x25 = XVECEXP (x7, 0, 5);
     915          512 :       if (GET_CODE (x25) != CONST_INT)
     916              :         return -1;
     917          512 :       x26 = XVECEXP (x7, 0, 6);
     918          512 :       if (x26 != const_int_rtx[MAX_SAVED_CONST_INT + 13])
     919              :         return -1;
     920          512 :       x27 = XVECEXP (x7, 0, 7);
     921          512 :       if (x27 != const_int_rtx[MAX_SAVED_CONST_INT + 15])
     922              :         return -1;
     923          512 :       switch (XWINT (x14, 0))
     924              :         {
     925          314 :         case 4L:
     926          314 :           if (XWINT (x15, 0) != 6L
     927          314 :               || XWINT (x16, 0) != 8L
     928          314 :               || XWINT (x17, 0) != 10L
     929          314 :               || XWINT (x22, 0) != 5L
     930          314 :               || XWINT (x23, 0) != 7L
     931          314 :               || XWINT (x24, 0) != 9L
     932          314 :               || XWINT (x25, 0) != 11L
     933          628 :               || pattern196 (x1, 
     934              : E_V16HImode, 
     935              : E_V8HImode) != 0)
     936           58 :             return -1;
     937              :           return 1;
     938              : 
     939          198 :         case 8L:
     940          198 :           if (XWINT (x15, 0) != 10L
     941          198 :               || XWINT (x16, 0) != 4L
     942          198 :               || XWINT (x17, 0) != 6L
     943          198 :               || XWINT (x22, 0) != 9L
     944          198 :               || XWINT (x23, 0) != 11L
     945          198 :               || XWINT (x24, 0) != 5L
     946          198 :               || XWINT (x25, 0) != 7L
     947          396 :               || pattern194 (x1, 
     948              : E_V16SImode, 
     949              : E_V8SImode) != 0)
     950           11 :             return -1;
     951              :           return 2;
     952              : 
     953              :         default:
     954              :           return -1;
     955              :         }
     956              : 
     957          759 :     case 4:
     958          759 :       x12 = XVECEXP (x4, 0, 0);
     959          759 :       if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
     960              :         return -1;
     961          254 :       x13 = XVECEXP (x4, 0, 1);
     962          254 :       if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
     963              :         return -1;
     964          254 :       x14 = XVECEXP (x4, 0, 2);
     965          254 :       if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
     966              :         return -1;
     967          254 :       x15 = XVECEXP (x4, 0, 3);
     968          254 :       if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 6]
     969          254 :           || XVECLEN (x7, 0) != 4)
     970              :         return -1;
     971          254 :       x20 = XVECEXP (x7, 0, 0);
     972          254 :       if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
     973              :         return -1;
     974          254 :       x21 = XVECEXP (x7, 0, 1);
     975          254 :       if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
     976              :         return -1;
     977          254 :       x22 = XVECEXP (x7, 0, 2);
     978          254 :       if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
     979              :         return -1;
     980          254 :       x23 = XVECEXP (x7, 0, 3);
     981          254 :       if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
     982          254 :           || pattern196 (x1, 
     983              : E_V8SImode, 
     984              : E_V4SImode) != 0)
     985           25 :         return -1;
     986              :       return 3;
     987              : 
     988              :     default:
     989              :       return -1;
     990              :     }
     991              : }
     992              : 
     993              : int
     994          947 : pattern228 (rtx x1)
     995              : {
     996          947 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     997          947 :   rtx x2, x3, x4, x5, x6, x7, x8;
     998          947 :   int res ATTRIBUTE_UNUSED;
     999          947 :   x2 = XVECEXP (x1, 0, 0);
    1000          947 :   x3 = XEXP (x2, 0);
    1001          947 :   operands[0] = x3;
    1002          947 :   x4 = XEXP (x2, 1);
    1003          947 :   x5 = XEXP (x4, 0);
    1004          947 :   operands[1] = x5;
    1005          947 :   x6 = XEXP (x4, 1);
    1006          947 :   operands[2] = x6;
    1007          947 :   x7 = XVECEXP (x1, 0, 2);
    1008          947 :   x8 = XEXP (x7, 0);
    1009          947 :   operands[3] = x8;
    1010          947 :   switch (GET_MODE (operands[0]))
    1011              :     {
    1012          880 :     case E_DImode:
    1013          880 :       if (!register_operand (operands[0], E_DImode)
    1014          860 :           || GET_MODE (x4) != E_DImode
    1015          860 :           || !register_operand (operands[1], E_DImode)
    1016          716 :           || !const_1_to_31_operand (operands[2], E_QImode)
    1017         1596 :           || !scratch_operand (operands[3], E_SImode))
    1018          164 :         return -1;
    1019              :       return 0;
    1020              : 
    1021           67 :     case E_TImode:
    1022           67 :       if (!register_operand (operands[0], E_TImode)
    1023           67 :           || GET_MODE (x4) != E_TImode
    1024           67 :           || !register_operand (operands[1], E_TImode)
    1025           54 :           || !const_1_to_63_operand (operands[2], E_QImode)
    1026          121 :           || !scratch_operand (operands[3], E_DImode))
    1027           13 :         return -1;
    1028              :       return 1;
    1029              : 
    1030              :     default:
    1031              :       return -1;
    1032              :     }
    1033              : }
    1034              : 
    1035              : int
    1036         4355 : pattern245 (rtx x1)
    1037              : {
    1038         4355 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1039         4355 :   rtx x2, x3;
    1040         4355 :   int res ATTRIBUTE_UNUSED;
    1041         4355 :   if (GET_MODE (x1) != E_V1TImode
    1042         4355 :       || !register_operand (operands[0], E_V1TImode))
    1043         4324 :     return -1;
    1044           31 :   x2 = XEXP (x1, 0);
    1045           31 :   operands[1] = x2;
    1046           31 :   if (!register_operand (operands[1], E_V1TImode))
    1047              :     return -1;
    1048           31 :   x3 = XEXP (x1, 1);
    1049           31 :   operands[2] = x3;
    1050           31 :   if (!const_0_to_255_operand (operands[2], E_SImode))
    1051              :     return -1;
    1052              :   return 0;
    1053              : }
    1054              : 
    1055              : int
    1056          630 : pattern252 (rtx x1, machine_mode i1)
    1057              : {
    1058          630 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1059          630 :   rtx x2, x3, x4;
    1060          630 :   int res ATTRIBUTE_UNUSED;
    1061          630 :   if (!register_operand (operands[0], i1)
    1062          630 :       || GET_MODE (x1) != i1)
    1063              :     return -1;
    1064          630 :   x2 = XEXP (x1, 0);
    1065          630 :   operands[3] = x2;
    1066          630 :   if (!register_operand (operands[3], i1))
    1067              :     return -1;
    1068          538 :   x3 = XEXP (x1, 1);
    1069          538 :   operands[1] = x3;
    1070          538 :   if (!register_operand (operands[1], i1))
    1071              :     return -1;
    1072          396 :   x4 = XEXP (x1, 2);
    1073          396 :   operands[2] = x4;
    1074          396 :   if (!register_operand (operands[2], i1))
    1075              :     return -1;
    1076              :   return 0;
    1077              : }
    1078              : 
    1079              : int
    1080          525 : pattern263 (rtx x1, machine_mode i1)
    1081              : {
    1082          525 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1083          525 :   int res ATTRIBUTE_UNUSED;
    1084          525 :   if (!register_operand (operands[0], i1)
    1085          525 :       || GET_MODE (x1) != i1)
    1086              :     return -1;
    1087          507 :   return pattern262 (); /* [-1, 2] */
    1088              : }
    1089              : 
    1090              : int
    1091         1766 : pattern266 (rtx x1, int *pnum_clobbers, machine_mode i1)
    1092              : {
    1093         1766 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1094         1766 :   int res ATTRIBUTE_UNUSED;
    1095         1766 :   if (pnum_clobbers == NULL
    1096         1766 :       || !register_operand (operands[0], i1)
    1097         1678 :       || GET_MODE (x1) != i1
    1098         3444 :       || !general_operand (operands[1], i1))
    1099          516 :     return -1;
    1100              :   return 0;
    1101              : }
    1102              : 
    1103              : int
    1104         5389 : pattern275 (rtx x1)
    1105              : {
    1106         5389 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1107         5389 :   rtx x2, x3, x4, x5, x6;
    1108         5389 :   int res ATTRIBUTE_UNUSED;
    1109         5389 :   x2 = XEXP (x1, 0);
    1110         5389 :   if (XVECLEN (x2, 0) != 1
    1111         1555 :       || XINT (x2, 1) != 47
    1112          630 :       || GET_MODE (x2) != E_V4SImode)
    1113              :     return -1;
    1114          630 :   x3 = XEXP (x1, 1);
    1115          630 :   if (XVECLEN (x3, 0) != 2)
    1116              :     return -1;
    1117          630 :   x4 = XVECEXP (x3, 0, 0);
    1118          630 :   if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    1119              :     return -1;
    1120          630 :   x5 = XVECEXP (x3, 0, 1);
    1121          630 :   if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
    1122          630 :       || !register_operand (operands[0], E_V2SImode)
    1123         1259 :       || GET_MODE (x1) != E_V2SImode)
    1124            1 :     return -1;
    1125          629 :   x6 = XVECEXP (x2, 0, 0);
    1126          629 :   operands[1] = x6;
    1127          629 :   if (!nonimmediate_operand (operands[1], E_V4SFmode))
    1128              :     return -1;
    1129              :   return 0;
    1130              : }
    1131              : 
    1132              : int
    1133          160 : pattern285 (rtx x1)
    1134              : {
    1135          160 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1136          160 :   rtx x2;
    1137          160 :   int res ATTRIBUTE_UNUSED;
    1138          160 :   x2 = XEXP (x1, 1);
    1139          160 :   operands[3] = x2;
    1140          160 :   switch (GET_MODE (operands[0]))
    1141              :     {
    1142           58 :     case E_SImode:
    1143           58 :       return pattern284 (x1, 
    1144           58 : E_SImode); /* [-1, 0] */
    1145              : 
    1146           72 :     case E_DImode:
    1147           72 :       if (pattern284 (x1, 
    1148              : E_DImode) != 0)
    1149              :         return -1;
    1150              :       return 1;
    1151              : 
    1152              :     default:
    1153              :       return -1;
    1154              :     }
    1155              : }
    1156              : 
    1157              : int
    1158       154699 : pattern290 (rtx x1)
    1159              : {
    1160       154699 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1161       154699 :   rtx x2, x3, x4, x5, x6, x7;
    1162       154699 :   int res ATTRIBUTE_UNUSED;
    1163       154699 :   x2 = XEXP (x1, 0);
    1164       154699 :   x3 = XEXP (x2, 0);
    1165       154699 :   operands[1] = x3;
    1166       154699 :   x4 = XEXP (x1, 1);
    1167       154699 :   operands[2] = x4;
    1168       154699 :   x5 = XEXP (x2, 1);
    1169       154699 :   switch (GET_CODE (x5))
    1170              :     {
    1171        10237 :     case LTU:
    1172        10237 :     case UNLT:
    1173        10237 :       operands[4] = x5;
    1174        10237 :       x6 = XEXP (x5, 1);
    1175        10237 :       if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    1176              :         return -1;
    1177         9863 :       x7 = XEXP (x5, 0);
    1178         9863 :       operands[3] = x7;
    1179         9863 :       if (!flags_reg_operand (operands[3], E_VOIDmode))
    1180              :         return -1;
    1181              :       return 0;
    1182              : 
    1183          592 :     case EQ:
    1184          592 :       x6 = XEXP (x5, 1);
    1185          592 :       if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    1186              :         return -1;
    1187          484 :       x7 = XEXP (x5, 0);
    1188          484 :       operands[3] = x7;
    1189          484 :       if (!int_nonimmediate_operand (operands[3], E_VOIDmode))
    1190              :         return -1;
    1191              :       return 1;
    1192              : 
    1193              :     default:
    1194              :       return -1;
    1195              :     }
    1196              : }
    1197              : 
    1198              : int
    1199          178 : pattern303 (rtx x1)
    1200              : {
    1201          178 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1202          178 :   rtx x2;
    1203          178 :   int res ATTRIBUTE_UNUSED;
    1204          178 :   x2 = XVECEXP (x1, 0, 0);
    1205          178 :   operands[1] = x2;
    1206          178 :   switch (GET_MODE (operands[0]))
    1207              :     {
    1208           87 :     case E_SImode:
    1209           87 :       if (!register_operand (operands[0], E_SImode)
    1210           87 :           || GET_MODE (x1) != E_SImode
    1211          174 :           || !nonimmediate_operand (operands[1], E_SImode))
    1212            2 :         return -1;
    1213              :       return 0;
    1214              : 
    1215           88 :     case E_DImode:
    1216           88 :       if (!register_operand (operands[0], E_DImode)
    1217           88 :           || GET_MODE (x1) != E_DImode
    1218          176 :           || !nonimmediate_operand (operands[1], E_DImode))
    1219            2 :         return -1;
    1220              :       return 1;
    1221              : 
    1222              :     default:
    1223              :       return -1;
    1224              :     }
    1225              : }
    1226              : 
    1227              : int
    1228          261 : pattern311 (rtx x1, machine_mode i1, machine_mode i2)
    1229              : {
    1230          261 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1231          261 :   rtx x2, x3, x4;
    1232          261 :   int res ATTRIBUTE_UNUSED;
    1233          261 :   if (!register_operand (operands[0], i2)
    1234          261 :       || GET_MODE (x1) != i2)
    1235              :     return -1;
    1236          237 :   x2 = XEXP (x1, 0);
    1237          237 :   if (GET_MODE (x2) != i2)
    1238              :     return -1;
    1239          237 :   x3 = XEXP (x2, 0);
    1240          237 :   if (GET_MODE (x3) != i1)
    1241              :     return -1;
    1242          237 :   x4 = XEXP (x3, 0);
    1243          237 :   if (GET_MODE (x4) != i1
    1244          237 :       || !register_operand (operands[1], i2)
    1245          446 :       || !nonimmediate_operand (operands[2], i1))
    1246          149 :     return -1;
    1247              :   return 0;
    1248              : }
    1249              : 
    1250              : int
    1251           65 : pattern318 (rtx x1, machine_mode i1, machine_mode i2)
    1252              : {
    1253           65 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1254           65 :   rtx x2;
    1255           65 :   int res ATTRIBUTE_UNUSED;
    1256           65 :   if (!register_operand (operands[0], i1)
    1257           65 :       || GET_MODE (x1) != i1)
    1258              :     return -1;
    1259           65 :   x2 = XEXP (x1, 2);
    1260           65 :   if (GET_MODE (x2) != i2
    1261           65 :       || !nonimmediate_operand (operands[3], i1)
    1262          124 :       || !nonimmediate_operand (operands[4], i1))
    1263            6 :     return -1;
    1264              :   return 0;
    1265              : }
    1266              : 
    1267              : int
    1268       164740 : pattern323 (rtx x1)
    1269              : {
    1270       164740 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1271       164740 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    1272       164740 :   rtx x10;
    1273       164740 :   int res ATTRIBUTE_UNUSED;
    1274       164740 :   x2 = XEXP (x1, 1);
    1275       164740 :   operands[2] = x2;
    1276       164740 :   x3 = XEXP (x1, 2);
    1277       164740 :   if (GET_MODE (x3) != E_QImode)
    1278              :     return -1;
    1279        18810 :   switch (GET_CODE (x3))
    1280              :     {
    1281         5633 :     case UNSPEC:
    1282         5633 :       if (XVECLEN (x3, 0) != 3
    1283         5633 :           || XINT (x3, 1) != 60)
    1284              :         return -1;
    1285         5221 :       x4 = XVECEXP (x3, 0, 0);
    1286         5221 :       operands[3] = x4;
    1287         5221 :       x5 = XVECEXP (x3, 0, 1);
    1288         5221 :       operands[4] = x5;
    1289         5221 :       x6 = XVECEXP (x3, 0, 2);
    1290         5221 :       operands[5] = x6;
    1291         5221 :       if (!const_0_to_31_operand (operands[5], E_SImode))
    1292              :         return -1;
    1293         5221 :       switch (GET_MODE (operands[0]))
    1294              :         {
    1295          151 :         case E_V8SFmode:
    1296          151 :           return pattern321 (x1, 
    1297          151 : E_V8SFmode); /* [-1, 0] */
    1298              : 
    1299          181 :         case E_V4SFmode:
    1300          181 :           if (pattern321 (x1, 
    1301              : E_V4SFmode) != 0)
    1302              :             return -1;
    1303              :           return 1;
    1304              : 
    1305          155 :         case E_V4DFmode:
    1306          155 :           if (pattern321 (x1, 
    1307              : E_V4DFmode) != 0)
    1308              :             return -1;
    1309              :           return 2;
    1310              : 
    1311          121 :         case E_V2DFmode:
    1312          121 :           if (pattern321 (x1, 
    1313              : E_V2DFmode) != 0)
    1314              :             return -1;
    1315              :           return 3;
    1316              : 
    1317              :         default:
    1318              :           return -1;
    1319              :         }
    1320              : 
    1321            9 :     case NOT:
    1322            9 :       x7 = XEXP (x3, 0);
    1323            9 :       if (GET_CODE (x7) != UNSPEC
    1324            0 :           || XVECLEN (x7, 0) != 3
    1325            0 :           || XINT (x7, 1) != 60
    1326            0 :           || GET_MODE (x7) != E_QImode)
    1327              :         return -1;
    1328            0 :       x8 = XVECEXP (x7, 0, 0);
    1329            0 :       operands[3] = x8;
    1330            0 :       x9 = XVECEXP (x7, 0, 1);
    1331            0 :       operands[4] = x9;
    1332            0 :       x10 = XVECEXP (x7, 0, 2);
    1333            0 :       operands[5] = x10;
    1334            0 :       if (!const_0_to_31_operand (operands[5], E_SImode))
    1335              :         return -1;
    1336            0 :       switch (GET_MODE (operands[0]))
    1337              :         {
    1338            0 :         case E_V8SFmode:
    1339            0 :           if (pattern322 (x1, 
    1340              : E_V8SFmode) != 0)
    1341              :             return -1;
    1342              :           return 4;
    1343              : 
    1344            0 :         case E_V4SFmode:
    1345            0 :           if (pattern322 (x1, 
    1346              : E_V4SFmode) != 0)
    1347              :             return -1;
    1348              :           return 5;
    1349              : 
    1350            0 :         case E_V4DFmode:
    1351            0 :           if (pattern322 (x1, 
    1352              : E_V4DFmode) != 0)
    1353              :             return -1;
    1354              :           return 6;
    1355              : 
    1356            0 :         case E_V2DFmode:
    1357            0 :           if (pattern322 (x1, 
    1358              : E_V2DFmode) != 0)
    1359              :             return -1;
    1360              :           return 7;
    1361              : 
    1362              :         default:
    1363              :           return -1;
    1364              :         }
    1365              : 
    1366              :     default:
    1367              :       return -1;
    1368              :     }
    1369              : }
    1370              : 
    1371              : int
    1372        49760 : pattern340 (rtx x1)
    1373              : {
    1374        49760 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1375        49760 :   int res ATTRIBUTE_UNUSED;
    1376        49760 :   switch (GET_MODE (operands[0]))
    1377              :     {
    1378        26186 :     case E_SImode:
    1379        26186 :       if (!nonimmediate_operand (operands[0], E_SImode)
    1380        26174 :           || GET_MODE (x1) != E_SImode
    1381        52360 :           || !nonimmediate_operand (operands[1], E_SImode))
    1382         2470 :         return -1;
    1383              :       return 0;
    1384              : 
    1385        22243 :     case E_DImode:
    1386        22243 :       if (!nonimmediate_operand (operands[0], E_DImode)
    1387        22231 :           || GET_MODE (x1) != E_DImode
    1388        44474 :           || !nonimmediate_operand (operands[1], E_DImode))
    1389         4278 :         return -1;
    1390              :       return 1;
    1391              : 
    1392              :     default:
    1393              :       return -1;
    1394              :     }
    1395              : }
    1396              : 
    1397              : int
    1398      8821257 : pattern343 (rtx x1)
    1399              : {
    1400      8821257 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1401      8821257 :   rtx x2, x3, x4, x5, x6, x7;
    1402      8821257 :   int res ATTRIBUTE_UNUSED;
    1403      8821257 :   x2 = XVECEXP (x1, 0, 0);
    1404      8821257 :   x3 = XEXP (x2, 1);
    1405      8821257 :   x4 = XEXP (x3, 0);
    1406      8821257 :   operands[1] = x4;
    1407      8821257 :   x5 = XEXP (x3, 1);
    1408      8821257 :   switch (GET_CODE (x5))
    1409              :     {
    1410              :     case CONST_INT:
    1411              :     case CONST_WIDE_INT:
    1412              :     case CONST_POLY_INT:
    1413              :     case CONST_FIXED:
    1414              :     case CONST_DOUBLE:
    1415              :     case CONST_VECTOR:
    1416              :     case CONST:
    1417              :     case REG:
    1418              :     case SUBREG:
    1419              :     case LABEL_REF:
    1420              :     case SYMBOL_REF:
    1421              :     case HIGH:
    1422              :       return 0;
    1423              : 
    1424         4844 :     case AND:
    1425         4844 :       if (GET_MODE (x5) != E_QImode)
    1426              :         return -1;
    1427         4604 :       x6 = XVECEXP (x1, 0, 1);
    1428         4604 :       if (GET_CODE (x6) != CLOBBER)
    1429              :         return -1;
    1430         4437 :       x7 = XEXP (x6, 0);
    1431         4437 :       if (GET_CODE (x7) != REG
    1432         4437 :           || REGNO (x7) != 17
    1433         8874 :           || GET_MODE (x7) != E_CCmode)
    1434              :         return -1;
    1435         4437 :       res = pattern339 (x2);
    1436         4437 :       if (res >= 0)
    1437         3423 :         return res + 1; /* [1, 3] */
    1438              :       return -1;
    1439              : 
    1440        20619 :     case PLUS:
    1441        20619 :       if (GET_MODE (x5) != E_QImode)
    1442              :         return -1;
    1443        20619 :       x6 = XVECEXP (x1, 0, 1);
    1444        20619 :       if (GET_CODE (x6) != CLOBBER)
    1445              :         return -1;
    1446        18522 :       x7 = XEXP (x6, 0);
    1447        18522 :       if (GET_CODE (x7) != REG
    1448        18522 :           || REGNO (x7) != 17
    1449        37044 :           || GET_MODE (x7) != E_CCmode)
    1450              :         return -1;
    1451        18522 :       res = pattern341 (x2);
    1452        18522 :       if (res >= 0)
    1453        14541 :         return res + 4; /* [4, 5] */
    1454              :       return -1;
    1455              : 
    1456        15672 :     case MINUS:
    1457        15672 :       if (GET_MODE (x5) != E_QImode)
    1458              :         return -1;
    1459        15640 :       x6 = XVECEXP (x1, 0, 1);
    1460        15640 :       if (GET_CODE (x6) != CLOBBER)
    1461              :         return -1;
    1462        12144 :       x7 = XEXP (x6, 0);
    1463        12144 :       if (GET_CODE (x7) != REG
    1464        12144 :           || REGNO (x7) != 17
    1465        24288 :           || GET_MODE (x7) != E_CCmode)
    1466              :         return -1;
    1467        12144 :       res = pattern342 (x2);
    1468        12144 :       if (res >= 0)
    1469         2583 :         return res + 6; /* [6, 7] */
    1470              :       return -1;
    1471              : 
    1472              :     default:
    1473              :       return -1;
    1474              :     }
    1475              : }
    1476              : 
    1477              : int
    1478         7976 : pattern358 (rtx x1)
    1479              : {
    1480         7976 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1481         7976 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    1482         7976 :   rtx x10;
    1483         7976 :   int res ATTRIBUTE_UNUSED;
    1484         7976 :   x2 = XEXP (x1, 0);
    1485         7976 :   x3 = XEXP (x2, 0);
    1486         7976 :   x4 = XEXP (x3, 0);
    1487         7976 :   x5 = XEXP (x4, 0);
    1488         7976 :   operands[2] = x5;
    1489         7976 :   x6 = XEXP (x3, 1);
    1490         7976 :   operands[3] = x6;
    1491         7976 :   if (!const_int_operand (operands[3], E_QImode))
    1492              :     return -1;
    1493         7976 :   x7 = XEXP (x2, 1);
    1494         7976 :   x8 = XEXP (x7, 0);
    1495         7976 :   operands[4] = x8;
    1496         7976 :   x9 = XEXP (x1, 1);
    1497         7976 :   switch (GET_CODE (x9))
    1498              :     {
    1499         4542 :     case REG:
    1500         4542 :     case SUBREG:
    1501         4542 :       operands[1] = x9;
    1502         4542 :       switch (GET_MODE (operands[0]))
    1503              :         {
    1504           27 :         case E_DImode:
    1505           27 :           return pattern356 (x1, 
    1506              : E_DImode, 
    1507           27 : E_SImode); /* [-1, 0] */
    1508              : 
    1509         4515 :         case E_TImode:
    1510         4515 :           if (pattern356 (x1, 
    1511              : E_TImode, 
    1512              : E_DImode) != 0)
    1513              :             return -1;
    1514              :           return 1;
    1515              : 
    1516              :         default:
    1517              :           return -1;
    1518              :         }
    1519              : 
    1520           39 :     case ZERO_EXTEND:
    1521           39 :       x10 = XEXP (x9, 0);
    1522           39 :       operands[1] = x10;
    1523           39 :       switch (GET_MODE (operands[0]))
    1524              :         {
    1525            0 :         case E_DImode:
    1526            0 :           if (pattern357 (x1, 
    1527              : E_SImode, 
    1528              : E_DImode) != 0)
    1529              :             return -1;
    1530              :           return 2;
    1531              : 
    1532           39 :         case E_TImode:
    1533           39 :           if (pattern357 (x1, 
    1534              : E_DImode, 
    1535              : E_TImode) != 0)
    1536              :             return -1;
    1537              :           return 3;
    1538              : 
    1539              :         default:
    1540              :           return -1;
    1541              :         }
    1542              : 
    1543              :     default:
    1544              :       return -1;
    1545              :     }
    1546              : }
    1547              : 
    1548              : int
    1549       822930 : pattern371 (rtx x1)
    1550              : {
    1551       822930 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1552       822930 :   rtx x2, x3, x4, x5, x6, x7, x8;
    1553       822930 :   int res ATTRIBUTE_UNUSED;
    1554       822930 :   x2 = XVECEXP (x1, 0, 0);
    1555       822930 :   x3 = XEXP (x2, 1);
    1556       822930 :   x4 = XEXP (x3, 0);
    1557       822930 :   if (GET_CODE (x4) != REG
    1558       822930 :       || REGNO (x4) != 17)
    1559              :     return -1;
    1560        16070 :   x5 = XEXP (x3, 1);
    1561        16070 :   if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    1562              :     return -1;
    1563        16070 :   x6 = XVECEXP (x1, 0, 1);
    1564        16070 :   if (GET_CODE (x6) != CLOBBER)
    1565              :     return -1;
    1566        10072 :   x7 = XEXP (x6, 0);
    1567        10072 :   if (GET_CODE (x7) != REG
    1568        10072 :       || REGNO (x7) != 17
    1569        20010 :       || GET_MODE (x7) != E_CCmode)
    1570              :     return -1;
    1571         9938 :   x8 = XEXP (x2, 0);
    1572         9938 :   operands[0] = x8;
    1573         9938 :   switch (GET_MODE (operands[0]))
    1574              :     {
    1575           11 :     case E_HImode:
    1576           11 :       if (!register_operand (operands[0], E_HImode)
    1577           11 :           || !ix86_comparison_operator (operands[1], E_HImode))
    1578            0 :         return -1;
    1579              :       return 0;
    1580              : 
    1581         1711 :     case E_SImode:
    1582         1711 :       if (!register_operand (operands[0], E_SImode)
    1583         1711 :           || !ix86_comparison_operator (operands[1], E_SImode))
    1584            0 :         return -1;
    1585              :       return 1;
    1586              : 
    1587              :     default:
    1588              :       return -1;
    1589              :     }
    1590              : }
    1591              : 
    1592              : int
    1593       173980 : pattern382 (rtx x1)
    1594              : {
    1595       173980 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1596       173980 :   rtx x2, x3, x4, x5, x6;
    1597       173980 :   int res ATTRIBUTE_UNUSED;
    1598       173980 :   x2 = XEXP (x1, 0);
    1599       173980 :   operands[0] = x2;
    1600       173980 :   x3 = XEXP (x1, 1);
    1601       173980 :   x4 = XEXP (x3, 0);
    1602       173980 :   x5 = XEXP (x4, 0);
    1603       173980 :   operands[1] = x5;
    1604       173980 :   x6 = XEXP (x3, 1);
    1605       173980 :   operands[2] = x6;
    1606       173980 :   if (!const_int_operand (operands[2], E_QImode))
    1607              :     return -1;
    1608       167596 :   switch (GET_MODE (operands[0]))
    1609              :     {
    1610       137520 :     case E_DImode:
    1611       137520 :       return pattern381 (x3, 
    1612              : E_SImode, 
    1613       137520 : E_DImode); /* [-1, 0] */
    1614              : 
    1615         4351 :     case E_TImode:
    1616         4351 :       if (pattern381 (x3, 
    1617              : E_DImode, 
    1618              : E_TImode) != 0)
    1619              :         return -1;
    1620              :       return 1;
    1621              : 
    1622              :     default:
    1623              :       return -1;
    1624              :     }
    1625              : }
    1626              : 
    1627              : int
    1628        87019 : pattern394 (rtx x1)
    1629              : {
    1630        87019 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1631        87019 :   rtx x2, x3;
    1632        87019 :   int res ATTRIBUTE_UNUSED;
    1633        87019 :   x2 = XVECEXP (x1, 0, 2);
    1634        87019 :   x3 = XEXP (x2, 0);
    1635        87019 :   operands[4] = x3;
    1636        87019 :   switch (GET_MODE (operands[0]))
    1637              :     {
    1638          804 :     case E_HImode:
    1639          804 :       return pattern393 (x1, 
    1640          804 : E_HImode); /* [-1, 0] */
    1641              : 
    1642        27736 :     case E_SImode:
    1643        27736 :       if (pattern393 (x1, 
    1644              : E_SImode) != 0)
    1645              :         return -1;
    1646              :       return 1;
    1647              : 
    1648        58479 :     case E_DImode:
    1649        58479 :       if (pattern393 (x1, 
    1650              : E_DImode) != 0)
    1651              :         return -1;
    1652              :       return 2;
    1653              : 
    1654              :     default:
    1655              :       return -1;
    1656              :     }
    1657              : }
    1658              : 
    1659              : int
    1660       810373 : pattern400 (rtx x1)
    1661              : {
    1662       810373 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1663       810373 :   rtx x2, x3, x4, x5;
    1664       810373 :   int res ATTRIBUTE_UNUSED;
    1665       810373 :   x2 = XEXP (x1, 0);
    1666       810373 :   x3 = XEXP (x2, 0);
    1667       810373 :   operands[1] = x3;
    1668       810373 :   x4 = XEXP (x2, 1);
    1669       810373 :   operands[2] = x4;
    1670       810373 :   if (!const248_operand (operands[2], E_VOIDmode))
    1671              :     return -1;
    1672        13753 :   x5 = XEXP (x1, 1);
    1673        13753 :   operands[3] = x5;
    1674        13753 :   switch (GET_MODE (operands[0]))
    1675              :     {
    1676          766 :     case E_QImode:
    1677          766 :       return pattern399 (x1, 
    1678          766 : E_QImode); /* [-1, 0] */
    1679              : 
    1680            0 :     case E_HImode:
    1681            0 :       if (pattern399 (x1, 
    1682              : E_HImode) != 0)
    1683              :         return -1;
    1684              :       return 1;
    1685              : 
    1686              :     default:
    1687              :       return -1;
    1688              :     }
    1689              : }
    1690              : 
    1691              : int
    1692         2710 : pattern409 (rtx x1)
    1693              : {
    1694         2710 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1695         2710 :   rtx x2, x3, x4, x5, x6, x7;
    1696         2710 :   int res ATTRIBUTE_UNUSED;
    1697         2710 :   x2 = XVECEXP (x1, 0, 1);
    1698         2710 :   if (GET_CODE (x2) != CLOBBER)
    1699              :     return -1;
    1700         2710 :   x3 = XEXP (x2, 0);
    1701         2710 :   if (GET_CODE (x3) != REG
    1702         2710 :       || REGNO (x3) != 17
    1703         5347 :       || GET_MODE (x3) != E_CCmode)
    1704              :     return -1;
    1705         2637 :   x4 = XVECEXP (x1, 0, 0);
    1706         2637 :   x5 = XEXP (x4, 0);
    1707         2637 :   operands[0] = x5;
    1708         2637 :   x6 = XEXP (x4, 1);
    1709         2637 :   x7 = XEXP (x6, 0);
    1710         2637 :   operands[1] = x7;
    1711         2637 :   return pattern408 (x6); /* [-1, 1] */
    1712              : }
    1713              : 
    1714              : int
    1715        74506 : pattern416 (rtx x1)
    1716              : {
    1717        74506 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1718        74506 :   rtx x2, x3, x4, x5, x6;
    1719        74506 :   int res ATTRIBUTE_UNUSED;
    1720        74506 :   x2 = XEXP (x1, 0);
    1721        74506 :   x3 = XEXP (x2, 1);
    1722        74506 :   if (GET_CODE (x3) != UNSPEC
    1723          303 :       || XVECLEN (x3, 0) != 1
    1724          303 :       || XINT (x3, 1) != 148)
    1725              :     return -1;
    1726          295 :   x4 = XVECEXP (x3, 0, 0);
    1727          295 :   if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    1728              :     return -1;
    1729          295 :   x5 = XEXP (x1, 1);
    1730          295 :   if (GET_CODE (x5) != UNSPEC
    1731          295 :       || XVECLEN (x5, 0) != 1
    1732          295 :       || XINT (x5, 1) != 148)
    1733              :     return -1;
    1734          295 :   x6 = XVECEXP (x5, 0, 0);
    1735          295 :   if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    1736            0 :     return -1;
    1737              :   return 0;
    1738              : }
    1739              : 
    1740              : int
    1741      3915870 : pattern421 (rtx x1, rtx_code i1, int i2)
    1742              : {
    1743      3915870 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1744      3915870 :   rtx x2, x3;
    1745      3915870 :   int res ATTRIBUTE_UNUSED;
    1746      3915870 :   if (GET_CODE (x1) != PARALLEL
    1747       485292 :       || XVECLEN (x1, 0) != i2)
    1748              :     return -1;
    1749       296660 :   x2 = XVECEXP (x1, 0, 0);
    1750       296660 :   if (GET_CODE (x2) != SET)
    1751              :     return -1;
    1752       294581 :   x3 = XEXP (x2, 1);
    1753       294581 :   if (GET_CODE (x3) != i1)
    1754       265848 :     return -1;
    1755              :   return 0;
    1756              : }
    1757              : 
    1758              : int
    1759      4087487 : pattern426 (rtx x1, int *pnum_clobbers)
    1760              : {
    1761      4087487 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1762      4087487 :   rtx x2, x3, x4;
    1763      4087487 :   int res ATTRIBUTE_UNUSED;
    1764      4087487 :   x2 = XEXP (x1, 0);
    1765      4087487 :   switch (GET_CODE (x2))
    1766              :     {
    1767      4084278 :     case REG:
    1768      4084278 :     case SUBREG:
    1769      4084278 :     case MEM:
    1770      4084278 :       operands[0] = x2;
    1771      4084278 :       return 0;
    1772              : 
    1773          164 :     case STRICT_LOW_PART:
    1774          164 :       if (pnum_clobbers == NULL)
    1775              :         return -1;
    1776          164 :       x3 = XEXP (x2, 0);
    1777          164 :       operands[0] = x3;
    1778          164 :       if (!nonmemory_operand (operands[2], E_QImode))
    1779              :         return -1;
    1780          143 :       x4 = XEXP (x1, 1);
    1781          143 :       res = pattern41 (x4);
    1782          143 :       if (res >= 0)
    1783           99 :         return res + 1; /* [1, 2] */
    1784              :       return -1;
    1785              : 
    1786              :     default:
    1787              :       return -1;
    1788              :     }
    1789              : }
    1790              : 
    1791              : int
    1792         1447 : pattern435 (rtx x1, int *pnum_clobbers)
    1793              : {
    1794         1447 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1795         1447 :   rtx x2, x3, x4, x5, x6, x7;
    1796         1447 :   int res ATTRIBUTE_UNUSED;
    1797         1447 :   if (pnum_clobbers == NULL)
    1798              :     return -1;
    1799         1447 :   x2 = XEXP (x1, 0);
    1800         1447 :   x3 = XEXP (x2, 0);
    1801         1447 :   x4 = XEXP (x3, 1);
    1802         1447 :   if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    1803              :     return -1;
    1804         1350 :   x5 = XEXP (x3, 0);
    1805         1350 :   operands[3] = x5;
    1806         1350 :   if (!int_nonimmediate_operand (operands[3], E_VOIDmode))
    1807              :     return -1;
    1808          858 :   x6 = XEXP (x2, 1);
    1809          858 :   operands[1] = x6;
    1810          858 :   x7 = XEXP (x1, 1);
    1811          858 :   operands[2] = x7;
    1812          858 :   switch (GET_MODE (operands[0]))
    1813              :     {
    1814              :     case E_QImode:
    1815              :       return 0;
    1816              : 
    1817            0 :     case E_HImode:
    1818            0 :       return 1;
    1819              : 
    1820              :     default:
    1821              :       return -1;
    1822              :     }
    1823              : }
    1824              : 
    1825              : int
    1826          110 : pattern446 (rtx x1, machine_mode i1)
    1827              : {
    1828          110 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1829          110 :   rtx x2, x3, x4;
    1830          110 :   int res ATTRIBUTE_UNUSED;
    1831          110 :   if (GET_MODE (x1) != i1)
    1832              :     return -1;
    1833          110 :   x2 = XEXP (x1, 0);
    1834          110 :   if (GET_MODE (x2) != i1)
    1835              :     return -1;
    1836          110 :   x3 = XEXP (x1, 1);
    1837          110 :   if (GET_MODE (x3) != i1)
    1838              :     return -1;
    1839          110 :   x4 = XEXP (x3, 0);
    1840          110 :   if (!register_operand (x4, i1))
    1841              :     return -1;
    1842              :   return 0;
    1843              : }
    1844              : 
    1845              : int
    1846        15538 : pattern452 (rtx x1)
    1847              : {
    1848        15538 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1849        15538 :   rtx x2, x3, x4;
    1850        15538 :   int res ATTRIBUTE_UNUSED;
    1851        15538 :   x2 = XEXP (x1, 1);
    1852        15538 :   x3 = XEXP (x2, 0);
    1853        15538 :   x4 = XEXP (x3, 1);
    1854        15538 :   operands[3] = x4;
    1855        15538 :   if (!const_int_operand (operands[3], E_VOIDmode))
    1856              :     return -1;
    1857        15522 :   return pattern14 (x1); /* [-1, 1] */
    1858              : }
    1859              : 
    1860              : int
    1861            0 : pattern456 (rtx x1)
    1862              : {
    1863            0 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1864            0 :   rtx x2, x3, x4, x5, x6, x7;
    1865            0 :   int res ATTRIBUTE_UNUSED;
    1866            0 :   x2 = XVECEXP (x1, 0, 0);
    1867            0 :   x3 = XEXP (x2, 0);
    1868            0 :   if (GET_CODE (x3) != VEC_SELECT)
    1869              :     return -1;
    1870            0 :   x4 = XEXP (x3, 1);
    1871            0 :   if (GET_CODE (x4) != PARALLEL
    1872            0 :       || XVECLEN (x4, 0) != 1)
    1873              :     return -1;
    1874            0 :   x5 = XVECEXP (x4, 0, 0);
    1875            0 :   if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    1876              :     return -1;
    1877            0 :   x6 = XEXP (x3, 0);
    1878            0 :   operands[1] = x6;
    1879            0 :   x7 = XVECEXP (x1, 0, 1);
    1880            0 :   operands[2] = x7;
    1881            0 :   if (!const48_operand (operands[2], E_SImode))
    1882              :     return -1;
    1883            0 :   switch (GET_MODE (operands[0]))
    1884              :     {
    1885            0 :     case E_SImode:
    1886            0 :       return pattern455 (x1, 
    1887            0 : E_SImode); /* [-1, 2] */
    1888              : 
    1889            0 :     case E_DImode:
    1890            0 :       res = pattern455 (x1, 
    1891              : E_DImode);
    1892            0 :       if (res >= 0)
    1893            0 :         return res + 3; /* [3, 5] */
    1894              :       return -1;
    1895              : 
    1896              :     default:
    1897              :       return -1;
    1898              :     }
    1899              : }
    1900              : 
    1901              : int
    1902         2812 : pattern467 (rtx x1)
    1903              : {
    1904         2812 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1905         2812 :   rtx x2, x3, x4, x5, x6;
    1906         2812 :   int res ATTRIBUTE_UNUSED;
    1907         2812 :   x2 = XEXP (x1, 0);
    1908         2812 :   x3 = XVECEXP (x2, 0, 0);
    1909         2812 :   operands[1] = x3;
    1910         2812 :   x4 = XVECEXP (x2, 0, 1);
    1911         2812 :   operands[2] = x4;
    1912         2812 :   x5 = XEXP (x1, 1);
    1913         2812 :   operands[3] = x5;
    1914         2812 :   x6 = XEXP (x1, 2);
    1915         2812 :   operands[4] = x6;
    1916         2812 :   switch (GET_MODE (operands[0]))
    1917              :     {
    1918          960 :     case E_V64QImode:
    1919          960 :       return pattern466 (x1, 
    1920              : E_DImode, 
    1921              : E_V64QImode, 
    1922          960 : E_V32HFmode); /* [-1, 0] */
    1923              : 
    1924          944 :     case E_V32QImode:
    1925          944 :       if (pattern466 (x1, 
    1926              : E_SImode, 
    1927              : E_V32QImode, 
    1928              : E_V16HFmode) != 0)
    1929              :         return -1;
    1930              :       return 1;
    1931              : 
    1932          908 :     case E_V16QImode:
    1933          908 :       if (pattern466 (x1, 
    1934              : E_HImode, 
    1935              : E_V16QImode, 
    1936              : E_V8HFmode) != 0)
    1937              :         return -1;
    1938              :       return 2;
    1939              : 
    1940              :     default:
    1941              :       return -1;
    1942              :     }
    1943              : }
    1944              : 
    1945              : int
    1946          760 : pattern478 (rtx x1, machine_mode i1)
    1947              : {
    1948          760 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1949          760 :   rtx x2;
    1950          760 :   int res ATTRIBUTE_UNUSED;
    1951          760 :   if (!register_operand (operands[0], i1)
    1952          760 :       || GET_MODE (x1) != i1)
    1953              :     return -1;
    1954          710 :   x2 = XEXP (x1, 0);
    1955          710 :   if (GET_MODE (x2) != i1
    1956          710 :       || !register_operand (operands[1], i1)
    1957          710 :       || !register_operand (operands[2], i1)
    1958         1394 :       || !nonimmediate_operand (operands[3], i1))
    1959           26 :     return -1;
    1960              :   return 0;
    1961              : }
    1962              : 
    1963              : int
    1964         5220 : pattern483 (machine_mode i1, machine_mode i2)
    1965              : {
    1966         5220 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1967         5220 :   int res ATTRIBUTE_UNUSED;
    1968         5220 :   if (!register_operand (operands[2], i1)
    1969         5197 :       || !nonimmediate_operand (operands[3], i1)
    1970         5179 :       || !const0_operand (operands[4], i1)
    1971        10399 :       || !register_operand (operands[5], i2))
    1972          293 :     return -1;
    1973              :   return 0;
    1974              : }
    1975              : 
    1976              : int
    1977         7728 : pattern488 (rtx x1)
    1978              : {
    1979         7728 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1980         7728 :   rtx x2, x3, x4, x5, x6, x7;
    1981         7728 :   int res ATTRIBUTE_UNUSED;
    1982         7728 :   x2 = XEXP (x1, 0);
    1983         7728 :   x3 = XVECEXP (x2, 0, 0);
    1984         7728 :   operands[1] = x3;
    1985         7728 :   x4 = XVECEXP (x2, 0, 1);
    1986         7728 :   operands[2] = x4;
    1987         7728 :   x5 = XVECEXP (x2, 0, 2);
    1988         7728 :   operands[3] = x5;
    1989         7728 :   x6 = XEXP (x1, 2);
    1990         7728 :   operands[4] = x6;
    1991         7728 :   x7 = XEXP (x1, 1);
    1992         7728 :   switch (GET_CODE (x7))
    1993              :     {
    1994         3792 :     case REG:
    1995         3792 :     case SUBREG:
    1996         3792 :       if (!rtx_equal_p (x7, operands[1]))
    1997              :         return -1;
    1998         3792 :       switch (GET_MODE (operands[0]))
    1999              :         {
    2000         1284 :         case E_V16SImode:
    2001         1284 :           return pattern482 (x1, 
    2002              : E_V16SImode, 
    2003         1284 : E_HImode); /* [-1, 0] */
    2004              : 
    2005         1284 :         case E_V8SImode:
    2006         1284 :           if (pattern482 (x1, 
    2007              : E_V8SImode, 
    2008              : E_QImode) != 0)
    2009              :             return -1;
    2010              :           return 1;
    2011              : 
    2012         1224 :         case E_V4SImode:
    2013         1224 :           if (pattern482 (x1, 
    2014              : E_V4SImode, 
    2015              : E_QImode) != 0)
    2016              :             return -1;
    2017              :           return 2;
    2018              : 
    2019              :         default:
    2020              :           return -1;
    2021              :         }
    2022              : 
    2023         3876 :     case CONST_INT:
    2024         3876 :     case CONST_DOUBLE:
    2025         3876 :     case CONST_VECTOR:
    2026         3876 :       operands[5] = x7;
    2027         3876 :       switch (GET_MODE (operands[0]))
    2028              :         {
    2029         1320 :         case E_V16SImode:
    2030         1320 :           if (pattern487 (x1, 
    2031              : E_V16SImode, 
    2032              : E_HImode) != 0)
    2033              :             return -1;
    2034              :           return 3;
    2035              : 
    2036         1320 :         case E_V8SImode:
    2037         1320 :           if (pattern487 (x1, 
    2038              : E_V8SImode, 
    2039              : E_QImode) != 0)
    2040              :             return -1;
    2041              :           return 4;
    2042              : 
    2043         1236 :         case E_V4SImode:
    2044         1236 :           if (pattern487 (x1, 
    2045              : E_V4SImode, 
    2046              : E_QImode) != 0)
    2047              :             return -1;
    2048              :           return 5;
    2049              : 
    2050              :         default:
    2051              :           return -1;
    2052              :         }
    2053              : 
    2054              :     default:
    2055              :       return -1;
    2056              :     }
    2057              : }
    2058              : 
    2059              : int
    2060          971 : pattern500 (rtx x1, machine_mode i1)
    2061              : {
    2062          971 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2063          971 :   rtx x2, x3, x4, x5, x6, x7;
    2064          971 :   int res ATTRIBUTE_UNUSED;
    2065          971 :   x2 = XEXP (x1, 0);
    2066          971 :   x3 = XEXP (x2, 1);
    2067          971 :   x4 = XEXP (x3, 1);
    2068          971 :   x5 = XVECEXP (x4, 0, 0);
    2069          971 :   if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2070              :     return -1;
    2071          971 :   x6 = XVECEXP (x4, 0, 1);
    2072          971 :   if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    2073              :     return -1;
    2074          971 :   switch (GET_MODE (operands[0]))
    2075              :     {
    2076          495 :     case E_V8HFmode:
    2077          495 :       if (!register_operand (operands[0], E_V8HFmode)
    2078          483 :           || GET_MODE (x1) != E_V8HFmode
    2079          978 :           || GET_MODE (x2) != E_V2HFmode)
    2080              :         return -1;
    2081          483 :       x7 = XEXP (x2, 0);
    2082          483 :       if (GET_MODE (x7) != E_V2HFmode
    2083          483 :           || !vector_operand (operands[1], i1)
    2084          483 :           || GET_MODE (x3) != E_V2HFmode
    2085          483 :           || !nonimm_or_0_operand (operands[2], E_V8HFmode)
    2086          963 :           || !const0_operand (operands[4], E_V6HFmode))
    2087            3 :         return -1;
    2088              :       return 0;
    2089              : 
    2090          476 :     case E_V4SFmode:
    2091          476 :       if (pattern499 (x1, 
    2092              : E_V2SFmode, 
    2093              : E_V4SFmode, 
    2094              : i1) != 0)
    2095              :         return -1;
    2096              :       return 1;
    2097              : 
    2098              :     default:
    2099              :       return -1;
    2100              :     }
    2101              : }
    2102              : 
    2103              : int
    2104         1746 : pattern508 ()
    2105              : {
    2106         1746 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2107         1746 :   int res ATTRIBUTE_UNUSED;
    2108         1746 :   switch (GET_MODE (operands[1]))
    2109              :     {
    2110          576 :     case E_V8HImode:
    2111          576 :       if (!register_operand (operands[1], E_V8HImode))
    2112              :         return -1;
    2113              :       return 0;
    2114              : 
    2115          588 :     case E_V8SImode:
    2116          588 :       if (!register_operand (operands[1], E_V8SImode))
    2117              :         return -1;
    2118              :       return 1;
    2119              : 
    2120          582 :     case E_V8DImode:
    2121          582 :       if (!register_operand (operands[1], E_V8DImode))
    2122              :         return -1;
    2123              :       return 2;
    2124              : 
    2125              :     default:
    2126              :       return -1;
    2127              :     }
    2128              : }
    2129              : 
    2130              : int
    2131         2632 : pattern514 (rtx x1)
    2132              : {
    2133         2632 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2134         2632 :   rtx x2;
    2135         2632 :   int res ATTRIBUTE_UNUSED;
    2136         2632 :   switch (GET_MODE (operands[0]))
    2137              :     {
    2138         1470 :     case E_V16QImode:
    2139         1470 :       if (!register_operand (operands[0], E_V16QImode)
    2140         1470 :           || GET_MODE (x1) != E_V16QImode)
    2141              :         return -1;
    2142         1454 :       x2 = XEXP (x1, 0);
    2143         1454 :       switch (GET_MODE (x2))
    2144              :         {
    2145          397 :         case E_V4QImode:
    2146          397 :           return pattern513 (
    2147          397 : E_V12QImode); /* [-1, 1] */
    2148              : 
    2149          181 :         case E_V2QImode:
    2150          181 :           if (!register_operand (operands[1], E_V2DImode)
    2151          181 :               || !const0_operand (operands[2], E_V14QImode))
    2152            5 :             return -1;
    2153              :           return 2;
    2154              : 
    2155          876 :         case E_V8QImode:
    2156          876 :           if (!const0_operand (operands[2], E_V8QImode))
    2157              :             return -1;
    2158          874 :           switch (GET_MODE (operands[1]))
    2159              :             {
    2160          201 :             case E_V8SImode:
    2161          201 :               if (!register_operand (operands[1], E_V8SImode))
    2162              :                 return -1;
    2163              :               return 3;
    2164              : 
    2165          489 :             case E_V8HImode:
    2166          489 :               if (!register_operand (operands[1], E_V8HImode))
    2167              :                 return -1;
    2168              :               return 4;
    2169              : 
    2170              :             default:
    2171              :               return -1;
    2172              :             }
    2173              : 
    2174              :         default:
    2175              :           return -1;
    2176              :         }
    2177              : 
    2178          526 :     case E_V8HImode:
    2179          526 :       if (!register_operand (operands[0], E_V8HImode)
    2180          526 :           || GET_MODE (x1) != E_V8HImode)
    2181              :         return -1;
    2182          526 :       x2 = XEXP (x1, 0);
    2183          526 :       switch (GET_MODE (x2))
    2184              :         {
    2185          358 :         case E_V4HImode:
    2186          358 :           res = pattern513 (
    2187              : E_V4HImode);
    2188          358 :           if (res >= 0)
    2189          347 :             return res + 5; /* [5, 6] */
    2190              :           return -1;
    2191              : 
    2192          168 :         case E_V2HImode:
    2193          168 :           if (!register_operand (operands[1], E_V2DImode)
    2194          168 :               || !const0_operand (operands[2], E_V6HImode))
    2195            4 :             return -1;
    2196              :           return 7;
    2197              : 
    2198              :         default:
    2199              :           return -1;
    2200              :         }
    2201              : 
    2202          214 :     case E_V4SImode:
    2203          214 :       if (!register_operand (operands[0], E_V4SImode)
    2204          214 :           || GET_MODE (x1) != E_V4SImode)
    2205              :         return -1;
    2206          202 :       x2 = XEXP (x1, 0);
    2207          202 :       if (GET_MODE (x2) != E_V2SImode
    2208          202 :           || !register_operand (operands[1], E_V2DImode)
    2209          394 :           || !const0_operand (operands[2], E_V2SImode))
    2210           10 :         return -1;
    2211              :       return 8;
    2212              : 
    2213              :     default:
    2214              :       return -1;
    2215              :     }
    2216              : }
    2217              : 
    2218              : int
    2219           28 : pattern538 (rtx x1, machine_mode i1)
    2220              : {
    2221           28 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2222           28 :   rtx x2, x3;
    2223           28 :   int res ATTRIBUTE_UNUSED;
    2224           28 :   if (!register_operand (operands[0], i1)
    2225           28 :       || GET_MODE (x1) != i1)
    2226              :     return -1;
    2227           28 :   x2 = XEXP (x1, 0);
    2228           28 :   if (GET_MODE (x2) != i1
    2229           28 :       || !bcst_vector_operand (operands[1], i1))
    2230            2 :     return -1;
    2231           26 :   x3 = XEXP (x1, 1);
    2232           26 :   if (GET_MODE (x3) != i1
    2233           26 :       || !bcst_vector_operand (operands[2], i1))
    2234            2 :     return -1;
    2235              :   return 0;
    2236              : }
    2237              : 
    2238              : int
    2239      1374677 : pattern541 (rtx x1)
    2240              : {
    2241      1374677 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2242      1374677 :   rtx x2, x3, x4, x5;
    2243      1374677 :   int res ATTRIBUTE_UNUSED;
    2244      1374677 :   x2 = XEXP (x1, 0);
    2245      1374677 :   x3 = XEXP (x2, 0);
    2246      1374677 :   operands[1] = x3;
    2247      1374677 :   x4 = XEXP (x2, 1);
    2248      1374677 :   operands[2] = x4;
    2249      1374677 :   x5 = XEXP (x1, 1);
    2250      1374677 :   switch (GET_CODE (x5))
    2251              :     {
    2252        79764 :     case AND:
    2253        79764 :       return pattern540 (x1); /* [-1, 11] */
    2254              : 
    2255          314 :     case IOR:
    2256          314 :       res = pattern540 (x1);
    2257          314 :       if (res >= 0)
    2258            0 :         return res + 12; /* [12, 23] */
    2259              :       return -1;
    2260              : 
    2261         1577 :     case XOR:
    2262         1577 :       res = pattern540 (x1);
    2263         1577 :       if (res >= 0)
    2264            0 :         return res + 24; /* [24, 35] */
    2265              :       return -1;
    2266              : 
    2267       804095 :     case REG:
    2268       804095 :     case SUBREG:
    2269       804095 :     case MEM:
    2270       804095 :     case NOT:
    2271       804095 :       operands[3] = x5;
    2272       804095 :       switch (GET_MODE (operands[0]))
    2273              :         {
    2274            1 :         case E_V32HFmode:
    2275            1 :           if (pattern534 (x1, 
    2276              : E_V32HFmode) != 0)
    2277              :             return -1;
    2278              :           return 36;
    2279              : 
    2280            2 :         case E_V16HFmode:
    2281            2 :           if (pattern534 (x1, 
    2282              : E_V16HFmode) != 0)
    2283              :             return -1;
    2284              :           return 37;
    2285              : 
    2286           26 :         case E_V8HFmode:
    2287           26 :           if (pattern534 (x1, 
    2288              : E_V8HFmode) != 0)
    2289              :             return -1;
    2290              :           return 38;
    2291              : 
    2292            0 :         case E_V32BFmode:
    2293            0 :           if (pattern534 (x1, 
    2294              : E_V32BFmode) != 0)
    2295              :             return -1;
    2296              :           return 39;
    2297              : 
    2298            0 :         case E_V16BFmode:
    2299            0 :           if (pattern534 (x1, 
    2300              : E_V16BFmode) != 0)
    2301              :             return -1;
    2302              :           return 40;
    2303              : 
    2304            0 :         case E_V8BFmode:
    2305            0 :           if (pattern534 (x1, 
    2306              : E_V8BFmode) != 0)
    2307              :             return -1;
    2308              :           return 41;
    2309              : 
    2310            0 :         case E_V16SFmode:
    2311            0 :           if (pattern534 (x1, 
    2312              : E_V16SFmode) != 0)
    2313              :             return -1;
    2314              :           return 42;
    2315              : 
    2316           25 :         case E_V8SFmode:
    2317           25 :           if (pattern534 (x1, 
    2318              : E_V8SFmode) != 0)
    2319              :             return -1;
    2320              :           return 43;
    2321              : 
    2322        42654 :         case E_V4SFmode:
    2323        42654 :           if (pattern534 (x1, 
    2324              : E_V4SFmode) != 0)
    2325              :             return -1;
    2326              :           return 44;
    2327              : 
    2328            0 :         case E_V8DFmode:
    2329            0 :           if (pattern534 (x1, 
    2330              : E_V8DFmode) != 0)
    2331              :             return -1;
    2332              :           return 45;
    2333              : 
    2334           51 :         case E_V4DFmode:
    2335           51 :           if (pattern534 (x1, 
    2336              : E_V4DFmode) != 0)
    2337              :             return -1;
    2338              :           return 46;
    2339              : 
    2340        42666 :         case E_V2DFmode:
    2341        42666 :           if (pattern534 (x1, 
    2342              : E_V2DFmode) != 0)
    2343              :             return -1;
    2344              :           return 47;
    2345              : 
    2346              :         default:
    2347              :           return -1;
    2348              :         }
    2349              : 
    2350              :     default:
    2351              :       return -1;
    2352              :     }
    2353              : }
    2354              : 
    2355              : int
    2356          143 : pattern554 (rtx x1)
    2357              : {
    2358          143 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2359          143 :   rtx x2, x3, x4, x5, x6, x7, x8;
    2360          143 :   int res ATTRIBUTE_UNUSED;
    2361          143 :   x2 = XVECEXP (x1, 0, 0);
    2362          143 :   x3 = XEXP (x2, 1);
    2363          143 :   if (GET_MODE (x3) != E_XFmode)
    2364              :     return -1;
    2365          143 :   x4 = XVECEXP (x1, 0, 1);
    2366          143 :   if (GET_CODE (x4) != CLOBBER)
    2367              :     return -1;
    2368          143 :   x5 = XEXP (x2, 0);
    2369          143 :   operands[0] = x5;
    2370          143 :   if (!register_operand (operands[0], E_XFmode))
    2371              :     return -1;
    2372          143 :   x6 = XVECEXP (x3, 0, 0);
    2373          143 :   operands[1] = x6;
    2374          143 :   if (!register_operand (operands[1], E_XFmode))
    2375              :     return -1;
    2376          106 :   x7 = XVECEXP (x3, 0, 1);
    2377          106 :   operands[2] = x7;
    2378          106 :   if (!register_operand (operands[2], E_XFmode))
    2379              :     return -1;
    2380           80 :   x8 = XEXP (x4, 0);
    2381           80 :   operands[3] = x8;
    2382           80 :   if (!scratch_operand (operands[3], E_XFmode))
    2383              :     return -1;
    2384              :   return 0;
    2385              : }
    2386              : 
    2387              : int
    2388     67793425 : pattern561 (rtx x1)
    2389              : {
    2390     67793425 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2391     67793425 :   rtx x2, x3, x4, x5, x6;
    2392     67793425 :   int res ATTRIBUTE_UNUSED;
    2393     67793425 :   x2 = XVECEXP (x1, 0, 0);
    2394     67793425 :   x3 = XEXP (x2, 1);
    2395     67793425 :   x4 = XEXP (x3, 1);
    2396     67793425 :   operands[2] = x4;
    2397     67793425 :   x5 = XEXP (x2, 0);
    2398     67793425 :   switch (GET_CODE (x5))
    2399              :     {
    2400     67788619 :     case REG:
    2401     67788619 :     case SUBREG:
    2402     67788619 :     case MEM:
    2403     67788619 :       operands[0] = x5;
    2404     67788619 :       x6 = XVECEXP (x1, 0, 1);
    2405     67788619 :       switch (GET_CODE (x6))
    2406              :         {
    2407              :         case CLOBBER:
    2408              :           return 0;
    2409              : 
    2410         9801 :         case UNSPEC:
    2411         9801 :           return 1;
    2412              : 
    2413              :         default:
    2414              :           return -1;
    2415              :         }
    2416              : 
    2417          810 :     case STRICT_LOW_PART:
    2418          810 :       res = pattern560 (x1);
    2419          810 :       if (res >= 0)
    2420          635 :         return res + 2; /* [2, 3] */
    2421              :       return -1;
    2422              : 
    2423              :     default:
    2424              :       return -1;
    2425              :     }
    2426              : }
    2427              : 
    2428              : int
    2429      2769219 : pattern572 (rtx x1)
    2430              : {
    2431      2769219 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2432      2769219 :   rtx x2, x3, x4, x5, x6, x7;
    2433      2769219 :   int res ATTRIBUTE_UNUSED;
    2434      2769219 :   x2 = XVECEXP (x1, 0, 0);
    2435      2769219 :   x3 = XEXP (x2, 1);
    2436      2769219 :   x4 = XEXP (x3, 1);
    2437      2769219 :   operands[2] = x4;
    2438      2769219 :   x5 = XEXP (x2, 0);
    2439      2769219 :   switch (GET_CODE (x5))
    2440              :     {
    2441         2075 :     case STRICT_LOW_PART:
    2442         2075 :       return pattern560 (x1); /* [-1, 1] */
    2443              : 
    2444      2767144 :     case REG:
    2445      2767144 :     case SUBREG:
    2446      2767144 :     case MEM:
    2447      2767144 :       operands[0] = x5;
    2448      2767144 :       x6 = XVECEXP (x1, 0, 1);
    2449      2767144 :       switch (GET_CODE (x6))
    2450              :         {
    2451      2701266 :         case CLOBBER:
    2452      2701266 :           x7 = XEXP (x6, 0);
    2453      2701266 :           if (GET_CODE (x7) != REG
    2454      2701266 :               || REGNO (x7) != 17
    2455      5402532 :               || GET_MODE (x7) != E_CCmode)
    2456              :             return -1;
    2457      2701266 :           switch (GET_MODE (operands[0]))
    2458              :             {
    2459       941789 :             case E_DImode:
    2460       941789 :               if (!nonimmediate_operand (operands[0], E_DImode)
    2461       941611 :                   || GET_MODE (x3) != E_DImode
    2462      1883400 :                   || !nonimmediate_operand (operands[1], E_DImode))
    2463         3610 :                 return -1;
    2464              :               return 2;
    2465              : 
    2466        23113 :             case E_TImode:
    2467        23113 :               if (pattern566 (x3, 
    2468              : E_TImode) != 0)
    2469              :                 return -1;
    2470              :               return 3;
    2471              : 
    2472       116097 :             case E_HImode:
    2473       116097 :               if (pattern567 (x3, 
    2474              : E_HImode) != 0)
    2475              :                 return -1;
    2476              :               return 4;
    2477              : 
    2478       992415 :             case E_SImode:
    2479       992415 :               if (pattern568 (x3) != 0)
    2480              :                 return -1;
    2481              :               return 5;
    2482              : 
    2483         1300 :             case E_V4QImode:
    2484         1300 :               if (pattern569 (x3, 
    2485              : E_V4QImode) != 0)
    2486              :                 return -1;
    2487              :               return 6;
    2488              : 
    2489          306 :             case E_V2QImode:
    2490          306 :               if (pattern569 (x3, 
    2491              : E_V2QImode) != 0)
    2492              :                 return -1;
    2493              :               return 7;
    2494              : 
    2495          462 :             case E_V2HImode:
    2496          462 :               if (pattern569 (x3, 
    2497              : E_V2HImode) != 0)
    2498              :                 return -1;
    2499              :               return 8;
    2500              : 
    2501              :             default:
    2502              :               return -1;
    2503              :             }
    2504              : 
    2505         4509 :         case UNSPEC:
    2506         4509 :           res = pattern571 (x1);
    2507         4509 :           if (res >= 0)
    2508         4506 :             return res + 9; /* [9, 12] */
    2509              :           return -1;
    2510              : 
    2511              :         default:
    2512              :           return -1;
    2513              :         }
    2514              : 
    2515              :     default:
    2516              :       return -1;
    2517              :     }
    2518              : }
    2519              : 
    2520              : int
    2521         2181 : pattern596 (rtx x1)
    2522              : {
    2523         2181 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2524         2181 :   int res ATTRIBUTE_UNUSED;
    2525         2181 :   if (!register_operand (operands[0], E_DImode)
    2526         2166 :       || GET_MODE (x1) != E_DImode
    2527         2166 :       || !general_operand (operands[1], E_V64QImode)
    2528         4337 :       || !general_operand (operands[2], E_V64QImode))
    2529           43 :     return -1;
    2530              :   return 0;
    2531              : }
    2532              : 
    2533              : int
    2534        18703 : pattern599 (rtx x1)
    2535              : {
    2536        18703 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2537        18703 :   int res ATTRIBUTE_UNUSED;
    2538        18703 :   if (!register_operand (operands[0], E_QImode)
    2539        18703 :       || GET_MODE (x1) != E_QImode)
    2540              :     return -1;
    2541        18484 :   switch (GET_MODE (operands[1]))
    2542              :     {
    2543         2766 :     case E_V8HImode:
    2544         2766 :       if (!general_operand (operands[1], E_V8HImode)
    2545         2766 :           || !general_operand (operands[2], E_V8HImode))
    2546           16 :         return -1;
    2547              :       return 0;
    2548              : 
    2549         2512 :     case E_V8SImode:
    2550         2512 :       if (!general_operand (operands[1], E_V8SImode)
    2551         2512 :           || !general_operand (operands[2], E_V8SImode))
    2552           36 :         return -1;
    2553              :       return 1;
    2554              : 
    2555         1791 :     case E_V4SImode:
    2556         1791 :       if (!general_operand (operands[1], E_V4SImode)
    2557         1791 :           || !general_operand (operands[2], E_V4SImode))
    2558           81 :         return -1;
    2559              :       return 2;
    2560              : 
    2561         3262 :     case E_V8DImode:
    2562         3262 :       if (!general_operand (operands[1], E_V8DImode)
    2563         3262 :           || !general_operand (operands[2], E_V8DImode))
    2564           40 :         return -1;
    2565              :       return 3;
    2566              : 
    2567         4449 :     case E_V4DImode:
    2568         4449 :       if (!general_operand (operands[1], E_V4DImode)
    2569         4449 :           || !general_operand (operands[2], E_V4DImode))
    2570           19 :         return -1;
    2571              :       return 4;
    2572              : 
    2573         1919 :     case E_V2DImode:
    2574         1919 :       if (!general_operand (operands[1], E_V2DImode)
    2575         1919 :           || !general_operand (operands[2], E_V2DImode))
    2576           26 :         return -1;
    2577              :       return 5;
    2578              : 
    2579              :     default:
    2580              :       return -1;
    2581              :     }
    2582              : }
    2583              : 
    2584              : int
    2585       435361 : pattern615 (rtx x1, machine_mode i1)
    2586              : {
    2587       435361 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2588       435361 :   rtx x2;
    2589       435361 :   int res ATTRIBUTE_UNUSED;
    2590       435361 :   if (!nonimmediate_operand (operands[0], i1)
    2591       435361 :       || GET_MODE (x1) != i1)
    2592              :     return -1;
    2593       435334 :   x2 = XEXP (x1, 0);
    2594       435334 :   if (GET_MODE (x2) != i1
    2595       435334 :       || !register_operand (operands[1], i1)
    2596       435328 :       || !const_int_operand (operands[2], E_QImode)
    2597       870469 :       || !const_scalar_int_operand (operands[3], i1))
    2598       367724 :     return -1;
    2599              :   return 0;
    2600              : }
    2601              : 
    2602              : int
    2603        14770 : pattern619 (rtx x1)
    2604              : {
    2605        14770 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2606        14770 :   rtx x2, x3, x4, x5, x6, x7;
    2607        14770 :   int res ATTRIBUTE_UNUSED;
    2608        14770 :   x2 = XEXP (x1, 0);
    2609        14770 :   x3 = XEXP (x2, 1);
    2610        14770 :   x4 = XVECEXP (x3, 0, 0);
    2611        14770 :   if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2612              :     return -1;
    2613        13665 :   x5 = XVECEXP (x3, 0, 1);
    2614        13665 :   if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    2615              :     return -1;
    2616        13665 :   x6 = XVECEXP (x3, 0, 2);
    2617        13665 :   if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
    2618              :     return -1;
    2619        13665 :   x7 = XVECEXP (x3, 0, 3);
    2620        13665 :   if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 3]
    2621        13665 :       || pattern618 (x1, 
    2622              : E_V8QImode, 
    2623              : E_V4QImode, 
    2624              : E_V4HImode) != 0)
    2625        12471 :     return -1;
    2626              :   return 0;
    2627              : }
    2628              : 
    2629              : int
    2630           19 : pattern625 (rtx x1, machine_mode i1)
    2631              : {
    2632           19 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2633           19 :   rtx x2;
    2634           19 :   int res ATTRIBUTE_UNUSED;
    2635           19 :   if (!register_operand (operands[0], i1)
    2636           19 :       || GET_MODE (x1) != i1)
    2637              :     return -1;
    2638           19 :   x2 = XEXP (x1, 0);
    2639           19 :   if (GET_MODE (x2) != i1
    2640           19 :       || !general_operand (operands[1], i1))
    2641           10 :     return -1;
    2642              :   return 0;
    2643              : }
    2644              : 
    2645              : int
    2646          717 : pattern631 (rtx x1, machine_mode i1)
    2647              : {
    2648          717 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2649          717 :   rtx x2, x3;
    2650          717 :   int res ATTRIBUTE_UNUSED;
    2651          717 :   if (!register_operand (operands[0], i1)
    2652          717 :       || GET_MODE (x1) != i1)
    2653              :     return -1;
    2654          696 :   x2 = XEXP (x1, 0);
    2655          696 :   if (GET_MODE (x2) != i1)
    2656              :     return -1;
    2657          696 :   x3 = XEXP (x2, 0);
    2658          696 :   if (GET_MODE (x3) != i1
    2659          696 :       || !nonimmediate_operand (operands[1], i1))
    2660            6 :     return -1;
    2661              :   return 0;
    2662              : }
    2663              : 
    2664              : int
    2665          816 : pattern639 (rtx x1, machine_mode i1)
    2666              : {
    2667          816 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2668          816 :   rtx x2;
    2669          816 :   int res ATTRIBUTE_UNUSED;
    2670          816 :   if (!register_operand (operands[0], i1)
    2671          816 :       || GET_MODE (x1) != i1)
    2672              :     return -1;
    2673          765 :   x2 = XEXP (x1, 0);
    2674          765 :   if (GET_MODE (x2) != i1
    2675          765 :       || !nonimmediate_operand (operands[1], i1)
    2676         1515 :       || !register_operand (operands[2], i1))
    2677           69 :     return -1;
    2678              :   return 0;
    2679              : }
    2680              : 
    2681              : int
    2682        12625 : pattern644 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
    2683              : {
    2684        12625 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2685        12625 :   rtx x2;
    2686        12625 :   int res ATTRIBUTE_UNUSED;
    2687        12625 :   if (!register_operand (operands[0], i1)
    2688        12625 :       || GET_MODE (x1) != i1)
    2689              :     return -1;
    2690        12170 :   x2 = XEXP (x1, 0);
    2691        12170 :   if (GET_MODE (x2) != i1
    2692        12170 :       || !vector_operand (operands[1], i3)
    2693        12170 :       || !nonimm_or_0_operand (operands[2], i1)
    2694        24024 :       || !register_operand (operands[3], i2))
    2695          928 :     return -1;
    2696              :   return 0;
    2697              : }
    2698              : 
    2699              : int
    2700        20204 : pattern650 (rtx x1)
    2701              : {
    2702        20204 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2703        20204 :   rtx x2, x3, x4;
    2704        20204 :   int res ATTRIBUTE_UNUSED;
    2705        20204 :   x2 = XEXP (x1, 0);
    2706        20204 :   x3 = XEXP (x2, 2);
    2707        20204 :   switch (GET_CODE (x3))
    2708              :     {
    2709        10222 :     case REG:
    2710        10222 :     case SUBREG:
    2711        10222 :     case MEM:
    2712        10222 :     case VEC_DUPLICATE:
    2713        10222 :       operands[3] = x3;
    2714        10222 :       return pattern649 (x1); /* [-1, 28] */
    2715              : 
    2716         9542 :     case NEG:
    2717         9542 :       x4 = XEXP (x3, 0);
    2718         9542 :       operands[3] = x4;
    2719         9542 :       return 29;
    2720              : 
    2721              :     default:
    2722              :       return -1;
    2723              :     }
    2724              : }
    2725              : 
    2726              : int
    2727          330 : pattern653 (rtx x1, machine_mode i1)
    2728              : {
    2729          330 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2730          330 :   int res ATTRIBUTE_UNUSED;
    2731          330 :   if (!register_operand (operands[0], i1)
    2732          330 :       || GET_MODE (x1) != i1)
    2733              :     return -1;
    2734          305 :   switch (GET_MODE (operands[1]))
    2735              :     {
    2736          147 :     case E_V16HFmode:
    2737          147 :       if (!vector_operand (operands[1], E_V16HFmode))
    2738              :         return -1;
    2739              :       return 0;
    2740              : 
    2741          158 :     case E_V16SFmode:
    2742          158 :       if (!vector_operand (operands[1], E_V16SFmode))
    2743              :         return -1;
    2744              :       return 1;
    2745              : 
    2746              :     default:
    2747              :       return -1;
    2748              :     }
    2749              : }
    2750              : 
    2751              : int
    2752         2108 : pattern659 (rtx x1)
    2753              : {
    2754         2108 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2755         2108 :   rtx x2, x3, x4, x5;
    2756         2108 :   int res ATTRIBUTE_UNUSED;
    2757         2108 :   x2 = XVECEXP (x1, 0, 0);
    2758         2108 :   x3 = XEXP (x2, 2);
    2759         2108 :   if (XWINT (x3, 0) != 1L)
    2760              :     return -1;
    2761         2064 :   x4 = XVECEXP (x1, 0, 1);
    2762         2064 :   operands[3] = x4;
    2763         2064 :   x5 = XEXP (x2, 1);
    2764         2064 :   if (!rtx_equal_p (x5, operands[1]))
    2765              :     return -1;
    2766         2052 :   switch (GET_MODE (operands[0]))
    2767              :     {
    2768          340 :     case E_V8HFmode:
    2769          340 :       return pattern658 (x1, 
    2770          340 : E_V8HFmode); /* [-1, 0] */
    2771              : 
    2772          352 :     case E_V4SFmode:
    2773          352 :       if (pattern658 (x1, 
    2774              : E_V4SFmode) != 0)
    2775              :         return -1;
    2776              :       return 1;
    2777              : 
    2778         1360 :     case E_V2DFmode:
    2779         1360 :       if (pattern658 (x1, 
    2780              : E_V2DFmode) != 0)
    2781              :         return -1;
    2782              :       return 2;
    2783              : 
    2784              :     default:
    2785              :       return -1;
    2786              :     }
    2787              : }
    2788              : 
    2789              : int
    2790          172 : pattern667 (rtx x1, machine_mode i1)
    2791              : {
    2792          172 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2793          172 :   rtx x2;
    2794          172 :   int res ATTRIBUTE_UNUSED;
    2795          172 :   if (!register_operand (operands[0], i1)
    2796          169 :       || GET_MODE (x1) != i1
    2797          169 :       || !register_operand (operands[1], i1)
    2798          331 :       || !vector_operand (operands[2], i1))
    2799           18 :     return -1;
    2800          154 :   x2 = XVECEXP (x1, 0, 2);
    2801          154 :   if (GET_MODE (x2) != i1
    2802          154 :       || !register_operand (operands[3], i1)
    2803          300 :       || !const0_operand (operands[4], i1))
    2804            8 :     return -1;
    2805              :   return 0;
    2806              : }
    2807              : 
    2808              : int
    2809          923 : pattern673 (rtx x1)
    2810              : {
    2811          923 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2812          923 :   rtx x2, x3, x4, x5;
    2813          923 :   int res ATTRIBUTE_UNUSED;
    2814          923 :   x2 = XVECEXP (x1, 0, 1);
    2815          923 :   operands[2] = x2;
    2816          923 :   x3 = XVECEXP (x1, 0, 2);
    2817          923 :   x4 = XEXP (x3, 0);
    2818          923 :   operands[3] = x4;
    2819          923 :   x5 = XEXP (x3, 1);
    2820          923 :   operands[4] = x5;
    2821          923 :   switch (GET_MODE (operands[0]))
    2822              :     {
    2823           60 :     case E_V8SFmode:
    2824           60 :       return pattern671 (x1, 
    2825              : E_V8SImode, 
    2826           60 : E_V8SFmode); /* [-1, 0] */
    2827              : 
    2828          200 :     case E_V4SFmode:
    2829          200 :       if (pattern671 (x1, 
    2830              : E_V4SImode, 
    2831              : E_V4SFmode) != 0)
    2832              :         return -1;
    2833              :       return 1;
    2834              : 
    2835           76 :     case E_V4DFmode:
    2836           76 :       if (pattern671 (x1, 
    2837              : E_V4DImode, 
    2838              : E_V4DFmode) != 0)
    2839              :         return -1;
    2840              :       return 2;
    2841              : 
    2842          137 :     case E_V2DFmode:
    2843          137 :       if (pattern671 (x1, 
    2844              : E_V2DImode, 
    2845              : E_V2DFmode) != 0)
    2846              :         return -1;
    2847              :       return 3;
    2848              : 
    2849           54 :     case E_V32QImode:
    2850           54 :       if (pattern672 (x1, 
    2851              : E_V32QImode) != 0)
    2852              :         return -1;
    2853              :       return 4;
    2854              : 
    2855          255 :     case E_V16QImode:
    2856          255 :       if (pattern672 (x1, 
    2857              : E_V16QImode) != 0)
    2858              :         return -1;
    2859              :       return 5;
    2860              : 
    2861              :     default:
    2862              :       return -1;
    2863              :     }
    2864              : }
    2865              : 
    2866              : int
    2867         3562 : pattern681 (rtx x1)
    2868              : {
    2869         3562 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2870         3562 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    2871         3562 :   int res ATTRIBUTE_UNUSED;
    2872         3562 :   x2 = XVECEXP (x1, 0, 0);
    2873         3562 :   if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2874              :     return -1;
    2875         3511 :   x3 = XVECEXP (x1, 0, 1);
    2876         3511 :   if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    2877              :     return -1;
    2878         3511 :   x4 = XVECEXP (x1, 0, 2);
    2879         3511 :   if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
    2880              :     return -1;
    2881         3511 :   x5 = XVECEXP (x1, 0, 3);
    2882         3511 :   if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
    2883              :     return -1;
    2884         3511 :   x6 = XVECEXP (x1, 0, 4);
    2885         3511 :   if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
    2886              :     return -1;
    2887         3511 :   x7 = XVECEXP (x1, 0, 5);
    2888         3511 :   if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
    2889              :     return -1;
    2890         3511 :   x8 = XVECEXP (x1, 0, 6);
    2891         3511 :   if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
    2892              :     return -1;
    2893         3511 :   x9 = XVECEXP (x1, 0, 7);
    2894         3511 :   if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 7])
    2895            0 :     return -1;
    2896              :   return 0;
    2897              : }
    2898              : 
    2899              : int
    2900         1889 : pattern692 (rtx x1, rtx_code i1, machine_mode i2)
    2901              : {
    2902         1889 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2903         1889 :   rtx x2, x3, x4;
    2904         1889 :   int res ATTRIBUTE_UNUSED;
    2905         1889 :   x2 = XVECEXP (x1, 0, 0);
    2906         1889 :   x3 = XEXP (x2, 0);
    2907         1889 :   if (GET_CODE (x3) != REG
    2908         1889 :       || REGNO (x3) != 17
    2909         3778 :       || GET_MODE (x3) != i2)
    2910              :     return -1;
    2911         1889 :   x4 = XVECEXP (x1, 0, 1);
    2912         1889 :   if (GET_CODE (x4) != i1)
    2913          422 :     return -1;
    2914              :   return 0;
    2915              : }
    2916              : 
    2917              : int
    2918        14619 : pattern698 (rtx x1)
    2919              : {
    2920        14619 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2921        14619 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    2922        14619 :   int res ATTRIBUTE_UNUSED;
    2923        14619 :   x2 = XVECEXP (x1, 0, 0);
    2924        14619 :   x3 = XEXP (x2, 1);
    2925        14619 :   x4 = XEXP (x3, 1);
    2926        14619 :   operands[2] = x4;
    2927        14619 :   x5 = XEXP (x4, 0);
    2928        14619 :   if (GET_CODE (x5) != REG
    2929        14619 :       || REGNO (x5) != 17)
    2930              :     return -1;
    2931        13264 :   x6 = XEXP (x4, 1);
    2932        13264 :   if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2933              :     return -1;
    2934        13264 :   x7 = XVECEXP (x1, 0, 1);
    2935        13264 :   if (GET_CODE (x7) != CLOBBER)
    2936              :     return -1;
    2937        13150 :   x8 = XEXP (x7, 0);
    2938        13150 :   if (GET_CODE (x8) != REG
    2939        13150 :       || REGNO (x8) != 17
    2940        26300 :       || GET_MODE (x8) != E_CCmode)
    2941              :     return -1;
    2942        13150 :   x9 = XEXP (x2, 0);
    2943        13150 :   operands[0] = x9;
    2944        13150 :   switch (GET_MODE (operands[0]))
    2945              :     {
    2946              :     case E_QImode:
    2947              :       return 0;
    2948              : 
    2949              :     case E_HImode:
    2950              :       return 1;
    2951              : 
    2952              :     case E_SImode:
    2953              :       return 2;
    2954              : 
    2955              :     case E_DImode:
    2956              :       return 3;
    2957              : 
    2958              :     default:
    2959              :       return -1;
    2960              :     }
    2961              : }
    2962              : 
    2963              : int
    2964        54612 : pattern706 (rtx x1, machine_mode i1)
    2965              : {
    2966        54612 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2967        54612 :   int res ATTRIBUTE_UNUSED;
    2968        54612 :   if (!register_operand (operands[0], i1)
    2969        54192 :       || GET_MODE (x1) != i1
    2970        54192 :       || !vector_operand (operands[1], i1)
    2971       108171 :       || !vector_operand (operands[2], i1))
    2972        10844 :     return -1;
    2973              :   return 0;
    2974              : }
    2975              : 
    2976              : int
    2977            0 : pattern711 (rtx x1)
    2978              : {
    2979            0 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2980            0 :   rtx x2;
    2981            0 :   int res ATTRIBUTE_UNUSED;
    2982            0 :   x2 = XVECEXP (x1, 0, 1);
    2983            0 :   if (XVECLEN (x2, 0) != 1
    2984            0 :       || XINT (x2, 1) != 39)
    2985              :     return -1;
    2986            0 :   return pattern233 (x1); /* [-1, 1] */
    2987              : }
    2988              : 
    2989              : int
    2990      1719804 : pattern716 (rtx x1)
    2991              : {
    2992      1719804 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2993      1719804 :   rtx x2, x3, x4, x5;
    2994      1719804 :   int res ATTRIBUTE_UNUSED;
    2995      1719804 :   switch (GET_CODE (x1))
    2996              :     {
    2997        22058 :     case UNSPEC:
    2998        22058 :       if (XVECLEN (x1, 0) != 1
    2999        22057 :           || XINT (x1, 1) != 38)
    3000              :         return -1;
    3001         1585 :       x2 = XVECEXP (x1, 0, 0);
    3002         1585 :       if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    3003            0 :         return -1;
    3004              :       return 0;
    3005              : 
    3006      1697746 :     case SET:
    3007      1697746 :       x3 = XEXP (x1, 1);
    3008      1697746 :       if (GET_CODE (x3) != PLUS
    3009      1695360 :           || GET_MODE (x3) != E_SImode)
    3010              :         return -1;
    3011      1695322 :       x4 = XEXP (x3, 0);
    3012      1695322 :       if (GET_CODE (x4) != REG
    3013      1695322 :           || REGNO (x4) != 7
    3014      3390644 :           || GET_MODE (x4) != E_SImode)
    3015              :         return -1;
    3016      1695322 :       x5 = XEXP (x1, 0);
    3017      1695322 :       if (GET_CODE (x5) != REG
    3018      1695322 :           || REGNO (x5) != 7
    3019      3390644 :           || GET_MODE (x5) != E_SImode)
    3020            0 :         return -1;
    3021              :       return 1;
    3022              : 
    3023              :     default:
    3024              :       return -1;
    3025              :     }
    3026              : }
    3027              : 
    3028              : int
    3029       111462 : pattern723 (rtx x1)
    3030              : {
    3031       111462 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3032       111462 :   rtx x2, x3, x4, x5, x6;
    3033       111462 :   int res ATTRIBUTE_UNUSED;
    3034       111462 :   x2 = XEXP (x1, 0);
    3035       111462 :   x3 = XEXP (x2, 0);
    3036       111462 :   x4 = XEXP (x3, 0);
    3037       111462 :   operands[1] = x4;
    3038       111462 :   if (!const_int_operand (operands[2], E_QImode))
    3039              :     return -1;
    3040       110943 :   x5 = XEXP (x1, 1);
    3041       110943 :   switch (GET_CODE (x5))
    3042              :     {
    3043        97483 :     case ZERO_EXTEND:
    3044        97483 :       x6 = XEXP (x5, 0);
    3045        97483 :       operands[3] = x6;
    3046        97483 :       switch (GET_MODE (operands[0]))
    3047              :         {
    3048          497 :         case E_DImode:
    3049          497 :           return pattern721 (x1, 
    3050              : E_SImode, 
    3051          497 : E_DImode); /* [-1, 0] */
    3052              : 
    3053        96986 :         case E_TImode:
    3054        96986 :           if (pattern721 (x1, 
    3055              : E_DImode, 
    3056              : E_TImode) != 0)
    3057              :             return -1;
    3058              :           return 1;
    3059              : 
    3060              :         default:
    3061              :           return -1;
    3062              :         }
    3063              : 
    3064         6989 :     case CONST_INT:
    3065         6989 :     case CONST_WIDE_INT:
    3066         6989 :       operands[3] = x5;
    3067         6989 :       switch (GET_MODE (operands[0]))
    3068              :         {
    3069          535 :         case E_DImode:
    3070          535 :           if (pattern722 (x1, 
    3071              : E_DImode, 
    3072              : E_SImode) != 0)
    3073              :             return -1;
    3074              :           return 2;
    3075              : 
    3076         6449 :         case E_TImode:
    3077         6449 :           if (pattern722 (x1, 
    3078              : E_TImode, 
    3079              : E_DImode) != 0)
    3080              :             return -1;
    3081              :           return 3;
    3082              : 
    3083              :         default:
    3084              :           return -1;
    3085              :         }
    3086              : 
    3087              :     default:
    3088              :       return -1;
    3089              :     }
    3090              : }
    3091              : 
    3092              : int
    3093         2421 : pattern741 (rtx x1)
    3094              : {
    3095         2421 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3096         2421 :   rtx x2, x3, x4;
    3097         2421 :   int res ATTRIBUTE_UNUSED;
    3098         2421 :   x2 = XVECEXP (x1, 0, 2);
    3099         2421 :   x3 = XEXP (x2, 0);
    3100         2421 :   operands[3] = x3;
    3101         2421 :   x4 = XEXP (x2, 1);
    3102         2421 :   operands[4] = x4;
    3103         2421 :   switch (GET_MODE (operands[0]))
    3104              :     {
    3105           43 :     case E_SFmode:
    3106           43 :       return pattern740 (x1, 
    3107           43 : E_SFmode); /* [-1, 0] */
    3108              : 
    3109            0 :     case E_DFmode:
    3110            0 :       if (pattern740 (x1, 
    3111              : E_DFmode) != 0)
    3112              :         return -1;
    3113              :       return 1;
    3114              : 
    3115              :     default:
    3116              :       return -1;
    3117              :     }
    3118              : }
    3119              : 
    3120              : int
    3121         6975 : pattern747 ()
    3122              : {
    3123         6975 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3124         6975 :   int res ATTRIBUTE_UNUSED;
    3125         6975 :   switch (GET_MODE (operands[1]))
    3126              :     {
    3127         1183 :     case E_V8HImode:
    3128         1183 :       if (!register_operand (operands[1], E_V8HImode)
    3129         1183 :           || !nonimmediate_operand (operands[2], E_V8HImode))
    3130            1 :         return -1;
    3131              :       return 0;
    3132              : 
    3133         1135 :     case E_V8SImode:
    3134         1135 :       if (!register_operand (operands[1], E_V8SImode)
    3135         1135 :           || !nonimmediate_operand (operands[2], E_V8SImode))
    3136            0 :         return -1;
    3137              :       return 1;
    3138              : 
    3139         1144 :     case E_V4SImode:
    3140         1144 :       if (!register_operand (operands[1], E_V4SImode)
    3141         1144 :           || !nonimmediate_operand (operands[2], E_V4SImode))
    3142            0 :         return -1;
    3143              :       return 2;
    3144              : 
    3145         1141 :     case E_V8DImode:
    3146         1141 :       if (!register_operand (operands[1], E_V8DImode)
    3147         1141 :           || !nonimmediate_operand (operands[2], E_V8DImode))
    3148            4 :         return -1;
    3149              :       return 3;
    3150              : 
    3151         1147 :     case E_V4DImode:
    3152         1147 :       if (!register_operand (operands[1], E_V4DImode)
    3153         1147 :           || !nonimmediate_operand (operands[2], E_V4DImode))
    3154            8 :         return -1;
    3155              :       return 4;
    3156              : 
    3157         1225 :     case E_V2DImode:
    3158         1225 :       if (!register_operand (operands[1], E_V2DImode)
    3159         1225 :           || !nonimmediate_operand (operands[2], E_V2DImode))
    3160           88 :         return -1;
    3161              :       return 5;
    3162              : 
    3163              :     default:
    3164              :       return -1;
    3165              :     }
    3166              : }
    3167              : 
    3168              : int
    3169            0 : pattern766 (rtx x1, machine_mode i1, machine_mode i2)
    3170              : {
    3171            0 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3172            0 :   rtx x2, x3, x4, x5;
    3173            0 :   int res ATTRIBUTE_UNUSED;
    3174            0 :   if (!register_operand (operands[0], i1)
    3175            0 :       || GET_MODE (x1) != i1)
    3176              :     return -1;
    3177            0 :   x2 = XEXP (x1, 0);
    3178            0 :   if (GET_MODE (x2) != i2)
    3179              :     return -1;
    3180            0 :   x3 = XEXP (x2, 0);
    3181            0 :   if (GET_MODE (x3) != i2)
    3182              :     return -1;
    3183            0 :   x4 = XEXP (x3, 0);
    3184            0 :   if (GET_MODE (x4) != i2
    3185            0 :       || !nonimmediate_operand (operands[1], i1))
    3186            0 :     return -1;
    3187            0 :   x5 = XEXP (x3, 1);
    3188            0 :   if (GET_MODE (x5) != i2
    3189            0 :       || !nonimmediate_operand (operands[2], i1))
    3190            0 :     return -1;
    3191              :   return 0;
    3192              : }
    3193              : 
    3194              : int
    3195         3034 : pattern774 (rtx x1)
    3196              : {
    3197         3034 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3198         3034 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    3199         3034 :   int res ATTRIBUTE_UNUSED;
    3200         3034 :   x2 = XEXP (x1, 2);
    3201         3034 :   if (XWINT (x2, 0) != 1L)
    3202              :     return -1;
    3203         3034 :   x3 = XEXP (x1, 0);
    3204         3034 :   x4 = XEXP (x3, 0);
    3205         3034 :   x5 = XVECEXP (x4, 0, 0);
    3206         3034 :   operands[1] = x5;
    3207         3034 :   x6 = XVECEXP (x4, 0, 1);
    3208         3034 :   operands[2] = x6;
    3209         3034 :   x7 = XEXP (x3, 1);
    3210         3034 :   operands[3] = x7;
    3211         3034 :   x8 = XEXP (x3, 2);
    3212         3034 :   operands[4] = x8;
    3213         3034 :   if (!register_operand (operands[4], E_QImode))
    3214              :     return -1;
    3215         2998 :   x9 = XEXP (x1, 1);
    3216         2998 :   if (!rtx_equal_p (x9, operands[1]))
    3217              :     return -1;
    3218         2998 :   switch (GET_MODE (operands[0]))
    3219              :     {
    3220          770 :     case E_V8HFmode:
    3221          770 :       return pattern773 (x1, 
    3222          770 : E_V8HFmode); /* [-1, 0] */
    3223              : 
    3224         1196 :     case E_V4SFmode:
    3225         1196 :       if (pattern773 (x1, 
    3226              : E_V4SFmode) != 0)
    3227              :         return -1;
    3228              :       return 1;
    3229              : 
    3230         1032 :     case E_V2DFmode:
    3231         1032 :       if (pattern773 (x1, 
    3232              : E_V2DFmode) != 0)
    3233              :         return -1;
    3234              :       return 2;
    3235              : 
    3236              :     default:
    3237              :       return -1;
    3238              :     }
    3239              : }
    3240              : 
    3241              : int
    3242         1045 : pattern785 (rtx x1, machine_mode i1)
    3243              : {
    3244         1045 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3245         1045 :   int res ATTRIBUTE_UNUSED;
    3246         1045 :   if (!register_operand (operands[0], i1)
    3247          917 :       || GET_MODE (x1) != i1
    3248          917 :       || !nonimmediate_operand (operands[1], i1)
    3249         1884 :       || !const_0_to_255_operand (operands[2], E_SImode))
    3250          206 :     return -1;
    3251              :   return 0;
    3252              : }
    3253              : 
    3254              : int
    3255         1005 : pattern792 (rtx x1, machine_mode i1, machine_mode i2)
    3256              : {
    3257         1005 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3258         1005 :   rtx x2, x3;
    3259         1005 :   int res ATTRIBUTE_UNUSED;
    3260         1005 :   if (!memory_operand (operands[0], i1)
    3261          887 :       || GET_MODE (x1) != i1
    3262         1892 :       || !register_operand (operands[1], i2))
    3263          342 :     return -1;
    3264          663 :   x2 = XVECEXP (x1, 0, 1);
    3265          663 :   operands[2] = x2;
    3266          663 :   if (!register_operand (operands[2], i1))
    3267              :     return -1;
    3268          552 :   x3 = XVECEXP (x1, 0, 2);
    3269          552 :   if (!rtx_equal_p (x3, operands[0]))
    3270              :     return -1;
    3271              :   return 0;
    3272              : }
    3273              : 
    3274              : int
    3275       113304 : pattern803 (machine_mode i1)
    3276              : {
    3277       113304 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3278       113304 :   int res ATTRIBUTE_UNUSED;
    3279       113304 :   if (!register_operand (operands[0], i1)
    3280       113298 :       || !sse_comparison_operator (operands[3], i1)
    3281       112231 :       || !register_operand (operands[1], i1)
    3282       192882 :       || !vector_operand (operands[2], i1))
    3283        40712 :     return -1;
    3284              :   return 0;
    3285              : }
    3286              : 
    3287              : int
    3288        67030 : pattern810 (rtx x1)
    3289              : {
    3290        67030 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3291        67030 :   rtx x2, x3, x4, x5;
    3292        67030 :   int res ATTRIBUTE_UNUSED;
    3293        67030 :   x2 = XEXP (x1, 0);
    3294        67030 :   x3 = XEXP (x2, 1);
    3295        67030 :   operands[2] = x3;
    3296        67030 :   x4 = XEXP (x1, 1);
    3297        67030 :   if (XVECLEN (x4, 0) < 1)
    3298              :     return -1;
    3299        67030 :   operands[3] = x4;
    3300        67030 :   x5 = XVECEXP (x4, 0, 0);
    3301        67030 :   operands[4] = x5;
    3302        67030 :   if (!const_int_operand (operands[4], E_VOIDmode))
    3303              :     return -1;
    3304        67030 :   switch (GET_MODE (operands[0]))
    3305              :     {
    3306          117 :     case E_V32QImode:
    3307          117 :       return pattern806 (x1, 
    3308              : E_V32QImode, 
    3309          117 : E_V64QImode); /* [-1, 0] */
    3310              : 
    3311          103 :     case E_V64QImode:
    3312          103 :       if (pattern806 (x1, 
    3313              : E_V64QImode, 
    3314              : E_V128QImode) != 0)
    3315              :         return -1;
    3316              :       return 1;
    3317              : 
    3318        19596 :     case E_V16QImode:
    3319        19596 :       if (pattern807 (x1, 
    3320              : E_V16QImode, 
    3321              : E_V32QImode) != 0)
    3322              :         return -1;
    3323              :       return 2;
    3324              : 
    3325          152 :     case E_V32HImode:
    3326          152 :       if (pattern806 (x1, 
    3327              : E_V32HImode, 
    3328              : E_V64HImode) != 0)
    3329              :         return -1;
    3330              :       return 3;
    3331              : 
    3332          164 :     case E_V16HImode:
    3333          164 :       if (pattern806 (x1, 
    3334              : E_V16HImode, 
    3335              : E_V32HImode) != 0)
    3336              :         return -1;
    3337              :       return 4;
    3338              : 
    3339        23982 :     case E_V8HImode:
    3340        23982 :       if (pattern807 (x1, 
    3341              : E_V8HImode, 
    3342              : E_V16HImode) != 0)
    3343              :         return -1;
    3344              :       return 5;
    3345              : 
    3346          186 :     case E_V16SImode:
    3347          186 :       if (pattern808 (x1, 
    3348              : E_V16SImode, 
    3349              : E_V32SImode) != 0)
    3350              :         return -1;
    3351              :       return 6;
    3352              : 
    3353          187 :     case E_V8SImode:
    3354          187 :       if (pattern808 (x1, 
    3355              : E_V8SImode, 
    3356              : E_V16SImode) != 0)
    3357              :         return -1;
    3358              :       return 7;
    3359              : 
    3360        10822 :     case E_V4SImode:
    3361        10822 :       if (!register_operand (operands[0], E_V4SImode)
    3362        10727 :           || GET_MODE (x1) != E_V4SImode
    3363        10727 :           || GET_MODE (x2) != E_V8SImode
    3364        21504 :           || !const0_operand (operands[2], E_V4SImode))
    3365          306 :         return -1;
    3366              :       return 8;
    3367              : 
    3368           21 :     case E_V8DImode:
    3369           21 :       if (pattern809 (x1, 
    3370              : E_V8DImode, 
    3371              : E_V16DImode) != 0)
    3372              :         return -1;
    3373              :       return 9;
    3374              : 
    3375           41 :     case E_V4DImode:
    3376           41 :       if (pattern809 (x1, 
    3377              : E_V4DImode, 
    3378              : E_V8DImode) != 0)
    3379              :         return -1;
    3380              :       return 10;
    3381              : 
    3382          257 :     case E_V2DImode:
    3383          257 :       if (pattern809 (x1, 
    3384              : E_V2DImode, 
    3385              : E_V4DImode) != 0)
    3386              :         return -1;
    3387              :       return 11;
    3388              : 
    3389            0 :     case E_V32HFmode:
    3390            0 :       if (pattern809 (x1, 
    3391              : E_V32HFmode, 
    3392              : E_V64HFmode) != 0)
    3393              :         return -1;
    3394              :       return 12;
    3395              : 
    3396            0 :     case E_V16HFmode:
    3397            0 :       if (pattern809 (x1, 
    3398              : E_V16HFmode, 
    3399              : E_V32HFmode) != 0)
    3400              :         return -1;
    3401              :       return 13;
    3402              : 
    3403           28 :     case E_V8HFmode:
    3404           28 :       if (pattern809 (x1, 
    3405              : E_V8HFmode, 
    3406              : E_V16HFmode) != 0)
    3407              :         return -1;
    3408              :       return 14;
    3409              : 
    3410            0 :     case E_V32BFmode:
    3411            0 :       if (pattern809 (x1, 
    3412              : E_V32BFmode, 
    3413              : E_V64BFmode) != 0)
    3414              :         return -1;
    3415              :       return 15;
    3416              : 
    3417            0 :     case E_V16BFmode:
    3418            0 :       if (pattern809 (x1, 
    3419              : E_V16BFmode, 
    3420              : E_V32BFmode) != 0)
    3421              :         return -1;
    3422              :       return 16;
    3423              : 
    3424            0 :     case E_V8BFmode:
    3425            0 :       if (pattern809 (x1, 
    3426              : E_V8BFmode, 
    3427              : E_V16BFmode) != 0)
    3428              :         return -1;
    3429              :       return 17;
    3430              : 
    3431           38 :     case E_V16SFmode:
    3432           38 :       if (pattern809 (x1, 
    3433              : E_V16SFmode, 
    3434              : E_V32SFmode) != 0)
    3435              :         return -1;
    3436              :       return 18;
    3437              : 
    3438           58 :     case E_V8SFmode:
    3439           58 :       if (pattern809 (x1, 
    3440              : E_V8SFmode, 
    3441              : E_V16SFmode) != 0)
    3442              :         return -1;
    3443              :       return 19;
    3444              : 
    3445          215 :     case E_V4SFmode:
    3446          215 :       if (pattern809 (x1, 
    3447              : E_V4SFmode, 
    3448              : E_V8SFmode) != 0)
    3449              :         return -1;
    3450              :       return 20;
    3451              : 
    3452           41 :     case E_V8DFmode:
    3453           41 :       if (pattern809 (x1, 
    3454              : E_V8DFmode, 
    3455              : E_V16DFmode) != 0)
    3456              :         return -1;
    3457              :       return 21;
    3458              : 
    3459          101 :     case E_V4DFmode:
    3460          101 :       if (pattern809 (x1, 
    3461              : E_V4DFmode, 
    3462              : E_V8DFmode) != 0)
    3463              :         return -1;
    3464              :       return 22;
    3465              : 
    3466           18 :     case E_V2DFmode:
    3467           18 :       if (pattern809 (x1, 
    3468              : E_V2DFmode, 
    3469              : E_V4DFmode) != 0)
    3470              :         return -1;
    3471              :       return 23;
    3472              : 
    3473              :     default:
    3474              :       return -1;
    3475              :     }
    3476              : }
    3477              : 
    3478              : int
    3479        13537 : pattern850 (rtx x1)
    3480              : {
    3481        13537 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3482        13537 :   rtx x2;
    3483        13537 :   int res ATTRIBUTE_UNUSED;
    3484        13537 :   if (peep2_current_count < 3
    3485        13501 :       || XVECLEN (x1, 0) != 1
    3486        13498 :       || XINT (x1, 1) != 1)
    3487              :     return -1;
    3488        13492 :   x2 = XVECEXP (x1, 0, 0);
    3489        13492 :   if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    3490            0 :     return -1;
    3491              :   return 0;
    3492              : }
    3493              : 
    3494              : int
    3495        26000 : pattern854 (rtx x1)
    3496              : {
    3497        26000 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3498        26000 :   rtx x2, x3, x4;
    3499        26000 :   int res ATTRIBUTE_UNUSED;
    3500        26000 :   x2 = XEXP (x1, 0);
    3501        26000 :   x3 = XEXP (x2, 0);
    3502        26000 :   operands[0] = x3;
    3503        26000 :   x4 = XEXP (x1, 1);
    3504        26000 :   operands[1] = x4;
    3505        26000 :   switch (GET_MODE (x1))
    3506              :     {
    3507          683 :     case E_QImode:
    3508          683 :       if (GET_MODE (x2) != E_QImode
    3509          683 :           || !register_operand (operands[0], E_QImode)
    3510         1180 :           || !nonmemory_operand (operands[1], E_QImode))
    3511          317 :         return -1;
    3512              :       return 0;
    3513              : 
    3514         3072 :     case E_HImode:
    3515         3072 :       if (GET_MODE (x2) != E_HImode
    3516         3072 :           || !register_operand (operands[0], E_HImode)
    3517         5697 :           || !nonmemory_operand (operands[1], E_HImode))
    3518          447 :         return -1;
    3519              :       return 1;
    3520              : 
    3521        13540 :     case E_SImode:
    3522        13540 :       if (GET_MODE (x2) != E_SImode
    3523        13540 :           || !register_operand (operands[0], E_SImode)
    3524        25044 :           || !x86_64_szext_nonmemory_operand (operands[1], E_SImode))
    3525         2058 :         return -1;
    3526              :       return 2;
    3527              : 
    3528         8330 :     case E_DImode:
    3529         8330 :       if (GET_MODE (x2) != E_DImode)
    3530              :         return -1;
    3531              :       return 3;
    3532              : 
    3533          375 :     case E_TImode:
    3534          375 :       if (GET_MODE (x2) != E_TImode
    3535          375 :           || !nonimmediate_operand (operands[0], E_TImode)
    3536          747 :           || !nonimmediate_operand (operands[1], E_TImode))
    3537            3 :         return -1;
    3538              :       return 4;
    3539              : 
    3540              :     default:
    3541              :       return -1;
    3542              :     }
    3543              : }
    3544              : 
    3545              : int
    3546        23948 : pattern865 (rtx x1, machine_mode i1, machine_mode i2)
    3547              : {
    3548        23948 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3549        23948 :   rtx x2, x3;
    3550        23948 :   int res ATTRIBUTE_UNUSED;
    3551        23948 :   x2 = XEXP (x1, 0);
    3552        23948 :   if (GET_MODE (x2) != i2
    3553        23948 :       || !register_operand (operands[1], i1))
    3554         1309 :     return -1;
    3555        22639 :   x3 = XEXP (x1, 1);
    3556        22639 :   if (GET_MODE (x3) != i2
    3557        22639 :       || !nonimmediate_operand (operands[2], i1))
    3558          286 :     return -1;
    3559              :   return 0;
    3560              : }
    3561              : 
    3562              : int
    3563           61 : pattern871 (rtx x1, machine_mode i1)
    3564              : {
    3565           61 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3566           61 :   int res ATTRIBUTE_UNUSED;
    3567           61 :   if (!register_operand (operands[0], i1)
    3568           61 :       || GET_MODE (x1) != i1
    3569           61 :       || !register_operand (operands[2], i1)
    3570           40 :       || !register_operand (operands[1], i1)
    3571           95 :       || !const_0_to_7_operand (operands[3], E_SImode))
    3572           27 :     return -1;
    3573              :   return 0;
    3574              : }
    3575              : 
    3576              : int
    3577         8867 : pattern877 (rtx x1, machine_mode i1)
    3578              : {
    3579         8867 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3580         8867 :   rtx x2, x3;
    3581         8867 :   int res ATTRIBUTE_UNUSED;
    3582         8867 :   if (!register_operand (operands[0], i1)
    3583         8867 :       || GET_MODE (x1) != i1)
    3584              :     return -1;
    3585         8843 :   x2 = XEXP (x1, 0);
    3586         8843 :   if (GET_MODE (x2) != i1)
    3587              :     return -1;
    3588         8843 :   x3 = XEXP (x1, 2);
    3589         8843 :   if (GET_MODE (x3) != i1)
    3590            0 :     return -1;
    3591              :   return 0;
    3592              : }
    3593              : 
    3594              : int
    3595         1392 : pattern883 (rtx x1)
    3596              : {
    3597         1392 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3598         1392 :   rtx x2;
    3599         1392 :   int res ATTRIBUTE_UNUSED;
    3600         1392 :   switch (GET_MODE (operands[0]))
    3601              :     {
    3602          276 :     case E_DImode:
    3603          276 :       return pattern882 (x1, 
    3604              : E_DImode, 
    3605          276 : E_V64QImode); /* [-1, 0] */
    3606              : 
    3607          584 :     case E_SImode:
    3608          584 :       if (!register_operand (operands[0], E_SImode)
    3609          584 :           || GET_MODE (x1) != E_SImode)
    3610              :         return -1;
    3611          568 :       x2 = XEXP (x1, 0);
    3612          568 :       if (GET_MODE (x2) != E_SImode
    3613          568 :           || !register_operand (operands[3], E_SImode))
    3614           96 :         return -1;
    3615          472 :       res = pattern879 ();
    3616          472 :       if (res >= 0)
    3617          472 :         return res + 1; /* [1, 2] */
    3618              :       return -1;
    3619              : 
    3620              :     default:
    3621              :       return -1;
    3622              :     }
    3623              : }
    3624              : 
    3625              : int
    3626          614 : pattern892 (rtx x1)
    3627              : {
    3628          614 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3629          614 :   rtx x2;
    3630          614 :   int res ATTRIBUTE_UNUSED;
    3631          614 :   x2 = XEXP (x1, 2);
    3632          614 :   if (XWINT (x2, 0) != 1L)
    3633              :     return -1;
    3634          434 :   switch (GET_MODE (operands[0]))
    3635              :     {
    3636          210 :     case E_V4SFmode:
    3637          210 :       return pattern639 (x1, 
    3638          210 : E_V4SFmode); /* [-1, 0] */
    3639              : 
    3640          224 :     case E_V8HFmode:
    3641          224 :       if (pattern639 (x1, 
    3642              : E_V8HFmode) != 0)
    3643              :         return -1;
    3644              :       return 1;
    3645              : 
    3646              :     default:
    3647              :       return -1;
    3648              :     }
    3649              : }
    3650              : 
    3651              : int
    3652         1986 : pattern900 (rtx x1, machine_mode i1)
    3653              : {
    3654         1986 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3655         1986 :   rtx x2, x3;
    3656         1986 :   int res ATTRIBUTE_UNUSED;
    3657         1986 :   if (!register_operand (operands[0], i1)
    3658         1986 :       || GET_MODE (x1) != i1)
    3659              :     return -1;
    3660         1733 :   x2 = XEXP (x1, 0);
    3661         1733 :   operands[2] = x2;
    3662         1733 :   if (!register_operand (operands[2], i1))
    3663              :     return -1;
    3664         1514 :   x3 = XEXP (x1, 1);
    3665         1514 :   operands[1] = x3;
    3666         1514 :   if (!reg_or_0_operand (operands[1], i1))
    3667              :     return -1;
    3668              :   return 0;
    3669              : }
    3670              : 
    3671              : int
    3672         1370 : pattern910 (rtx x1)
    3673              : {
    3674         1370 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3675         1370 :   rtx x2, x3, x4, x5, x6, x7;
    3676         1370 :   int res ATTRIBUTE_UNUSED;
    3677         1370 :   x2 = XVECEXP (x1, 0, 0);
    3678         1370 :   x3 = XEXP (x2, 0);
    3679         1370 :   x4 = XEXP (x3, 0);
    3680         1370 :   x5 = XEXP (x4, 0);
    3681         1370 :   operands[2] = x5;
    3682         1370 :   x6 = XEXP (x2, 1);
    3683         1370 :   operands[1] = x6;
    3684         1370 :   x7 = XVECEXP (x1, 0, 1);
    3685         1370 :   operands[3] = x7;
    3686         1370 :   if (!const_4_or_8_to_11_operand (operands[3], E_SImode))
    3687              :     return -1;
    3688         1370 :   switch (GET_MODE (operands[0]))
    3689              :     {
    3690          572 :     case E_V8HFmode:
    3691          572 :       return pattern909 (x1, 
    3692              : E_V8HFmode, 
    3693          572 : E_HFmode); /* [-1, 1] */
    3694              : 
    3695          556 :     case E_V4SFmode:
    3696          556 :       res = pattern909 (x1, 
    3697              : E_V4SFmode, 
    3698              : E_SFmode);
    3699          556 :       if (res >= 0)
    3700          540 :         return res + 2; /* [2, 3] */
    3701              :       return -1;
    3702              : 
    3703          242 :     case E_V2DFmode:
    3704          242 :       if (!register_operand (operands[0], E_V2DFmode)
    3705          236 :           || GET_MODE (x1) != E_V2DFmode
    3706          236 :           || GET_MODE (x2) != E_V2DFmode
    3707          236 :           || GET_MODE (x3) != E_V2DFmode
    3708          236 :           || GET_MODE (x4) != E_DFmode
    3709          236 :           || !register_operand (operands[2], E_DImode)
    3710          478 :           || !register_operand (operands[1], E_V2DFmode))
    3711            8 :         return -1;
    3712              :       return 4;
    3713              : 
    3714              :     default:
    3715              :       return -1;
    3716              :     }
    3717              : }
    3718              : 
    3719              : int
    3720       599839 : pattern923 (rtx x1, machine_mode i1, machine_mode i2)
    3721              : {
    3722       599839 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3723       599839 :   int res ATTRIBUTE_UNUSED;
    3724       599839 :   if (!register_operand (operands[0], i2)
    3725       580150 :       || GET_MODE (x1) != i2
    3726       580150 :       || !nonimmediate_operand (operands[1], i1)
    3727      1159353 :       || !const0_operand (operands[2], i1))
    3728        45916 :     return -1;
    3729              :   return 0;
    3730              : }
    3731              : 
    3732              : int
    3733          232 : pattern925 (rtx x1, machine_mode i1)
    3734              : {
    3735          232 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3736          232 :   rtx x2;
    3737          232 :   int res ATTRIBUTE_UNUSED;
    3738          232 :   if (!register_operand (operands[0], i1)
    3739          223 :       || GET_MODE (x1) != i1
    3740          223 :       || !nonimmediate_operand (operands[1], i1)
    3741          452 :       || !nonimmediate_operand (operands[2], i1))
    3742           12 :     return -1;
    3743          220 :   x2 = XEXP (x1, 2);
    3744          220 :   if (GET_MODE (x2) != i1
    3745          220 :       || !nonimmediate_operand (operands[3], i1))
    3746            0 :     return -1;
    3747              :   return 0;
    3748              : }
    3749              : 
    3750              : int
    3751         9112 : pattern929 (rtx x1)
    3752              : {
    3753         9112 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3754         9112 :   rtx x2, x3, x4, x5, x6, x7;
    3755         9112 :   int res ATTRIBUTE_UNUSED;
    3756         9112 :   x2 = XVECEXP (x1, 0, 2);
    3757         9112 :   if (GET_CODE (x2) != CONST_INT)
    3758              :     return -1;
    3759         9112 :   x3 = XVECEXP (x1, 0, 3);
    3760         9112 :   if (GET_CODE (x3) != CONST_INT)
    3761              :     return -1;
    3762         9112 :   x4 = XVECEXP (x1, 0, 4);
    3763         9112 :   if (GET_CODE (x4) != CONST_INT)
    3764              :     return -1;
    3765         9112 :   x5 = XVECEXP (x1, 0, 5);
    3766         9112 :   if (GET_CODE (x5) != CONST_INT)
    3767              :     return -1;
    3768         9112 :   x6 = XVECEXP (x1, 0, 6);
    3769         9112 :   if (GET_CODE (x6) != CONST_INT)
    3770              :     return -1;
    3771         9112 :   x7 = XVECEXP (x1, 0, 7);
    3772         9112 :   if (GET_CODE (x7) != CONST_INT)
    3773            0 :     return -1;
    3774              :   return 0;
    3775              : }
    3776              : 
    3777              : int
    3778           66 : pattern939 (rtx x1, int *pnum_clobbers)
    3779              : {
    3780           66 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3781           66 :   rtx x2, x3, x4, x5, x6;
    3782           66 :   int res ATTRIBUTE_UNUSED;
    3783           66 :   x2 = XVECEXP (x1, 0, 0);
    3784           66 :   x3 = XEXP (x2, 1);
    3785           66 :   x4 = XEXP (x3, 0);
    3786           66 :   x5 = XEXP (x4, 0);
    3787           66 :   operands[1] = x5;
    3788           66 :   if (!nonimmediate_operand (operands[1], E_SImode))
    3789              :     return -1;
    3790           24 :   x6 = XVECEXP (x1, 0, 1);
    3791           24 :   return pattern829 (x6, pnum_clobbers); /* [-1, 1] */
    3792              : }
    3793              : 
    3794              : int
    3795          288 : pattern945 (rtx x1)
    3796              : {
    3797          288 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3798          288 :   rtx x2, x3, x4, x5;
    3799          288 :   int res ATTRIBUTE_UNUSED;
    3800          288 :   x2 = XEXP (x1, 0);
    3801          288 :   x3 = XEXP (x2, 1);
    3802          288 :   x4 = XEXP (x3, 1);
    3803          288 :   if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    3804              :     return -1;
    3805          282 :   x5 = XEXP (x3, 0);
    3806          282 :   operands[3] = x5;
    3807          282 :   if (!int_nonimmediate_operand (operands[3], E_VOIDmode))
    3808              :     return -1;
    3809          276 :   switch (GET_MODE (operands[0]))
    3810              :     {
    3811            0 :     case E_QImode:
    3812            0 :       return pattern943 (x1, 
    3813            0 : E_QImode); /* [-1, 0] */
    3814              : 
    3815            0 :     case E_HImode:
    3816            0 :       if (pattern943 (x1, 
    3817              : E_HImode) != 0)
    3818              :         return -1;
    3819              :       return 1;
    3820              : 
    3821          192 :     case E_SImode:
    3822          192 :       if (pattern944 (x1, 
    3823              : E_SImode) != 0)
    3824              :         return -1;
    3825              :       return 2;
    3826              : 
    3827           84 :     case E_DImode:
    3828           84 :       if (pattern944 (x1, 
    3829              : E_DImode) != 0)
    3830              :         return -1;
    3831              :       return 3;
    3832              : 
    3833              :     default:
    3834              :       return -1;
    3835              :     }
    3836              : }
    3837              : 
    3838              : int
    3839          100 : pattern958 (rtx x1, machine_mode i1)
    3840              : {
    3841          100 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3842          100 :   rtx x2;
    3843          100 :   int res ATTRIBUTE_UNUSED;
    3844          100 :   if (!register_operand (operands[0], i1)
    3845          100 :       || GET_MODE (x1) != i1)
    3846              :     return -1;
    3847           76 :   x2 = XEXP (x1, 0);
    3848           76 :   if (GET_MODE (x2) != i1
    3849           76 :       || !vector_operand (operands[1], i1)
    3850           61 :       || !vector_operand (operands[2], i1)
    3851          132 :       || !const0_operand (operands[3], i1))
    3852           52 :     return -1;
    3853              :   return 0;
    3854              : }
    3855              : 
    3856              : int
    3857       139797 : pattern967 (rtx x1)
    3858              : {
    3859       139797 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3860       139797 :   int res ATTRIBUTE_UNUSED;
    3861       139797 :   switch (GET_MODE (operands[0]))
    3862              :     {
    3863        62316 :     case E_QImode:
    3864        62316 :       if (!register_operand (operands[0], E_QImode)
    3865        62316 :           || GET_MODE (x1) != E_QImode)
    3866              :         return -1;
    3867              :       return 0;
    3868              : 
    3869        55898 :     case E_HImode:
    3870        55898 :       if (!register_operand (operands[0], E_HImode)
    3871        55898 :           || GET_MODE (x1) != E_HImode)
    3872              :         return -1;
    3873              :       return 1;
    3874              : 
    3875              :     default:
    3876              :       return -1;
    3877              :     }
    3878              : }
    3879              : 
    3880              : int
    3881         8831 : pattern969 (rtx x1, machine_mode i1)
    3882              : {
    3883         8831 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3884         8831 :   int res ATTRIBUTE_UNUSED;
    3885         8831 :   if (!register_operand (operands[0], i1)
    3886         8811 :       || GET_MODE (x1) != i1
    3887         8811 :       || !register_operand (operands[1], i1)
    3888         6939 :       || !register_operand (operands[2], i1)
    3889        14381 :       || !register_operand (operands[3], i1))
    3890         3861 :     return -1;
    3891              :   return 0;
    3892              : }
    3893              : 
    3894              : int
    3895         4077 : pattern973 (rtx x1)
    3896              : {
    3897         4077 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3898         4077 :   rtx x2, x3;
    3899         4077 :   int res ATTRIBUTE_UNUSED;
    3900         4077 :   x2 = XEXP (x1, 1);
    3901         4077 :   switch (GET_CODE (x2))
    3902              :     {
    3903         1309 :     case CONST_INT:
    3904         1309 :       if (!register_operand (operands[0], E_QImode)
    3905         1309 :           || GET_MODE (x1) != E_QImode)
    3906              :         return -1;
    3907          686 :       x3 = XEXP (x1, 0);
    3908          686 :       if (GET_MODE (x3) != E_QImode)
    3909              :         return -1;
    3910          686 :       switch (XWINT (x2, 0))
    3911              :         {
    3912           13 :         case 15L:
    3913           13 :           switch (GET_MODE (operands[1]))
    3914              :             {
    3915            8 :             case E_V4SImode:
    3916            8 :               if (!nonimm_or_0_operand (operands[1], E_V4SImode)
    3917            8 :                   || !nonimm_or_0_operand (operands[2], E_V4SImode))
    3918            4 :                 return -1;
    3919              :               return 0;
    3920              : 
    3921            4 :             case E_V4DImode:
    3922            4 :               if (!nonimm_or_0_operand (operands[1], E_V4DImode)
    3923            4 :                   || !nonimm_or_0_operand (operands[2], E_V4DImode))
    3924            4 :                 return -1;
    3925              :               return 1;
    3926              : 
    3927              :             default:
    3928              :               return -1;
    3929              :             }
    3930              : 
    3931           69 :         case 3L:
    3932           69 :           if (!nonimm_or_0_operand (operands[1], E_V2DImode)
    3933           69 :               || !nonimm_or_0_operand (operands[2], E_V2DImode))
    3934           69 :             return -1;
    3935              :           return 2;
    3936              : 
    3937              :         default:
    3938              :           return -1;
    3939              :         }
    3940              : 
    3941         2662 :     case REG:
    3942         2662 :     case SUBREG:
    3943         2662 :       operands[3] = x2;
    3944         2662 :       switch (GET_MODE (operands[0]))
    3945              :         {
    3946         1051 :         case E_HImode:
    3947         1051 :           if (!register_operand (operands[0], E_HImode)
    3948         1051 :               || GET_MODE (x1) != E_HImode)
    3949              :             return -1;
    3950         1037 :           x3 = XEXP (x1, 0);
    3951         1037 :           if (GET_MODE (x3) != E_HImode
    3952         1037 :               || !register_operand (operands[3], E_HImode))
    3953            0 :             return -1;
    3954         1037 :           switch (GET_MODE (operands[1]))
    3955              :             {
    3956           75 :             case E_V16QImode:
    3957           75 :               if (!nonimm_or_0_operand (operands[1], E_V16QImode)
    3958           75 :                   || !nonimm_or_0_operand (operands[2], E_V16QImode))
    3959            0 :                 return -1;
    3960              :               return 3;
    3961              : 
    3962           91 :             case E_V16HImode:
    3963           91 :               if (!nonimm_or_0_operand (operands[1], E_V16HImode)
    3964           91 :                   || !nonimm_or_0_operand (operands[2], E_V16HImode))
    3965            0 :                 return -1;
    3966              :               return 4;
    3967              : 
    3968          867 :             case E_V16SImode:
    3969          867 :               if (!nonimm_or_0_operand (operands[1], E_V16SImode)
    3970          867 :                   || !nonimm_or_0_operand (operands[2], E_V16SImode))
    3971            8 :                 return -1;
    3972              :               return 5;
    3973              : 
    3974              :             default:
    3975              :               return -1;
    3976              :             }
    3977              : 
    3978          550 :         case E_QImode:
    3979          550 :           if (!register_operand (operands[0], E_QImode)
    3980          550 :               || GET_MODE (x1) != E_QImode)
    3981              :             return -1;
    3982          512 :           x3 = XEXP (x1, 0);
    3983          512 :           if (GET_MODE (x3) != E_QImode
    3984          512 :               || !register_operand (operands[3], E_QImode))
    3985            0 :             return -1;
    3986          512 :           switch (GET_MODE (operands[1]))
    3987              :             {
    3988           91 :             case E_V8HImode:
    3989           91 :               if (!nonimm_or_0_operand (operands[1], E_V8HImode)
    3990           91 :                   || !nonimm_or_0_operand (operands[2], E_V8HImode))
    3991            0 :                 return -1;
    3992              :               return 6;
    3993              : 
    3994           77 :             case E_V8SImode:
    3995           77 :               if (!nonimm_or_0_operand (operands[1], E_V8SImode)
    3996           77 :                   || !nonimm_or_0_operand (operands[2], E_V8SImode))
    3997            0 :                 return -1;
    3998              :               return 7;
    3999              : 
    4000           81 :             case E_V4SImode:
    4001           81 :               if (!nonimm_or_0_operand (operands[1], E_V4SImode)
    4002           81 :                   || !nonimm_or_0_operand (operands[2], E_V4SImode))
    4003            0 :                 return -1;
    4004              :               return 8;
    4005              : 
    4006           80 :             case E_V8DImode:
    4007           80 :               if (!nonimm_or_0_operand (operands[1], E_V8DImode)
    4008           80 :                   || !nonimm_or_0_operand (operands[2], E_V8DImode))
    4009            2 :                 return -1;
    4010              :               return 9;
    4011              : 
    4012           80 :             case E_V4DImode:
    4013           80 :               if (!nonimm_or_0_operand (operands[1], E_V4DImode)
    4014           80 :                   || !nonimm_or_0_operand (operands[2], E_V4DImode))
    4015            2 :                 return -1;
    4016              :               return 10;
    4017              : 
    4018           99 :             case E_V2DImode:
    4019           99 :               if (!nonimm_or_0_operand (operands[1], E_V2DImode)
    4020           99 :                   || !nonimm_or_0_operand (operands[2], E_V2DImode))
    4021            2 :                 return -1;
    4022              :               return 11;
    4023              : 
    4024              :             default:
    4025              :               return -1;
    4026              :             }
    4027              : 
    4028              :         default:
    4029              :           return -1;
    4030              :         }
    4031              : 
    4032              :     default:
    4033              :       return -1;
    4034              :     }
    4035              : }
    4036              : 
    4037              : int
    4038          596 : pattern1007 (rtx x1, machine_mode i1)
    4039              : {
    4040          596 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4041          596 :   rtx x2, x3;
    4042          596 :   int res ATTRIBUTE_UNUSED;
    4043          596 :   if (!register_operand (operands[0], i1)
    4044          596 :       || GET_MODE (x1) != i1)
    4045              :     return -1;
    4046          590 :   x2 = XEXP (x1, 0);
    4047          590 :   if (GET_MODE (x2) != i1)
    4048              :     return -1;
    4049          590 :   x3 = XEXP (x2, 0);
    4050          590 :   if (GET_MODE (x3) != i1)
    4051            0 :     return -1;
    4052              :   return 0;
    4053              : }
    4054              : 
    4055              : int
    4056          181 : pattern1014 (rtx x1)
    4057              : {
    4058          181 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4059          181 :   rtx x2, x3, x4, x5;
    4060          181 :   int res ATTRIBUTE_UNUSED;
    4061          181 :   x2 = XEXP (x1, 0);
    4062          181 :   x3 = XEXP (x2, 0);
    4063          181 :   x4 = XEXP (x3, 0);
    4064          181 :   operands[2] = x4;
    4065          181 :   x5 = XEXP (x1, 1);
    4066          181 :   operands[1] = x5;
    4067          181 :   switch (GET_MODE (operands[0]))
    4068              :     {
    4069           32 :     case E_V8HImode:
    4070           32 :       return pattern1013 (x1, 
    4071              : E_V8HImode, 
    4072           32 : E_HImode); /* [-1, 0] */
    4073              : 
    4074            0 :     case E_V8HFmode:
    4075            0 :       if (pattern1013 (x1, 
    4076              : E_V8HFmode, 
    4077              : E_HFmode) != 0)
    4078              :         return -1;
    4079              :       return 1;
    4080              : 
    4081            0 :     case E_V8BFmode:
    4082            0 :       if (pattern1013 (x1, 
    4083              : E_V8BFmode, 
    4084              : E_BFmode) != 0)
    4085              :         return -1;
    4086              :       return 2;
    4087              : 
    4088              :     default:
    4089              :       return -1;
    4090              :     }
    4091              : }
    4092              : 
    4093              : int
    4094          481 : pattern1025 (rtx x1, machine_mode i1, machine_mode i2)
    4095              : {
    4096          481 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4097          481 :   rtx x2;
    4098          481 :   int res ATTRIBUTE_UNUSED;
    4099          481 :   if (!register_operand (operands[0], i2)
    4100          481 :       || GET_MODE (x1) != i2)
    4101              :     return -1;
    4102          461 :   x2 = XVECEXP (x1, 0, 0);
    4103          461 :   if (GET_MODE (x2) != i2
    4104          461 :       || !register_operand (operands[1], i1))
    4105           32 :     return -1;
    4106              :   return 0;
    4107              : }
    4108              : 
    4109              : int
    4110          471 : pattern1031 (rtx x1)
    4111              : {
    4112          471 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4113          471 :   rtx x2;
    4114          471 :   int res ATTRIBUTE_UNUSED;
    4115          471 :   if (!const48_operand (operands[2], E_SImode))
    4116              :     return -1;
    4117          471 :   switch (GET_MODE (operands[0]))
    4118              :     {
    4119           88 :     case E_V16SImode:
    4120           88 :       return pattern1025 (x1, 
    4121              : E_V16SFmode, 
    4122           88 : E_V16SImode); /* [-1, 0] */
    4123              : 
    4124           93 :     case E_V8SImode:
    4125           93 :       if (pattern1025 (x1, 
    4126              : E_V8DFmode, 
    4127              : E_V8SImode) != 0)
    4128              :         return -1;
    4129              :       return 1;
    4130              : 
    4131          232 :     case E_V8DImode:
    4132          232 :       if (!register_operand (operands[0], E_V8DImode)
    4133          232 :           || GET_MODE (x1) != E_V8DImode)
    4134              :         return -1;
    4135          208 :       x2 = XVECEXP (x1, 0, 0);
    4136          208 :       if (GET_MODE (x2) != E_V8DImode)
    4137              :         return -1;
    4138          208 :       switch (GET_MODE (operands[1]))
    4139              :         {
    4140          106 :         case E_V8DFmode:
    4141          106 :           if (!register_operand (operands[1], E_V8DFmode))
    4142              :             return -1;
    4143              :           return 2;
    4144              : 
    4145          102 :         case E_V8SFmode:
    4146          102 :           if (!register_operand (operands[1], E_V8SFmode))
    4147              :             return -1;
    4148              :           return 3;
    4149              : 
    4150              :         default:
    4151              :           return -1;
    4152              :         }
    4153              : 
    4154              :     default:
    4155              :       return -1;
    4156              :     }
    4157              : }
    4158              : 
    4159              : int
    4160        13484 : pattern1048 (rtx x1)
    4161              : {
    4162        13484 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4163        13484 :   rtx x2;
    4164        13484 :   int res ATTRIBUTE_UNUSED;
    4165        13484 :   switch (GET_MODE (operands[0]))
    4166              :     {
    4167           23 :     case E_HImode:
    4168           23 :       if (!register_operand (operands[0], E_HImode)
    4169           23 :           || GET_MODE (x1) != E_HImode)
    4170              :         return -1;
    4171           23 :       x2 = XEXP (x1, 0);
    4172           23 :       if (GET_MODE (x2) != E_QImode
    4173           23 :           || !nonimmediate_operand (operands[1], E_QImode)
    4174           44 :           || !x86_64_general_operand (operands[2], E_QImode))
    4175            2 :         return -1;
    4176              :       return 0;
    4177              : 
    4178          400 :     case E_SImode:
    4179          400 :       if (!register_operand (operands[0], E_SImode)
    4180          400 :           || GET_MODE (x1) != E_SImode)
    4181              :         return -1;
    4182          398 :       x2 = XEXP (x1, 0);
    4183          398 :       switch (GET_MODE (x2))
    4184              :         {
    4185          208 :         case E_QImode:
    4186          208 :           if (!nonimmediate_operand (operands[1], E_QImode)
    4187          208 :               || !x86_64_general_operand (operands[2], E_QImode))
    4188            2 :             return -1;
    4189              :           return 1;
    4190              : 
    4191          190 :         case E_HImode:
    4192          190 :           if (!nonimmediate_operand (operands[1], E_HImode)
    4193          190 :               || !x86_64_general_operand (operands[2], E_HImode))
    4194           48 :             return -1;
    4195              :           return 2;
    4196              : 
    4197              :         default:
    4198              :           return -1;
    4199              :         }
    4200              : 
    4201        13060 :     case E_DImode:
    4202        13060 :       if (!register_operand (operands[0], E_DImode)
    4203        13060 :           || GET_MODE (x1) != E_DImode)
    4204              :         return -1;
    4205        13060 :       x2 = XEXP (x1, 0);
    4206        13060 :       switch (GET_MODE (x2))
    4207              :         {
    4208          252 :         case E_QImode:
    4209          252 :           if (!nonimmediate_operand (operands[1], E_QImode)
    4210          252 :               || !x86_64_general_operand (operands[2], E_QImode))
    4211            0 :             return -1;
    4212              :           return 3;
    4213              : 
    4214           19 :         case E_HImode:
    4215           19 :           if (!nonimmediate_operand (operands[1], E_HImode)
    4216           19 :               || !x86_64_general_operand (operands[2], E_HImode))
    4217            0 :             return -1;
    4218              :           return 4;
    4219              : 
    4220        12789 :         case E_SImode:
    4221        12789 :           if (!nonimmediate_operand (operands[1], E_SImode)
    4222        12789 :               || !x86_64_general_operand (operands[2], E_SImode))
    4223         1175 :             return -1;
    4224              :           return 5;
    4225              : 
    4226              :         default:
    4227              :           return -1;
    4228              :         }
    4229              : 
    4230              :     default:
    4231              :       return -1;
    4232              :     }
    4233              : }
    4234              : 
    4235              : int
    4236            0 : pattern1063 (rtx x1)
    4237              : {
    4238            0 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4239            0 :   rtx x2;
    4240            0 :   int res ATTRIBUTE_UNUSED;
    4241            0 :   if (!register_operand (operands[0], E_V2SFmode)
    4242            0 :       || GET_MODE (x1) != E_V2SFmode)
    4243              :     return -1;
    4244            0 :   x2 = XEXP (x1, 0);
    4245            0 :   if (GET_MODE (x2) != E_V2SFmode
    4246            0 :       || !register_operand (operands[1], E_V2SFmode)
    4247            0 :       || !nonimmediate_operand (operands[2], E_V2SFmode))
    4248            0 :     return -1;
    4249              :   return 0;
    4250              : }
    4251              : 
    4252              : int
    4253         1053 : pattern1067 (rtx x1)
    4254              : {
    4255         1053 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4256         1053 :   rtx x2, x3, x4, x5, x6, x7, x8;
    4257         1053 :   int res ATTRIBUTE_UNUSED;
    4258         1053 :   x2 = XEXP (x1, 0);
    4259         1053 :   x3 = XEXP (x2, 1);
    4260         1053 :   if (GET_MODE (x3) != E_QImode)
    4261              :     return -1;
    4262         1053 :   x4 = XEXP (x1, 1);
    4263         1053 :   operands[3] = x4;
    4264         1053 :   switch (GET_CODE (x3))
    4265              :     {
    4266          541 :     case SUBREG:
    4267          541 :       if (maybe_ne (SUBREG_BYTE (x3), 0))
    4268              :         return -1;
    4269          541 :       x5 = XEXP (x3, 0);
    4270          541 :       if (GET_CODE (x5) != AND)
    4271              :         return -1;
    4272          162 :       x6 = XEXP (x5, 0);
    4273          162 :       operands[1] = x6;
    4274          162 :       if (!int248_register_operand (operands[1], E_VOIDmode))
    4275              :         return -1;
    4276          157 :       x7 = XEXP (x5, 1);
    4277          157 :       operands[2] = x7;
    4278          157 :       if (!const_int_operand (operands[2], E_VOIDmode))
    4279              :         return -1;
    4280          157 :       switch (GET_MODE (operands[0]))
    4281              :         {
    4282           64 :         case E_SImode:
    4283           64 :           return pattern372 (x1, 
    4284           64 : E_SImode); /* [-1, 0] */
    4285              : 
    4286           65 :         case E_DImode:
    4287           65 :           if (pattern372 (x1, 
    4288              : E_DImode) != 0)
    4289              :             return -1;
    4290              :           return 1;
    4291              : 
    4292              :         default:
    4293              :           return -1;
    4294              :         }
    4295              : 
    4296            3 :     case AND:
    4297            3 :       x5 = XEXP (x3, 0);
    4298            3 :       operands[1] = x5;
    4299            3 :       if (!register_operand (operands[1], E_QImode))
    4300              :         return -1;
    4301            3 :       x8 = XEXP (x3, 1);
    4302            3 :       operands[2] = x8;
    4303            3 :       if (!const_int_operand (operands[2], E_QImode))
    4304              :         return -1;
    4305            3 :       switch (GET_MODE (operands[0]))
    4306              :         {
    4307            3 :         case E_SImode:
    4308            3 :           if (pattern372 (x1, 
    4309              : E_SImode) != 0)
    4310              :             return -1;
    4311              :           return 2;
    4312              : 
    4313            0 :         case E_DImode:
    4314            0 :           if (pattern372 (x1, 
    4315              : E_DImode) != 0)
    4316              :             return -1;
    4317              :           return 3;
    4318              : 
    4319              :         default:
    4320              :           return -1;
    4321              :         }
    4322              : 
    4323              :     default:
    4324              :       return -1;
    4325              :     }
    4326              : }
    4327              : 
    4328              : int
    4329          323 : pattern1087 (rtx x1, machine_mode i1, machine_mode i2)
    4330              : {
    4331          323 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4332          323 :   rtx x2;
    4333          323 :   int res ATTRIBUTE_UNUSED;
    4334          323 :   if (!register_operand (operands[0], i1)
    4335          323 :       || GET_MODE (x1) != i1)
    4336              :     return -1;
    4337          311 :   x2 = XEXP (x1, 0);
    4338          311 :   if (GET_MODE (x2) != i1
    4339          311 :       || !nonimmediate_operand (operands[1], i2)
    4340          618 :       || !register_operand (operands[3], i1))
    4341           53 :     return -1;
    4342              :   return 0;
    4343              : }
    4344              : 
    4345              : int
    4346            0 : pattern1095 (rtx x1)
    4347              : {
    4348            0 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4349            0 :   rtx x2;
    4350            0 :   int res ATTRIBUTE_UNUSED;
    4351            0 :   switch (GET_MODE (x1))
    4352              :     {
    4353            0 :     case E_DImode:
    4354            0 :       x2 = XEXP (x1, 0);
    4355            0 :       if (GET_MODE (x2) != E_DImode
    4356            0 :           || !register_operand (operands[1], E_V64QImode)
    4357            0 :           || !nonimmediate_operand (operands[2], E_V64QImode)
    4358            0 :           || !register_operand (operands[3], E_DImode))
    4359            0 :         return -1;
    4360              :       return 0;
    4361              : 
    4362            0 :     case E_SImode:
    4363            0 :       x2 = XEXP (x1, 0);
    4364            0 :       if (GET_MODE (x2) != E_SImode
    4365            0 :           || !register_operand (operands[3], E_SImode))
    4366            0 :         return -1;
    4367            0 :       switch (GET_MODE (operands[1]))
    4368              :         {
    4369            0 :         case E_V32QImode:
    4370            0 :           if (!register_operand (operands[1], E_V32QImode)
    4371            0 :               || !nonimmediate_operand (operands[2], E_V32QImode))
    4372            0 :             return -1;
    4373              :           return 1;
    4374              : 
    4375            0 :         case E_V32HImode:
    4376            0 :           if (!register_operand (operands[1], E_V32HImode)
    4377            0 :               || !nonimmediate_operand (operands[2], E_V32HImode))
    4378            0 :             return -1;
    4379              :           return 2;
    4380              : 
    4381              :         default:
    4382              :           return -1;
    4383              :         }
    4384              : 
    4385            0 :     case E_HImode:
    4386            0 :       x2 = XEXP (x1, 0);
    4387            0 :       if (GET_MODE (x2) != E_HImode
    4388            0 :           || !register_operand (operands[3], E_HImode))
    4389            0 :         return -1;
    4390            0 :       switch (GET_MODE (operands[1]))
    4391              :         {
    4392            0 :         case E_V16QImode:
    4393            0 :           if (!register_operand (operands[1], E_V16QImode)
    4394            0 :               || !nonimmediate_operand (operands[2], E_V16QImode))
    4395            0 :             return -1;
    4396              :           return 3;
    4397              : 
    4398            0 :         case E_V16HImode:
    4399            0 :           if (!register_operand (operands[1], E_V16HImode)
    4400            0 :               || !nonimmediate_operand (operands[2], E_V16HImode))
    4401            0 :             return -1;
    4402              :           return 4;
    4403              : 
    4404            0 :         case E_V16SImode:
    4405            0 :           if (!register_operand (operands[1], E_V16SImode)
    4406            0 :               || !nonimmediate_operand (operands[2], E_V16SImode))
    4407            0 :             return -1;
    4408              :           return 5;
    4409              : 
    4410              :         default:
    4411              :           return -1;
    4412              :         }
    4413              : 
    4414            0 :     case E_QImode:
    4415            0 :       x2 = XEXP (x1, 0);
    4416            0 :       if (GET_MODE (x2) != E_QImode
    4417            0 :           || !register_operand (operands[3], E_QImode))
    4418            0 :         return -1;
    4419            0 :       switch (GET_MODE (operands[1]))
    4420              :         {
    4421            0 :         case E_V8HImode:
    4422            0 :           if (!register_operand (operands[1], E_V8HImode)
    4423            0 :               || !nonimmediate_operand (operands[2], E_V8HImode))
    4424            0 :             return -1;
    4425              :           return 6;
    4426              : 
    4427            0 :         case E_V8SImode:
    4428            0 :           if (!register_operand (operands[1], E_V8SImode)
    4429            0 :               || !nonimmediate_operand (operands[2], E_V8SImode))
    4430            0 :             return -1;
    4431              :           return 7;
    4432              : 
    4433            0 :         case E_V4SImode:
    4434            0 :           if (!register_operand (operands[1], E_V4SImode)
    4435            0 :               || !nonimmediate_operand (operands[2], E_V4SImode))
    4436            0 :             return -1;
    4437              :           return 8;
    4438              : 
    4439            0 :         case E_V8DImode:
    4440            0 :           if (!register_operand (operands[1], E_V8DImode)
    4441            0 :               || !nonimmediate_operand (operands[2], E_V8DImode))
    4442            0 :             return -1;
    4443              :           return 9;
    4444              : 
    4445            0 :         case E_V4DImode:
    4446            0 :           if (!register_operand (operands[1], E_V4DImode)
    4447            0 :               || !nonimmediate_operand (operands[2], E_V4DImode))
    4448            0 :             return -1;
    4449              :           return 10;
    4450              : 
    4451            0 :         case E_V2DImode:
    4452            0 :           if (!register_operand (operands[1], E_V2DImode)
    4453            0 :               || !nonimmediate_operand (operands[2], E_V2DImode))
    4454            0 :             return -1;
    4455              :           return 11;
    4456              : 
    4457              :         default:
    4458              :           return -1;
    4459              :         }
    4460              : 
    4461              :     default:
    4462              :       return -1;
    4463              :     }
    4464              : }
    4465              : 
    4466              : int
    4467          958 : pattern1140 (rtx x1)
    4468              : {
    4469          958 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4470          958 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    4471          958 :   rtx x10, x11;
    4472          958 :   int res ATTRIBUTE_UNUSED;
    4473          958 :   x2 = XVECEXP (x1, 0, 0);
    4474          958 :   x3 = XEXP (x2, 2);
    4475          958 :   if (XWINT (x3, 0) != 1L)
    4476              :     return -1;
    4477          958 :   x4 = XEXP (x2, 0);
    4478          958 :   x5 = XEXP (x4, 0);
    4479          958 :   x6 = XVECEXP (x5, 0, 0);
    4480          958 :   operands[1] = x6;
    4481          958 :   x7 = XVECEXP (x5, 0, 1);
    4482          958 :   operands[2] = x7;
    4483          958 :   x8 = XEXP (x4, 1);
    4484          958 :   operands[3] = x8;
    4485          958 :   x9 = XEXP (x4, 2);
    4486          958 :   operands[4] = x9;
    4487          958 :   if (!register_operand (operands[4], E_QImode))
    4488              :     return -1;
    4489          940 :   x10 = XVECEXP (x1, 0, 1);
    4490          940 :   operands[5] = x10;
    4491          940 :   if (!const48_operand (operands[5], E_SImode))
    4492              :     return -1;
    4493          940 :   x11 = XEXP (x2, 1);
    4494          940 :   if (!rtx_equal_p (x11, operands[1]))
    4495              :     return -1;
    4496          940 :   switch (GET_MODE (operands[0]))
    4497              :     {
    4498          520 :     case E_V8HFmode:
    4499          520 :       return pattern1139 (x1, 
    4500          520 : E_V8HFmode); /* [-1, 0] */
    4501              : 
    4502          210 :     case E_V4SFmode:
    4503          210 :       if (pattern1139 (x1, 
    4504              : E_V4SFmode) != 0)
    4505              :         return -1;
    4506              :       return 1;
    4507              : 
    4508          210 :     case E_V2DFmode:
    4509          210 :       if (pattern1139 (x1, 
    4510              : E_V2DFmode) != 0)
    4511              :         return -1;
    4512              :       return 2;
    4513              : 
    4514              :     default:
    4515              :       return -1;
    4516              :     }
    4517              : }
    4518              : 
    4519              : int
    4520         7618 : pattern1157 (rtx x1)
    4521              : {
    4522         7618 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4523         7618 :   rtx x2, x3, x4, x5;
    4524         7618 :   int res ATTRIBUTE_UNUSED;
    4525         7618 :   x2 = XEXP (x1, 2);
    4526         7618 :   x3 = XEXP (x2, 0);
    4527         7618 :   if (!rtx_equal_p (x3, operands[1]))
    4528              :     return -1;
    4529         7618 :   x4 = XEXP (x2, 1);
    4530         7618 :   x5 = XEXP (x4, 0);
    4531         7618 :   if (!rtx_equal_p (x5, operands[2]))
    4532              :     return -1;
    4533         7596 :   switch (GET_MODE (operands[0]))
    4534              :     {
    4535          468 :     case E_V16QImode:
    4536          468 :       return pattern1156 (x1, 
    4537          468 : E_V16QImode); /* [-1, 0] */
    4538              : 
    4539          410 :     case E_V8HImode:
    4540          410 :       if (pattern1156 (x1, 
    4541              : E_V8HImode) != 0)
    4542              :         return -1;
    4543              :       return 1;
    4544              : 
    4545         4412 :     case E_V4SImode:
    4546         4412 :       if (pattern1156 (x1, 
    4547              : E_V4SImode) != 0)
    4548              :         return -1;
    4549              :       return 2;
    4550              : 
    4551         2306 :     case E_V2DImode:
    4552         2306 :       if (pattern1156 (x1, 
    4553              : E_V2DImode) != 0)
    4554              :         return -1;
    4555              :       return 3;
    4556              : 
    4557              :     default:
    4558              :       return -1;
    4559              :     }
    4560              : }
    4561              : 
    4562              : int
    4563            0 : pattern1168 (rtx x1, machine_mode i1)
    4564              : {
    4565            0 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4566            0 :   rtx x2, x3;
    4567            0 :   int res ATTRIBUTE_UNUSED;
    4568            0 :   if (!nonimmediate_operand (operands[0], i1)
    4569            0 :       || GET_MODE (x1) != i1)
    4570              :     return -1;
    4571            0 :   x2 = XEXP (x1, 0);
    4572            0 :   if (GET_MODE (x2) != i1)
    4573              :     return -1;
    4574            0 :   x3 = XEXP (x2, 0);
    4575            0 :   if (GET_MODE (x3) != i1
    4576            0 :       || !nonimmediate_operand (operands[1], i1)
    4577            0 :       || !general_operand (operands[2], i1))
    4578            0 :     return -1;
    4579              :   return 0;
    4580              : }
    4581              : 
    4582              : int
    4583         4266 : pattern1176 (rtx x1)
    4584              : {
    4585         4266 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4586         4266 :   rtx x2, x3, x4;
    4587         4266 :   int res ATTRIBUTE_UNUSED;
    4588         4266 :   x2 = XEXP (x1, 1);
    4589         4266 :   x3 = XEXP (x2, 0);
    4590         4266 :   x4 = XEXP (x3, 1);
    4591         4266 :   operands[3] = x4;
    4592         4266 :   if (!const_int_operand (operands[3], E_VOIDmode))
    4593              :     return -1;
    4594         4265 :   return pattern206 (x1); /* [-1, 3] */
    4595              : }
    4596              : 
    4597              : int
    4598        23292 : pattern1182 (rtx x1, machine_mode i1, int i2)
    4599              : {
    4600        23292 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4601        23292 :   rtx x2, x3, x4, x5, x6;
    4602        23292 :   int res ATTRIBUTE_UNUSED;
    4603        23292 :   x2 = XVECEXP (x1, 0, 1);
    4604        23292 :   x3 = XEXP (x2, 1);
    4605        23292 :   x4 = XVECEXP (x3, 0, 0);
    4606        23292 :   if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    4607              :     return -1;
    4608        23292 :   x5 = XVECEXP (x1, 0, 2);
    4609        23292 :   if (GET_CODE (x5) != SET)
    4610              :     return -1;
    4611        23292 :   x6 = XEXP (x5, 1);
    4612        23292 :   return pattern1181 (x6, 
    4613              : i1, 
    4614        23292 : i2); /* [-1, 0] */
    4615              : }
    4616              : 
    4617              : int
    4618        26154 : pattern1189 (rtx x1)
    4619              : {
    4620        26154 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4621        26154 :   rtx x2, x3;
    4622        26154 :   int res ATTRIBUTE_UNUSED;
    4623        26154 :   x2 = XEXP (x1, 1);
    4624        26154 :   switch (GET_CODE (x2))
    4625              :     {
    4626         4287 :     case SUBREG:
    4627         4287 :       if (maybe_ne (SUBREG_BYTE (x2), 0)
    4628         4287 :           || GET_MODE (x2) != E_QImode)
    4629              :         return -1;
    4630         4287 :       x3 = XEXP (x1, 0);
    4631         4287 :       operands[1] = x3;
    4632         4287 :       return pattern1177 (x1); /* [-1, 11] */
    4633              : 
    4634              :     case CONST_INT:
    4635              :       return 12;
    4636              : 
    4637              :     default:
    4638              :       return -1;
    4639              :     }
    4640              : }
    4641              : 
    4642              : int
    4643            6 : pattern1196 (rtx x1, machine_mode i1, machine_mode i2)
    4644              : {
    4645            6 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4646            6 :   rtx x2;
    4647            6 :   int res ATTRIBUTE_UNUSED;
    4648            6 :   if (!memory_operand (operands[0], i2)
    4649            6 :       || GET_MODE (x1) != i2)
    4650              :     return -1;
    4651            6 :   x2 = XEXP (x1, 0);
    4652            6 :   if (GET_MODE (x2) != i2
    4653            6 :       || !nonmemory_operand (operands[1], i1))
    4654            0 :     return -1;
    4655              :   return 0;
    4656              : }
    4657              : 
    4658              : int
    4659        37341 : pattern1203 (rtx x1, machine_mode i1)
    4660              : {
    4661        37341 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4662        37341 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    4663        37341 :   rtx x10, x11, x12;
    4664        37341 :   int res ATTRIBUTE_UNUSED;
    4665        37341 :   x2 = XVECEXP (x1, 0, 0);
    4666        37341 :   x3 = XEXP (x2, 1);
    4667        37341 :   if (GET_MODE (x3) != i1)
    4668              :     return -1;
    4669        35723 :   x4 = XEXP (x3, 0);
    4670        35723 :   if (GET_CODE (x4) != PLUS
    4671           17 :       || GET_MODE (x4) != i1)
    4672              :     return -1;
    4673           17 :   x5 = XEXP (x4, 0);
    4674           17 :   if (!ix86_carry_flag_operator (x5, i1))
    4675              :     return -1;
    4676           17 :   operands[4] = x5;
    4677           17 :   x6 = XEXP (x5, 1);
    4678           17 :   if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    4679              :     return -1;
    4680           17 :   x7 = XVECEXP (x1, 0, 1);
    4681           17 :   if (GET_CODE (x7) != CLOBBER)
    4682              :     return -1;
    4683           17 :   x8 = XEXP (x7, 0);
    4684           17 :   if (GET_CODE (x8) != REG
    4685           17 :       || REGNO (x8) != 17
    4686           34 :       || GET_MODE (x8) != E_CCmode)
    4687              :     return -1;
    4688           17 :   x9 = XEXP (x5, 0);
    4689           17 :   operands[3] = x9;
    4690           17 :   if (!flags_reg_operand (operands[3], E_VOIDmode))
    4691              :     return -1;
    4692           17 :   x10 = XEXP (x3, 1);
    4693           17 :   operands[2] = x10;
    4694           17 :   if (!memory_operand (operands[2], i1))
    4695              :     return -1;
    4696            6 :   x11 = XEXP (x4, 1);
    4697            6 :   if (!rtx_equal_p (x11, operands[0]))
    4698              :     return -1;
    4699            6 :   x12 = XEXP (x2, 0);
    4700            6 :   return pattern1202 (x12, 
    4701            6 : i1); /* [-1, 1] */
    4702              : }
    4703              : 
    4704              : int
    4705         2088 : pattern1213 (rtx x1, machine_mode i1)
    4706              : {
    4707         2088 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4708         2088 :   int res ATTRIBUTE_UNUSED;
    4709         2088 :   if (!register_operand (operands[0], i1)
    4710         2088 :       || GET_MODE (x1) != i1)
    4711              :     return -1;
    4712         1707 :   return pattern1212 (); /* [-1, 2] */
    4713              : }
    4714              : 
    4715              : int
    4716          189 : pattern1217 (rtx x1, machine_mode i1)
    4717              : {
    4718          189 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4719          189 :   int res ATTRIBUTE_UNUSED;
    4720          189 :   if (!nonimmediate_operand (operands[0], i1)
    4721          189 :       || GET_MODE (x1) != i1
    4722          189 :       || !nonimmediate_operand (operands[1], i1)
    4723          366 :       || !ix86_carry_flag_unset_operator (operands[2], i1))
    4724           40 :     return -1;
    4725              :   return 0;
    4726              : }
    4727              : 
    4728              : int
    4729          116 : pattern1223 (rtx x1, machine_mode i1)
    4730              : {
    4731          116 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4732          116 :   rtx x2, x3;
    4733          116 :   int res ATTRIBUTE_UNUSED;
    4734          116 :   if (!register_operand (operands[0], i1)
    4735          116 :       || GET_MODE (x1) != i1)
    4736              :     return -1;
    4737          104 :   x2 = XEXP (x1, 0);
    4738          104 :   if (GET_MODE (x2) != i1)
    4739              :     return -1;
    4740          104 :   x3 = XEXP (x2, 0);
    4741          104 :   if (GET_MODE (x3) != i1
    4742          104 :       || !nonimmediate_operand (operands[1], i1)
    4743          104 :       || !nonimm_or_0_operand (operands[3], i1)
    4744          208 :       || !register_operand (operands[2], i1))
    4745            0 :     return -1;
    4746              :   return 0;
    4747              : }
    4748              : 
    4749              : int
    4750          652 : pattern1230 (rtx x1)
    4751              : {
    4752          652 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4753          652 :   int res ATTRIBUTE_UNUSED;
    4754          652 :   if (!const48_operand (operands[3], E_SImode))
    4755              :     return -1;
    4756          652 :   switch (GET_MODE (operands[0]))
    4757              :     {
    4758          130 :     case E_V32HFmode:
    4759          130 :       return pattern1229 (x1, 
    4760          130 : E_V32HFmode); /* [-1, 0] */
    4761              : 
    4762            0 :     case E_V16HFmode:
    4763            0 :       if (pattern1229 (x1, 
    4764              : E_V16HFmode) != 0)
    4765              :         return -1;
    4766              :       return 1;
    4767              : 
    4768            0 :     case E_V8HFmode:
    4769            0 :       if (pattern1229 (x1, 
    4770              : E_V8HFmode) != 0)
    4771              :         return -1;
    4772              :       return 2;
    4773              : 
    4774          282 :     case E_V16SFmode:
    4775          282 :       if (pattern1229 (x1, 
    4776              : E_V16SFmode) != 0)
    4777              :         return -1;
    4778              :       return 3;
    4779              : 
    4780            0 :     case E_V8SFmode:
    4781            0 :       if (pattern1229 (x1, 
    4782              : E_V8SFmode) != 0)
    4783              :         return -1;
    4784              :       return 4;
    4785              : 
    4786            0 :     case E_V4SFmode:
    4787            0 :       if (pattern1229 (x1, 
    4788              : E_V4SFmode) != 0)
    4789              :         return -1;
    4790              :       return 5;
    4791              : 
    4792          240 :     case E_V8DFmode:
    4793          240 :       if (pattern1229 (x1, 
    4794              : E_V8DFmode) != 0)
    4795              :         return -1;
    4796              :       return 6;
    4797              : 
    4798            0 :     case E_V4DFmode:
    4799            0 :       if (pattern1229 (x1, 
    4800              : E_V4DFmode) != 0)
    4801              :         return -1;
    4802              :       return 7;
    4803              : 
    4804            0 :     case E_V2DFmode:
    4805            0 :       if (pattern1229 (x1, 
    4806              : E_V2DFmode) != 0)
    4807              :         return -1;
    4808              :       return 8;
    4809              : 
    4810              :     default:
    4811              :       return -1;
    4812              :     }
    4813              : }
    4814              : 
    4815              : int
    4816       159102 : pattern1243 (rtx x1, machine_mode i1)
    4817              : {
    4818       159102 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4819       159102 :   rtx x2, x3;
    4820       159102 :   int res ATTRIBUTE_UNUSED;
    4821       159102 :   if (!nonimmediate_operand (operands[0], i1)
    4822        57278 :       || GET_MODE (x1) != i1
    4823       216380 :       || !nonimmediate_operand (operands[1], i1))
    4824       122381 :     return -1;
    4825        36721 :   x2 = XEXP (x1, 1);
    4826        36721 :   x3 = XEXP (x2, 0);
    4827        36721 :   return pattern1242 (x3); /* [-1, 2] */
    4828              : }
    4829              : 
    4830              : int
    4831           24 : pattern1247 (rtx x1, rtx_code i1)
    4832              : {
    4833           24 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4834           24 :   rtx x2, x3, x4, x5, x6, x7;
    4835           24 :   int res ATTRIBUTE_UNUSED;
    4836           24 :   x2 = XVECEXP (x1, 0, 1);
    4837           24 :   x3 = XEXP (x2, 1);
    4838           24 :   if (GET_MODE (x3) != E_DImode)
    4839              :     return -1;
    4840           10 :   x4 = XEXP (x3, 0);
    4841           10 :   if (GET_CODE (x4) != i1
    4842            0 :       || GET_MODE (x4) != E_SImode)
    4843              :     return -1;
    4844            0 :   x5 = XVECEXP (x1, 0, 0);
    4845            0 :   x6 = XEXP (x5, 1);
    4846            0 :   x7 = XEXP (x6, 0);
    4847            0 :   if (GET_MODE (x7) != E_SImode)
    4848            0 :     return -1;
    4849              :   return 0;
    4850              : }
    4851              : 
    4852              : int
    4853          211 : pattern1252 (rtx x1, machine_mode i1)
    4854              : {
    4855          211 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4856          211 :   rtx x2, x3, x4;
    4857          211 :   int res ATTRIBUTE_UNUSED;
    4858          211 :   if (GET_MODE (x1) != i1)
    4859              :     return -1;
    4860          211 :   x2 = XEXP (x1, 0);
    4861          211 :   if (GET_MODE (x2) != i1)
    4862              :     return -1;
    4863          211 :   x3 = XEXP (x1, 1);
    4864          211 :   if (GET_MODE (x3) != i1)
    4865              :     return -1;
    4866          211 :   x4 = XEXP (x3, 0);
    4867          211 :   if (!register_operand (x4, i1))
    4868              :     return -1;
    4869              :   return 0;
    4870              : }
    4871              : 
    4872              : int
    4873          595 : pattern1257 (rtx x1)
    4874              : {
    4875          595 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4876          595 :   rtx x2, x3, x4, x5;
    4877          595 :   int res ATTRIBUTE_UNUSED;
    4878          595 :   x2 = XEXP (x1, 0);
    4879          595 :   x3 = XEXP (x2, 0);
    4880          595 :   x4 = XEXP (x3, 1);
    4881          595 :   operands[2] = x4;
    4882          595 :   if (!register_operand (operands[2], E_QImode))
    4883              :     return -1;
    4884          516 :   x5 = XEXP (x1, 1);
    4885          516 :   operands[1] = x5;
    4886          516 :   switch (GET_MODE (operands[0]))
    4887              :     {
    4888          319 :     case E_SImode:
    4889          319 :       return pattern1256 (x1, 
    4890          319 : E_SImode); /* [-1, 0] */
    4891              : 
    4892          185 :     case E_DImode:
    4893          185 :       if (pattern1256 (x1, 
    4894              : E_DImode) != 0)
    4895              :         return -1;
    4896              :       return 1;
    4897              : 
    4898              :     default:
    4899              :       return -1;
    4900              :     }
    4901              : }
    4902              : 
    4903              : int
    4904        22948 : pattern1267 (rtx x1, machine_mode i1)
    4905              : {
    4906        22948 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4907        22948 :   rtx x2, x3, x4, x5, x6, x7, x8;
    4908        22948 :   int res ATTRIBUTE_UNUSED;
    4909        22948 :   x2 = XVECEXP (x1, 0, 0);
    4910        22948 :   x3 = XEXP (x2, 1);
    4911        22948 :   x4 = XEXP (x3, 0);
    4912        22948 :   if (!plusminuslogic_operator (x4, i1))
    4913              :     return -1;
    4914        18618 :   operands[3] = x4;
    4915        18618 :   x5 = XEXP (x3, 1);
    4916        18618 :   if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    4917              :     return -1;
    4918        17219 :   x6 = XEXP (x2, 0);
    4919        17219 :   if (GET_CODE (x6) != REG
    4920        17219 :       || REGNO (x6) != 17)
    4921              :     return -1;
    4922        17219 :   x7 = XVECEXP (x1, 0, 1);
    4923        17219 :   if (GET_CODE (x7) != SET)
    4924              :     return -1;
    4925        12979 :   x8 = XEXP (x4, 1);
    4926        12979 :   operands[2] = x8;
    4927        12979 :   if (!x86_64_nonmemory_operand (operands[2], i1))
    4928              :     return -1;
    4929              :   return 0;
    4930              : }
    4931              : 
    4932              : int
    4933          325 : pattern1275 (rtx x1, machine_mode i1, machine_mode i2)
    4934              : {
    4935          325 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4936          325 :   rtx x2, x3;
    4937          325 :   int res ATTRIBUTE_UNUSED;
    4938          325 :   if (GET_CODE (x1) != SIGN_EXTEND
    4939          325 :       || GET_MODE (x1) != i2)
    4940              :     return -1;
    4941          325 :   x2 = XEXP (x1, 0);
    4942          325 :   if (GET_CODE (x2) != VEC_SELECT
    4943          325 :       || GET_MODE (x2) != i1)
    4944              :     return -1;
    4945          325 :   x3 = XEXP (x2, 1);
    4946          325 :   if (GET_CODE (x3) != PARALLEL)
    4947            0 :     return -1;
    4948              :   return 0;
    4949              : }
    4950              : 
    4951              : int
    4952         1442 : pattern1281 (rtx x1, machine_mode i1, machine_mode i2)
    4953              : {
    4954         1442 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4955         1442 :   rtx x2, x3;
    4956         1442 :   int res ATTRIBUTE_UNUSED;
    4957         1442 :   if (!register_operand (operands[0], i1)
    4958         1442 :       || GET_MODE (x1) != i1)
    4959              :     return -1;
    4960         1333 :   x2 = XEXP (x1, 0);
    4961         1333 :   if (GET_MODE (x2) != i1
    4962         1333 :       || !nonimmediate_operand (operands[1], i1)
    4963         2666 :       || !vector_operand (operands[2], i1))
    4964            0 :     return -1;
    4965         1333 :   x3 = XVECEXP (x2, 0, 2);
    4966         1333 :   if (GET_MODE (x3) != i1
    4967         1333 :       || !register_operand (operands[4], i2))
    4968           57 :     return -1;
    4969              :   return 0;
    4970              : }
    4971              : 
    4972              : int
    4973            0 : pattern1289 (rtx x1, machine_mode i1, machine_mode i2)
    4974              : {
    4975            0 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4976            0 :   rtx x2, x3, x4;
    4977            0 :   int res ATTRIBUTE_UNUSED;
    4978            0 :   if (!register_operand (operands[0], i1)
    4979            0 :       || GET_MODE (x1) != i1)
    4980              :     return -1;
    4981            0 :   x2 = XEXP (x1, 0);
    4982            0 :   if (GET_MODE (x2) != i1)
    4983              :     return -1;
    4984            0 :   x3 = XEXP (x2, 0);
    4985            0 :   if (GET_MODE (x3) != i1)
    4986              :     return -1;
    4987            0 :   x4 = XEXP (x3, 0);
    4988            0 :   if (GET_MODE (x4) != i2
    4989            0 :       || !nonimmediate_operand (operands[1], i2)
    4990            0 :       || !nonimm_or_0_operand (operands[3], i1)
    4991            0 :       || !register_operand (operands[2], i1))
    4992            0 :     return -1;
    4993              :   return 0;
    4994              : }
    4995              : 
    4996              : int
    4997          787 : pattern1300 (rtx x1, machine_mode i1, machine_mode i2)
    4998              : {
    4999          787 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5000          787 :   rtx x2, x3;
    5001          787 :   int res ATTRIBUTE_UNUSED;
    5002          787 :   if (!register_operand (operands[0], i2)
    5003          787 :       || GET_MODE (x1) != i2)
    5004              :     return -1;
    5005          763 :   x2 = XEXP (x1, 0);
    5006          763 :   if (GET_MODE (x2) != i2
    5007          763 :       || !nonimmediate_operand (operands[1], i2))
    5008           27 :     return -1;
    5009          736 :   x3 = XEXP (x2, 2);
    5010          736 :   return pattern1299 (x3, 
    5011              : i1, 
    5012          736 : i2); /* [-1, 0] */
    5013              : }
    5014              : 
    5015              : int
    5016         2854 : pattern1308 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
    5017              : {
    5018         2854 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5019         2854 :   rtx x2, x3;
    5020         2854 :   int res ATTRIBUTE_UNUSED;
    5021         2854 :   if (!register_operand (operands[0], i2)
    5022         2854 :       || GET_MODE (x1) != i2)
    5023              :     return -1;
    5024         2744 :   x2 = XVECEXP (x1, 0, 0);
    5025         2744 :   if (GET_MODE (x2) != i2)
    5026              :     return -1;
    5027         2744 :   x3 = XEXP (x2, 0);
    5028         2744 :   if (GET_MODE (x3) != i2
    5029         2744 :       || !register_operand (operands[1], i3)
    5030         2712 :       || !nonimm_or_0_operand (operands[2], i2)
    5031         5420 :       || !register_operand (operands[3], i1))
    5032          152 :     return -1;
    5033              :   return 0;
    5034              : }
    5035              : 
    5036              : int
    5037          972 : pattern1316 (rtx x1)
    5038              : {
    5039          972 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5040          972 :   rtx x2, x3;
    5041          972 :   int res ATTRIBUTE_UNUSED;
    5042          972 :   if (!register_operand (operands[0], E_V16HFmode)
    5043          972 :       || GET_MODE (x1) != E_V16HFmode)
    5044              :     return -1;
    5045          944 :   x2 = XVECEXP (x1, 0, 0);
    5046          944 :   if (GET_MODE (x2) != E_V16HFmode)
    5047              :     return -1;
    5048          944 :   x3 = XEXP (x2, 0);
    5049          944 :   if (GET_MODE (x3) != E_V16HFmode
    5050          944 :       || !nonimm_or_0_operand (operands[2], E_V16HFmode)
    5051         1888 :       || !register_operand (operands[3], E_HImode))
    5052           20 :     return -1;
    5053          924 :   switch (GET_MODE (operands[1]))
    5054              :     {
    5055            0 :     case E_V16HImode:
    5056            0 :       if (!register_operand (operands[1], E_V16HImode))
    5057              :         return -1;
    5058              :       return 0;
    5059              : 
    5060          924 :     case E_V16SImode:
    5061          924 :       if (!register_operand (operands[1], E_V16SImode))
    5062              :         return -1;
    5063              :       return 1;
    5064              : 
    5065              :     default:
    5066              :       return -1;
    5067              :     }
    5068              : }
    5069              : 
    5070              : int
    5071          887 : pattern1325 (rtx x1, machine_mode i1)
    5072              : {
    5073          887 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5074          887 :   rtx x2, x3;
    5075          887 :   int res ATTRIBUTE_UNUSED;
    5076          887 :   if (!register_operand (operands[0], i1)
    5077          887 :       || GET_MODE (x1) != i1
    5078         1774 :       || !register_operand (operands[1], i1))
    5079          481 :     return -1;
    5080          406 :   x2 = XEXP (x1, 2);
    5081          406 :   x3 = XEXP (x2, 0);
    5082          406 :   if (GET_MODE (x3) != i1
    5083          406 :       || !register_operand (operands[2], i1))
    5084          100 :     return -1;
    5085              :   return 0;
    5086              : }
    5087              : 
    5088              : int
    5089        92603 : pattern1329 (rtx x1)
    5090              : {
    5091        92603 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5092        92603 :   int res ATTRIBUTE_UNUSED;
    5093        92603 :   switch (GET_MODE (x1))
    5094              :     {
    5095        62896 :     case E_QImode:
    5096        62896 :       if (!nonimmediate_operand (operands[1], E_QImode)
    5097        61848 :           || !general_operand (operands[2], E_QImode)
    5098       124744 :           || !scratch_operand (operands[0], E_QImode))
    5099         1108 :         return -1;
    5100              :       return 0;
    5101              : 
    5102          296 :     case E_HImode:
    5103          296 :       if (!nonimmediate_operand (operands[1], E_HImode)
    5104          296 :           || !general_operand (operands[2], E_HImode)
    5105          592 :           || !scratch_operand (operands[0], E_HImode))
    5106           45 :         return -1;
    5107              :       return 1;
    5108              : 
    5109        16070 :     case E_SImode:
    5110        16070 :       if (!nonimmediate_operand (operands[1], E_SImode)
    5111        12821 :           || !x86_64_general_operand (operands[2], E_SImode)
    5112        24038 :           || !scratch_operand (operands[0], E_SImode))
    5113         8702 :         return -1;
    5114              :       return 2;
    5115              : 
    5116        13341 :     case E_DImode:
    5117        13341 :       if (!nonimmediate_operand (operands[1], E_DImode)
    5118        10110 :           || !x86_64_general_operand (operands[2], E_DImode)
    5119        18283 :           || !scratch_operand (operands[0], E_DImode))
    5120         8527 :         return -1;
    5121              :       return 3;
    5122              : 
    5123              :     default:
    5124              :       return -1;
    5125              :     }
    5126              : }
    5127              : 
    5128              : int
    5129        17615 : pattern1346 (rtx x1)
    5130              : {
    5131        17615 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5132        17615 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    5133        17615 :   rtx x10, x11, x12;
    5134        17615 :   int res ATTRIBUTE_UNUSED;
    5135        17615 :   x2 = XEXP (x1, 1);
    5136        17615 :   x3 = XEXP (x2, 1);
    5137        17615 :   if (GET_CODE (x3) != LABEL_REF)
    5138              :     return -1;
    5139        13914 :   x4 = XEXP (x2, 2);
    5140        13914 :   if (GET_CODE (x4) != PC)
    5141              :     return -1;
    5142        13914 :   x5 = XEXP (x1, 0);
    5143        13914 :   if (GET_CODE (x5) != PC)
    5144              :     return -1;
    5145        13914 :   x6 = XEXP (x2, 0);
    5146        13914 :   operands[0] = x6;
    5147        13914 :   x7 = XEXP (x6, 0);
    5148        13914 :   x8 = XEXP (x7, 0);
    5149        13914 :   operands[1] = x8;
    5150        13914 :   x9 = XEXP (x7, 2);
    5151        13914 :   switch (GET_CODE (x9))
    5152              :     {
    5153              :     case CONST_INT:
    5154              :     case CONST_WIDE_INT:
    5155              :     case CONST_POLY_INT:
    5156              :     case CONST_FIXED:
    5157              :     case CONST_DOUBLE:
    5158              :     case CONST_VECTOR:
    5159              :     case CONST:
    5160              :     case REG:
    5161              :     case SUBREG:
    5162              :     case LABEL_REF:
    5163              :     case SYMBOL_REF:
    5164              :     case HIGH:
    5165              :       return 0;
    5166              : 
    5167          110 :     case AND:
    5168          110 :       if (GET_MODE (x9) != E_QImode)
    5169              :         return -1;
    5170          110 :       x10 = XEXP (x9, 0);
    5171          110 :       operands[2] = x10;
    5172          110 :       if (!register_operand (operands[2], E_QImode))
    5173              :         return -1;
    5174           56 :       x11 = XEXP (x9, 1);
    5175           56 :       operands[3] = x11;
    5176           56 :       if (!const_int_operand (operands[3], E_VOIDmode))
    5177              :         return -1;
    5178           56 :       x12 = XEXP (x3, 0);
    5179           56 :       operands[4] = x12;
    5180           56 :       switch (GET_MODE (x7))
    5181              :         {
    5182           18 :         case E_SImode:
    5183           18 :           if (!register_operand (operands[1], E_SImode))
    5184              :             return -1;
    5185              :           return 1;
    5186              : 
    5187           38 :         case E_DImode:
    5188           38 :           if (!register_operand (operands[1], E_DImode))
    5189              :             return -1;
    5190              :           return 2;
    5191              : 
    5192              :         default:
    5193              :           return -1;
    5194              :         }
    5195              : 
    5196              :     default:
    5197              :       return -1;
    5198              :     }
    5199              : }
    5200              : 
    5201              : int
    5202          783 : pattern1371 (rtx x1)
    5203              : {
    5204          783 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5205          783 :   rtx x2, x3, x4, x5, x6, x7, x8;
    5206          783 :   int res ATTRIBUTE_UNUSED;
    5207          783 :   if (!nonimmediate_operand (operands[0], E_DImode))
    5208              :     return -1;
    5209          783 :   x2 = XEXP (x1, 1);
    5210          783 :   if (GET_MODE (x2) != E_DImode)
    5211              :     return -1;
    5212          783 :   x3 = XEXP (x2, 0);
    5213          783 :   if (GET_MODE (x3) != E_TImode)
    5214              :     return -1;
    5215          783 :   x4 = XEXP (x3, 0);
    5216          783 :   if (GET_MODE (x4) != E_TImode)
    5217              :     return -1;
    5218          783 :   x5 = XEXP (x4, 0);
    5219          783 :   operands[1] = x5;
    5220          783 :   if (!register_operand (operands[1], E_DImode))
    5221              :     return -1;
    5222          783 :   x6 = XEXP (x3, 1);
    5223          783 :   operands[3] = x6;
    5224          783 :   if (!const_0_to_255_operand (operands[3], E_QImode))
    5225              :     return -1;
    5226          783 :   x7 = XEXP (x1, 0);
    5227          783 :   x8 = XEXP (x7, 0);
    5228          783 :   if (!rtx_equal_p (x8, operands[0]))
    5229              :     return -1;
    5230              :   return 0;
    5231              : }
    5232              : 
    5233              : int
    5234          258 : pattern1379 (rtx x1, machine_mode i1, machine_mode i2)
    5235              : {
    5236          258 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5237          258 :   rtx x2;
    5238          258 :   int res ATTRIBUTE_UNUSED;
    5239          258 :   if (!register_operand (operands[0], i1)
    5240          258 :       || GET_MODE (x1) != i1)
    5241              :     return -1;
    5242          249 :   x2 = XEXP (x1, 0);
    5243          249 :   if (GET_MODE (x2) != i1
    5244          249 :       || !register_operand (operands[1], i1)
    5245          249 :       || !register_operand (operands[2], i2)
    5246          249 :       || !nonimmediate_operand (operands[3], i2)
    5247          498 :       || !const0_operand (operands[4], i1))
    5248            0 :     return -1;
    5249              :   return 0;
    5250              : }
    5251              : 
    5252              : int
    5253          436 : pattern1387 (rtx x1, machine_mode i1)
    5254              : {
    5255          436 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5256          436 :   rtx x2;
    5257          436 :   int res ATTRIBUTE_UNUSED;
    5258          436 :   if (!register_operand (operands[0], i1)
    5259          436 :       || GET_MODE (x1) != i1)
    5260              :     return -1;
    5261          436 :   x2 = XEXP (x1, 0);
    5262          436 :   if (GET_MODE (x2) != i1
    5263          436 :       || !nonimmediate_operand (operands[1], i1)
    5264          436 :       || !nonimmediate_operand (operands[2], i1)
    5265          436 :       || !nonimmediate_operand (operands[3], i1)
    5266          872 :       || !const0_operand (operands[4], i1))
    5267            0 :     return -1;
    5268              :   return 0;
    5269              : }
    5270              : 
    5271              : int
    5272          517 : pattern1400 (rtx x1, machine_mode i1)
    5273              : {
    5274          517 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5275          517 :   rtx x2, x3, x4;
    5276          517 :   int res ATTRIBUTE_UNUSED;
    5277          517 :   if (!register_operand (operands[0], i1)
    5278          517 :       || GET_MODE (x1) != i1)
    5279              :     return -1;
    5280          496 :   x2 = XEXP (x1, 0);
    5281          496 :   if (GET_MODE (x2) != i1)
    5282              :     return -1;
    5283          496 :   x3 = XEXP (x2, 0);
    5284          496 :   if (GET_MODE (x3) != i1)
    5285              :     return -1;
    5286          496 :   x4 = XEXP (x2, 2);
    5287          496 :   if (GET_MODE (x4) != i1
    5288          496 :       || !const0_operand (operands[4], i1)
    5289          992 :       || !register_operand (operands[5], E_QImode))
    5290            0 :     return -1;
    5291              :   return 0;
    5292              : }
    5293              : 
    5294              : int
    5295         1276 : pattern1409 (rtx x1)
    5296              : {
    5297         1276 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5298         1276 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    5299         1276 :   rtx x10;
    5300         1276 :   int res ATTRIBUTE_UNUSED;
    5301         1276 :   x2 = XVECEXP (x1, 0, 0);
    5302         1276 :   x3 = XEXP (x2, 0);
    5303         1276 :   x4 = XEXP (x3, 0);
    5304         1276 :   if (GET_MODE (x4) != E_V8HFmode)
    5305              :     return -1;
    5306         1276 :   x5 = XEXP (x3, 2);
    5307         1276 :   if (GET_CODE (x5) != UNSPEC
    5308         1276 :       || XVECLEN (x5, 0) != 1
    5309         1276 :       || XINT (x5, 1) != 224
    5310         1276 :       || GET_MODE (x5) != E_QImode)
    5311              :     return -1;
    5312         1276 :   x6 = XEXP (x2, 2);
    5313         1276 :   if (XWINT (x6, 0) != 3L
    5314         1276 :       || !register_operand (operands[0], E_V8HFmode)
    5315         1250 :       || GET_MODE (x1) != E_V8HFmode
    5316         1250 :       || GET_MODE (x2) != E_V8HFmode
    5317         1250 :       || GET_MODE (x3) != E_V8HFmode
    5318         1250 :       || !register_operand (operands[1], E_V8HFmode)
    5319         1242 :       || !register_operand (operands[2], E_V8HFmode)
    5320         2484 :       || !register_operand (operands[3], E_V8HFmode))
    5321           90 :     return -1;
    5322         1186 :   x7 = XVECEXP (x5, 0, 0);
    5323         1186 :   if (!register_operand (x7, E_QImode))
    5324              :     return -1;
    5325         1104 :   x8 = XVECEXP (x1, 0, 1);
    5326         1104 :   if (!const_4_or_8_to_11_operand (x8, E_SImode))
    5327              :     return -1;
    5328         1104 :   x9 = XEXP (x2, 1);
    5329         1104 :   if (!rtx_equal_p (x9, operands[2]))
    5330              :     return -1;
    5331         1104 :   x10 = XEXP (x3, 1);
    5332         1104 :   switch (GET_CODE (x10))
    5333              :     {
    5334          384 :     case CONST_INT:
    5335          384 :     case CONST_DOUBLE:
    5336          384 :     case CONST_VECTOR:
    5337          384 :       operands[4] = x10;
    5338          384 :       if (!const0_operand (operands[4], E_V8HFmode))
    5339              :         return -1;
    5340          384 :       operands[5] = x7;
    5341          384 :       operands[6] = x8;
    5342          384 :       return 0;
    5343              : 
    5344          720 :     case REG:
    5345          720 :     case SUBREG:
    5346          720 :       if (!rtx_equal_p (x10, operands[1]))
    5347              :         return -1;
    5348          720 :       operands[4] = x7;
    5349          720 :       operands[5] = x8;
    5350          720 :       return 1;
    5351              : 
    5352              :     default:
    5353              :       return -1;
    5354              :     }
    5355              : }
    5356              : 
    5357              : int
    5358           31 : pattern1432 (rtx x1)
    5359              : {
    5360           31 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5361           31 :   rtx x2, x3, x4, x5;
    5362           31 :   int res ATTRIBUTE_UNUSED;
    5363           31 :   x2 = XEXP (x1, 0);
    5364           31 :   x3 = XEXP (x2, 1);
    5365           31 :   x4 = XEXP (x3, 0);
    5366           31 :   if (GET_CODE (x4) != REG
    5367           31 :       || REGNO (x4) != 17)
    5368              :     return -1;
    5369            7 :   x5 = XEXP (x3, 1);
    5370            7 :   if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    5371              :     return -1;
    5372            7 :   return pattern1163 (x1); /* [-1, 5] */
    5373              : }
    5374              : 
    5375              : int
    5376        97085 : pattern1440 (rtx x1)
    5377              : {
    5378        97085 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5379        97085 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    5380        97085 :   int res ATTRIBUTE_UNUSED;
    5381        97085 :   x2 = XVECEXP (x1, 0, 1);
    5382        97085 :   x3 = XEXP (x2, 1);
    5383        97085 :   x4 = XEXP (x3, 1);
    5384        97085 :   if (!rtx_equal_p (x4, operands[2]))
    5385              :     return -1;
    5386        97074 :   x5 = XEXP (x3, 0);
    5387        97074 :   switch (GET_CODE (x5))
    5388              :     {
    5389        97062 :     case REG:
    5390        97062 :     case SUBREG:
    5391        97062 :     case MEM:
    5392        97062 :       if (!rtx_equal_p (x5, operands[1]))
    5393              :         return -1;
    5394        97062 :       x6 = XVECEXP (x1, 0, 0);
    5395        97062 :       x7 = XEXP (x6, 1);
    5396        97062 :       x8 = XEXP (x7, 0);
    5397        97062 :       switch (GET_MODE (x8))
    5398              :         {
    5399         2600 :         case E_QImode:
    5400         2600 :           return pattern1438 (x3, 
    5401         2600 : E_QImode); /* [-1, 0] */
    5402              : 
    5403          170 :         case E_HImode:
    5404          170 :           if (pattern1438 (x3, 
    5405              : E_HImode) != 0)
    5406              :             return -1;
    5407              :           return 1;
    5408              : 
    5409        32803 :         case E_SImode:
    5410        32803 :           if (pattern1439 (x3, 
    5411              : E_SImode) != 0)
    5412              :             return -1;
    5413              :           return 2;
    5414              : 
    5415        61480 :         case E_DImode:
    5416        61480 :           if (pattern1439 (x3, 
    5417              : E_DImode) != 0)
    5418              :             return -1;
    5419              :           return 3;
    5420              : 
    5421              :         default:
    5422              :           return -1;
    5423              :         }
    5424              : 
    5425            0 :     case ZERO_EXTEND:
    5426            0 :       if (GET_MODE (x5) != E_DImode)
    5427              :         return -1;
    5428            0 :       x6 = XVECEXP (x1, 0, 0);
    5429            0 :       x7 = XEXP (x6, 1);
    5430            0 :       x8 = XEXP (x7, 0);
    5431            0 :       if (GET_MODE (x8) != E_SImode
    5432            0 :           || !nonimmediate_operand (operands[1], E_SImode)
    5433            0 :           || !x86_64_zext_immediate_operand (operands[2], E_SImode)
    5434            0 :           || !register_operand (operands[0], E_DImode)
    5435            0 :           || GET_MODE (x3) != E_DImode)
    5436            0 :         return -1;
    5437            0 :       x9 = XEXP (x5, 0);
    5438            0 :       if (!rtx_equal_p (x9, operands[1]))
    5439              :         return -1;
    5440              :       return 4;
    5441              : 
    5442              :     default:
    5443              :       return -1;
    5444              :     }
    5445              : }
    5446              : 
    5447              : int
    5448          651 : pattern1468 (rtx x1, machine_mode i1, machine_mode i2)
    5449              : {
    5450          651 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5451          651 :   rtx x2;
    5452          651 :   int res ATTRIBUTE_UNUSED;
    5453          651 :   if (!register_operand (operands[0], i1)
    5454          651 :       || GET_MODE (x1) != i1)
    5455              :     return -1;
    5456          620 :   x2 = XEXP (x1, 0);
    5457          620 :   if (GET_MODE (x2) != i1
    5458          620 :       || !register_operand (operands[1], i1)
    5459          620 :       || !register_operand (operands[2], i1)
    5460          620 :       || !bcst_vector_operand (operands[3], i1)
    5461         1239 :       || !register_operand (operands[5], i2))
    5462           31 :     return -1;
    5463              :   return 0;
    5464              : }
    5465              : 
    5466              : int
    5467           48 : pattern1477 (rtx x1, machine_mode i1, machine_mode i2)
    5468              : {
    5469           48 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5470           48 :   rtx x2, x3, x4;
    5471           48 :   int res ATTRIBUTE_UNUSED;
    5472           48 :   if (!register_operand (operands[0], i1)
    5473           48 :       || GET_MODE (x1) != i1
    5474           48 :       || !vector_operand (operands[1], i1)
    5475           96 :       || !vector_operand (operands[2], i1))
    5476            0 :     return -1;
    5477           48 :   x2 = XEXP (x1, 2);
    5478           48 :   if (GET_MODE (x2) != E_QImode)
    5479              :     return -1;
    5480           48 :   x3 = XVECEXP (x2, 0, 0);
    5481           48 :   if (GET_MODE (x3) != i1)
    5482              :     return -1;
    5483           48 :   x4 = XEXP (x3, 0);
    5484           48 :   if (GET_MODE (x4) != i2
    5485           48 :       || !vector_operand (operands[3], i2)
    5486           96 :       || !const0_operand (operands[4], i1))
    5487           24 :     return -1;
    5488              :   return 0;
    5489              : }
    5490              : 
    5491              : int
    5492          187 : pattern1487 (rtx x1)
    5493              : {
    5494          187 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5495          187 :   rtx x2, x3;
    5496          187 :   int res ATTRIBUTE_UNUSED;
    5497          187 :   if (!register_operand (operands[0], E_V2DFmode)
    5498          187 :       || GET_MODE (x1) != E_V2DFmode)
    5499              :     return -1;
    5500          179 :   x2 = XVECEXP (x1, 0, 0);
    5501          179 :   if (GET_MODE (x2) != E_V2DFmode)
    5502              :     return -1;
    5503          179 :   x3 = XEXP (x2, 0);
    5504          179 :   if (GET_MODE (x3) != E_V2DFmode)
    5505            0 :     return -1;
    5506              :   return 0;
    5507              : }
    5508              : 
    5509              : int
    5510          226 : pattern1492 (rtx x1)
    5511              : {
    5512          226 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5513          226 :   rtx x2;
    5514          226 :   int res ATTRIBUTE_UNUSED;
    5515          226 :   if (!register_operand (operands[0], E_V4SFmode)
    5516          226 :       || GET_MODE (x1) != E_V4SFmode)
    5517              :     return -1;
    5518          222 :   x2 = XEXP (x1, 0);
    5519          222 :   switch (GET_MODE (x2))
    5520              :     {
    5521          112 :     case E_V4HFmode:
    5522          112 :       if (!memory_operand (operands[1], E_V8HFmode))
    5523              :         return -1;
    5524              :       return 0;
    5525              : 
    5526          110 :     case E_V4BFmode:
    5527          110 :       if (!memory_operand (operands[1], E_V8BFmode))
    5528              :         return -1;
    5529              :       return 1;
    5530              : 
    5531              :     default:
    5532              :       return -1;
    5533              :     }
    5534              : }
    5535              : 
    5536              : int
    5537        48744 : pattern1500 (rtx x1, machine_mode i1)
    5538              : {
    5539        48744 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5540        48744 :   int res ATTRIBUTE_UNUSED;
    5541        48744 :   if (!nonimmediate_operand (operands[1], i1)
    5542        48742 :       || !x86_64_general_operand (operands[2], i1)
    5543        48545 :       || !nonimmediate_operand (operands[0], i1)
    5544        97289 :       || GET_MODE (x1) != i1)
    5545          199 :     return -1;
    5546              :   return 0;
    5547              : }
    5548              : 
    5549              : int
    5550       141692 : pattern1506 (rtx x1, machine_mode i1)
    5551              : {
    5552       141692 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5553       141692 :   int res ATTRIBUTE_UNUSED;
    5554       141692 :   if (!register_operand (operands[0], i1)
    5555       141692 :       || GET_MODE (x1) != i1
    5556       141692 :       || !memory_operand (operands[1], i1)
    5557       282481 :       || !register_operand (operands[2], i1))
    5558          903 :     return -1;
    5559              :   return 0;
    5560              : }
    5561              : 
    5562              : int
    5563          180 : pattern1510 (rtx x1, rtx_code i1)
    5564              : {
    5565          180 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5566          180 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    5567          180 :   rtx x10;
    5568          180 :   int res ATTRIBUTE_UNUSED;
    5569          180 :   x2 = XVECEXP (x1, 0, 1);
    5570          180 :   x3 = XEXP (x2, 1);
    5571          180 :   if (GET_CODE (x3) != i1)
    5572              :     return -1;
    5573          180 :   x4 = XVECEXP (x1, 0, 0);
    5574          180 :   x5 = XEXP (x4, 0);
    5575          180 :   operands[0] = x5;
    5576          180 :   x6 = XEXP (x4, 1);
    5577          180 :   x7 = XEXP (x6, 0);
    5578          180 :   x8 = XEXP (x7, 0);
    5579          180 :   operands[2] = x8;
    5580          180 :   if (!register_operand (operands[2], E_SImode))
    5581              :     return -1;
    5582          180 :   x9 = XEXP (x7, 1);
    5583          180 :   operands[3] = x9;
    5584          180 :   if (!nonimmediate_operand (operands[3], E_SImode))
    5585              :     return -1;
    5586          180 :   x10 = XEXP (x2, 0);
    5587          180 :   operands[1] = x10;
    5588          180 :   return pattern1509 (x1); /* [-1, 1] */
    5589              : }
    5590              : 
    5591              : int
    5592          112 : pattern1521 (rtx x1, machine_mode i1, machine_mode i2)
    5593              : {
    5594          112 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5595          112 :   rtx x2, x3;
    5596          112 :   int res ATTRIBUTE_UNUSED;
    5597          112 :   if (!register_operand (operands[0], i1)
    5598          112 :       || GET_MODE (x1) != i1)
    5599              :     return -1;
    5600          112 :   x2 = XEXP (x1, 0);
    5601          112 :   if (GET_MODE (x2) != i1
    5602          112 :       || !register_operand (operands[1], i2))
    5603            2 :     return -1;
    5604          110 :   x3 = XEXP (x1, 1);
    5605          110 :   if (GET_MODE (x3) != i1)
    5606              :     return -1;
    5607              :   return 0;
    5608              : }
    5609              : 
    5610              : int
    5611         5450 : pattern1528 (rtx x1)
    5612              : {
    5613         5450 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5614         5450 :   rtx x2, x3, x4, x5, x6, x7;
    5615         5450 :   int res ATTRIBUTE_UNUSED;
    5616         5450 :   x2 = XVECEXP (x1, 0, 0);
    5617         5450 :   x3 = XEXP (x2, 0);
    5618         5450 :   x4 = XEXP (x3, 1);
    5619         5450 :   switch (GET_CODE (x4))
    5620              :     {
    5621         3784 :     case REG:
    5622         3784 :     case SUBREG:
    5623         3784 :     case MEM:
    5624         3784 :       x5 = XEXP (x3, 2);
    5625         3784 :       operands[4] = x5;
    5626         3784 :       x6 = XVECEXP (x1, 0, 1);
    5627         3784 :       operands[5] = x6;
    5628         3784 :       switch (GET_MODE (operands[0]))
    5629              :         {
    5630              :         case E_V8HFmode:
    5631              :           return 0;
    5632              : 
    5633              :         case E_V4SFmode:
    5634              :           return 1;
    5635              : 
    5636              :         case E_V2DFmode:
    5637              :           return 2;
    5638              : 
    5639              :         default:
    5640              :           return -1;
    5641              :         }
    5642              : 
    5643         1666 :     case CONST_INT:
    5644         1666 :     case CONST_DOUBLE:
    5645         1666 :     case CONST_VECTOR:
    5646         1666 :       operands[4] = x4;
    5647         1666 :       x5 = XEXP (x3, 2);
    5648         1666 :       operands[5] = x5;
    5649         1666 :       x6 = XVECEXP (x1, 0, 1);
    5650         1666 :       operands[6] = x6;
    5651         1666 :       x7 = XEXP (x2, 1);
    5652         1666 :       if (!rtx_equal_p (x7, operands[1]))
    5653              :         return -1;
    5654         1666 :       switch (GET_MODE (operands[0]))
    5655              :         {
    5656              :         case E_V8HFmode:
    5657              :           return 3;
    5658              : 
    5659              :         case E_V4SFmode:
    5660              :           return 4;
    5661              : 
    5662              :         case E_V2DFmode:
    5663              :           return 5;
    5664              : 
    5665              :         default:
    5666              :           return -1;
    5667              :         }
    5668              : 
    5669              :     default:
    5670              :       return -1;
    5671              :     }
    5672              : }
    5673              : 
    5674              : int
    5675          242 : pattern1548 (rtx x1, machine_mode i1, machine_mode i2)
    5676              : {
    5677          242 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5678          242 :   rtx x2, x3, x4, x5, x6, x7;
    5679          242 :   int res ATTRIBUTE_UNUSED;
    5680          242 :   if (!register_operand (operands[0], i2)
    5681          242 :       || GET_MODE (x1) != i2)
    5682              :     return -1;
    5683          199 :   x2 = XEXP (x1, 0);
    5684          199 :   if (GET_MODE (x2) != i1)
    5685              :     return -1;
    5686          199 :   x3 = XEXP (x2, 0);
    5687          199 :   if (GET_MODE (x3) != i1)
    5688              :     return -1;
    5689          199 :   x4 = XEXP (x3, 0);
    5690          199 :   if (GET_MODE (x4) != i1)
    5691              :     return -1;
    5692          199 :   x5 = XEXP (x4, 0);
    5693          199 :   if (GET_MODE (x5) != i1
    5694          199 :       || !register_operand (operands[1], i2))
    5695           50 :     return -1;
    5696          149 :   x6 = XEXP (x4, 1);
    5697          149 :   if (GET_MODE (x6) != i1
    5698          149 :       || !register_operand (operands[2], i2))
    5699           29 :     return -1;
    5700          120 :   x7 = XEXP (x3, 1);
    5701          120 :   if (GET_MODE (x7) != i1)
    5702              :     return -1;
    5703              :   return 0;
    5704              : }
    5705              : 
    5706              : int
    5707          936 : pattern1560 (rtx x1, machine_mode i1)
    5708              : {
    5709          936 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5710          936 :   rtx x2, x3, x4;
    5711          936 :   int res ATTRIBUTE_UNUSED;
    5712          936 :   if (!register_operand (operands[0], i1)
    5713          936 :       || GET_MODE (x1) != i1)
    5714              :     return -1;
    5715          920 :   x2 = XVECEXP (x1, 0, 0);
    5716          920 :   if (GET_MODE (x2) != i1)
    5717              :     return -1;
    5718          920 :   x3 = XEXP (x2, 0);
    5719          920 :   if (GET_MODE (x3) != i1)
    5720              :     return -1;
    5721          920 :   x4 = XEXP (x3, 0);
    5722          920 :   if (GET_MODE (x4) != i1
    5723          920 :       || !nonimmediate_operand (operands[1], i1)
    5724          920 :       || !nonimm_or_0_operand (operands[3], i1)
    5725         1840 :       || !register_operand (operands[2], i1))
    5726            0 :     return -1;
    5727              :   return 0;
    5728              : }
    5729              : 
    5730              : int
    5731          622 : pattern1570 (rtx x1, machine_mode i1)
    5732              : {
    5733          622 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5734          622 :   rtx x2;
    5735          622 :   int res ATTRIBUTE_UNUSED;
    5736          622 :   if (!register_operand (operands[0], i1)
    5737          622 :       || GET_MODE (x1) != i1
    5738         1244 :       || !register_operand (operands[2], i1))
    5739          138 :     return -1;
    5740          484 :   x2 = XVECEXP (x1, 0, 2);
    5741          484 :   if (GET_MODE (x2) != i1)
    5742              :     return -1;
    5743              :   return 0;
    5744              : }
    5745              : 
    5746              : int
    5747            0 : pattern1577 (rtx x1, machine_mode i1)
    5748              : {
    5749            0 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5750            0 :   rtx x2, x3;
    5751            0 :   int res ATTRIBUTE_UNUSED;
    5752            0 :   if (!nonimmediate_operand (operands[0], i1)
    5753            0 :       || GET_MODE (x1) != i1)
    5754              :     return -1;
    5755            0 :   x2 = XEXP (x1, 0);
    5756            0 :   if (GET_MODE (x2) != i1
    5757            0 :       || !nonimmediate_operand (operands[1], i1))
    5758            0 :     return -1;
    5759            0 :   x3 = XEXP (x2, 1);
    5760            0 :   if (GET_MODE (x3) != i1
    5761            0 :       || !general_operand (operands[2], i1))
    5762            0 :     return -1;
    5763              :   return 0;
    5764              : }
    5765              : 
    5766              : int
    5767            4 : pattern1584 (rtx x1, machine_mode i1)
    5768              : {
    5769            4 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5770            4 :   rtx x2, x3, x4, x5, x6, x7, x8;
    5771            4 :   int res ATTRIBUTE_UNUSED;
    5772            4 :   x2 = XVECEXP (x1, 0, 0);
    5773            4 :   x3 = XEXP (x2, 1);
    5774            4 :   x4 = XEXP (x3, 0);
    5775            4 :   x5 = XEXP (x4, 0);
    5776            4 :   if (GET_MODE (x5) != i1
    5777            4 :       || !nonimmediate_operand (operands[1], i1)
    5778            8 :       || !register_operand (operands[0], i1))
    5779            0 :     return -1;
    5780            4 :   x6 = XVECEXP (x1, 0, 1);
    5781            4 :   x7 = XEXP (x6, 1);
    5782            4 :   if (GET_MODE (x7) != i1)
    5783              :     return -1;
    5784            4 :   x8 = XEXP (x7, 0);
    5785            4 :   if (GET_MODE (x8) != i1
    5786            4 :       || !register_operand (operands[2], i1))
    5787            0 :     return -1;
    5788              :   return 0;
    5789              : }
    5790              : 
    5791              : int
    5792          370 : pattern1592 (rtx x1)
    5793              : {
    5794          370 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5795          370 :   rtx x2, x3, x4, x5, x6;
    5796          370 :   int res ATTRIBUTE_UNUSED;
    5797          370 :   if (!register_operand (operands[0], E_V4SFmode)
    5798          370 :       || GET_MODE (x1) != E_V4SFmode)
    5799              :     return -1;
    5800          358 :   x2 = XEXP (x1, 0);
    5801          358 :   if (GET_MODE (x2) != E_V4SFmode)
    5802              :     return -1;
    5803          358 :   x3 = XEXP (x2, 0);
    5804          358 :   if (GET_MODE (x3) != E_V8SFmode
    5805          358 :       || !vector_operand (operands[1], E_V4SFmode))
    5806            0 :     return -1;
    5807          358 :   x4 = XEXP (x1, 1);
    5808          358 :   operands[2] = x4;
    5809          358 :   if (!nonimm_or_0_operand (operands[2], E_V4SFmode))
    5810              :     return -1;
    5811          358 :   x5 = XEXP (x1, 2);
    5812          358 :   operands[3] = x5;
    5813          358 :   x6 = XEXP (x3, 1);
    5814          358 :   if (!rtx_equal_p (x6, operands[1]))
    5815              :     return -1;
    5816              :   return 0;
    5817              : }
    5818              : 
    5819              : int
    5820          976 : pattern1604 (rtx x1, machine_mode i1, machine_mode i2)
    5821              : {
    5822          976 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5823          976 :   int res ATTRIBUTE_UNUSED;
    5824          976 :   if (!register_operand (operands[2], i2)
    5825          968 :       || GET_MODE (x1) != i2
    5826          968 :       || !register_operand (operands[3], i2)
    5827          968 :       || !const0_operand (operands[4], i2)
    5828         1944 :       || !register_operand (operands[5], i1))
    5829           24 :     return -1;
    5830              :   return 0;
    5831              : }
    5832              : 
    5833              : int
    5834          507 : pattern1611 (rtx x1, machine_mode i1, machine_mode i2)
    5835              : {
    5836          507 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5837          507 :   rtx x2, x3, x4, x5;
    5838          507 :   int res ATTRIBUTE_UNUSED;
    5839          507 :   if (!register_operand (operands[0], i2)
    5840          507 :       || GET_MODE (x1) != i2)
    5841              :     return -1;
    5842          493 :   x2 = XVECEXP (x1, 0, 0);
    5843          493 :   if (GET_MODE (x2) != i2)
    5844              :     return -1;
    5845          493 :   x3 = XEXP (x2, 0);
    5846          493 :   if (GET_MODE (x3) != i2)
    5847              :     return -1;
    5848          493 :   x4 = XEXP (x3, 0);
    5849          493 :   if (GET_MODE (x4) != i2
    5850          493 :       || !register_operand (operands[1], i2))
    5851            5 :     return -1;
    5852          488 :   x5 = XEXP (x3, 2);
    5853          488 :   return pattern1604 (x5, 
    5854              : i1, 
    5855          488 : i2); /* [-1, 0] */
    5856              : }
    5857              : 
    5858              : int
    5859          344 : pattern1619 (machine_mode i1)
    5860              : {
    5861          344 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5862          344 :   int res ATTRIBUTE_UNUSED;
    5863          344 :   if (!vsib_address_operand (operands[0], i1))
    5864              :     return -1;
    5865          276 :   switch (GET_MODE (operands[2]))
    5866              :     {
    5867          150 :     case E_V4SImode:
    5868          150 :       if (!register_operand (operands[2], E_V4SImode))
    5869              :         return -1;
    5870              :       return 0;
    5871              : 
    5872          126 :     case E_V2DImode:
    5873          126 :       if (!register_operand (operands[2], E_V2DImode))
    5874              :         return -1;
    5875              :       return 1;
    5876              : 
    5877              :     default:
    5878              :       return -1;
    5879              :     }
    5880              : }
    5881              : 
    5882              : int
    5883          147 : pattern1628 (rtx x1, machine_mode i1, machine_mode i2)
    5884              : {
    5885          147 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5886          147 :   rtx x2, x3;
    5887          147 :   int res ATTRIBUTE_UNUSED;
    5888          147 :   if (!register_operand (operands[0], i2)
    5889          129 :       || GET_MODE (x1) != i2
    5890          129 :       || !register_operand (operands[6], E_QImode)
    5891          182 :       || !vsib_mem_operator (operands[5], i1))
    5892          112 :     return -1;
    5893           35 :   x2 = XVECEXP (x1, 0, 2);
    5894           35 :   x3 = XEXP (x2, 0);
    5895           35 :   switch (GET_MODE (x3))
    5896              :     {
    5897            0 :     case E_SImode:
    5898            0 :       return pattern1627 (
    5899            0 : E_SImode); /* [-1, 1] */
    5900              : 
    5901           35 :     case E_DImode:
    5902           35 :       res = pattern1627 (
    5903              : E_DImode);
    5904           35 :       if (res >= 0)
    5905           17 :         return res + 2; /* [2, 3] */
    5906              :       return -1;
    5907              : 
    5908              :     default:
    5909              :       return -1;
    5910              :     }
    5911              : }
    5912              : 
    5913              : int
    5914          201 : pattern1640 (rtx x1, machine_mode i1)
    5915              : {
    5916          201 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5917          201 :   rtx x2;
    5918          201 :   int res ATTRIBUTE_UNUSED;
    5919          201 :   if (!nonimmediate_operand (operands[0], i1)
    5920          201 :       || GET_MODE (x1) != i1)
    5921              :     return -1;
    5922          201 :   x2 = XEXP (x1, 0);
    5923          201 :   if (GET_MODE (x2) != i1
    5924          201 :       || !nonimmediate_operand (operands[1], i1)
    5925          201 :       || !ix86_carry_flag_operator (operands[4], i1)
    5926          402 :       || !general_operand (operands[2], i1))
    5927            0 :     return -1;
    5928              :   return 0;
    5929              : }
    5930              : 
    5931              : int
    5932       152282 : pattern1649 (rtx x1, machine_mode i1)
    5933              : {
    5934       152282 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5935       152282 :   rtx x2, x3, x4;
    5936       152282 :   int res ATTRIBUTE_UNUSED;
    5937       152282 :   if (!memory_operand (operands[1], i1)
    5938       152282 :       || !rtx_equal_p (x1, operands[0]))
    5939       136298 :     return -1;
    5940        15984 :   x2 = PATTERN (peep2_next_insn (1));
    5941        15984 :   x3 = XEXP (x2, 1);
    5942        15984 :   if (!rtx_equal_p (x3, operands[0]))
    5943              :     return -1;
    5944         2818 :   x4 = XEXP (x2, 0);
    5945         2818 :   if (!rtx_equal_p (x4, operands[1]))
    5946              :     return -1;
    5947              :   return 0;
    5948              : }
    5949              : 
    5950              : int
    5951          440 : pattern1657 (rtx x1, machine_mode i1, machine_mode i2)
    5952              : {
    5953          440 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5954          440 :   rtx x2, x3, x4, x5, x6;
    5955          440 :   int res ATTRIBUTE_UNUSED;
    5956          440 :   if (!register_operand (operands[0], i1)
    5957          440 :       || GET_MODE (x1) != i1)
    5958              :     return -1;
    5959          410 :   x2 = XEXP (x1, 0);
    5960          410 :   if (GET_MODE (x2) != i1)
    5961              :     return -1;
    5962          410 :   x3 = XEXP (x2, 0);
    5963          410 :   if (GET_MODE (x3) != i2
    5964          410 :       || !register_operand (operands[1], i1))
    5965            0 :     return -1;
    5966          410 :   x4 = XEXP (x3, 1);
    5967          410 :   operands[2] = x4;
    5968          410 :   if (!nonimmediate_operand (operands[2], i1))
    5969              :     return -1;
    5970          410 :   x5 = XEXP (x1, 1);
    5971          410 :   operands[3] = x5;
    5972          410 :   if (!nonimm_or_0_operand (operands[3], i1))
    5973              :     return -1;
    5974          396 :   x6 = XEXP (x1, 2);
    5975          396 :   operands[4] = x6;
    5976          396 :   return 0;
    5977              : }
    5978              : 
    5979              : int
    5980         1056 : pattern1666 (rtx x1, machine_mode i1)
    5981              : {
    5982         1056 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5983         1056 :   rtx x2, x3;
    5984         1056 :   int res ATTRIBUTE_UNUSED;
    5985         1056 :   if (!register_operand (operands[0], i1)
    5986         1056 :       || GET_MODE (x1) != i1)
    5987              :     return -1;
    5988         1021 :   x2 = XVECEXP (x1, 0, 0);
    5989         1021 :   if (GET_MODE (x2) != i1)
    5990              :     return -1;
    5991         1021 :   x3 = XEXP (x2, 0);
    5992         1021 :   if (GET_MODE (x3) != i1
    5993         1021 :       || !nonimmediate_operand (operands[1], i1)
    5994         1021 :       || !register_operand (operands[2], i1)
    5995         2008 :       || !register_operand (operands[3], i1))
    5996           53 :     return -1;
    5997              :   return 0;
    5998              : }
    5999              : 
    6000              : int
    6001          446 : pattern1676 (rtx x1, machine_mode i1, machine_mode i2)
    6002              : {
    6003          446 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6004          446 :   rtx x2, x3;
    6005          446 :   int res ATTRIBUTE_UNUSED;
    6006          446 :   if (!register_operand (operands[0], i2)
    6007          440 :       || GET_MODE (x1) != i2
    6008          440 :       || !register_operand (operands[1], i2)
    6009          440 :       || !register_operand (operands[7], E_QImode)
    6010          769 :       || !vsib_mem_operator (operands[6], i1))
    6011          123 :     return -1;
    6012          323 :   x2 = XVECEXP (x1, 0, 2);
    6013          323 :   x3 = XEXP (x2, 0);
    6014          323 :   switch (GET_MODE (x3))
    6015              :     {
    6016            0 :     case E_SImode:
    6017            0 :       return pattern1675 (
    6018            0 : E_SImode); /* [-1, 1] */
    6019              : 
    6020          323 :     case E_DImode:
    6021          323 :       res = pattern1675 (
    6022              : E_DImode);
    6023          323 :       if (res >= 0)
    6024          242 :         return res + 2; /* [2, 3] */
    6025              :       return -1;
    6026              : 
    6027              :     default:
    6028              :       return -1;
    6029              :     }
    6030              : }
    6031              : 
    6032              : int
    6033          466 : pattern1688 (rtx x1)
    6034              : {
    6035          466 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6036          466 :   rtx x2, x3, x4, x5, x6, x7;
    6037          466 :   int res ATTRIBUTE_UNUSED;
    6038          466 :   x2 = XVECEXP (x1, 0, 2);
    6039          466 :   if (XWINT (x2, 0) != 2L)
    6040              :     return -1;
    6041          445 :   x3 = XVECEXP (x1, 0, 3);
    6042          445 :   if (XWINT (x3, 0) != 2L)
    6043              :     return -1;
    6044          445 :   x4 = XVECEXP (x1, 0, 4);
    6045          445 :   if (XWINT (x4, 0) != 4L)
    6046              :     return -1;
    6047          445 :   x5 = XVECEXP (x1, 0, 5);
    6048          445 :   if (XWINT (x5, 0) != 4L)
    6049              :     return -1;
    6050          445 :   x6 = XVECEXP (x1, 0, 6);
    6051          445 :   if (XWINT (x6, 0) != 6L)
    6052              :     return -1;
    6053          445 :   x7 = XVECEXP (x1, 0, 7);
    6054          445 :   if (XWINT (x7, 0) != 6L)
    6055            0 :     return -1;
    6056              :   return 0;
    6057              : }
    6058              : 
    6059              : int
    6060        57706 : pattern1699 (rtx x1, rtx_code i1)
    6061              : {
    6062        57706 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6063        57706 :   rtx x2, x3, x4;
    6064        57706 :   int res ATTRIBUTE_UNUSED;
    6065        57706 :   if (GET_CODE (x1) != i1)
    6066              :     return -1;
    6067        47641 :   x2 = XEXP (x1, 0);
    6068        47641 :   if (GET_CODE (x2) != MINUS)
    6069              :     return -1;
    6070        41344 :   x3 = XEXP (x2, 1);
    6071        41344 :   switch (GET_CODE (x3))
    6072              :     {
    6073        37828 :     case LTU:
    6074        37828 :     case UNLT:
    6075        37828 :       operands[5] = x3;
    6076        37828 :       x4 = XEXP (x3, 1);
    6077        37828 :       if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    6078              :         return -1;
    6079              :       return 0;
    6080              : 
    6081              :     default:
    6082              :       return -1;
    6083              :     }
    6084              : }
    6085              : 
    6086              : int
    6087         4584 : pattern1708 (rtx x1)
    6088              : {
    6089         4584 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6090         4584 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    6091         4584 :   int res ATTRIBUTE_UNUSED;
    6092         4584 :   x2 = XEXP (x1, 0);
    6093         4584 :   x3 = XEXP (x2, 0);
    6094         4584 :   x4 = XEXP (x3, 2);
    6095         4584 :   if (maybe_ne (SUBREG_BYTE (x4), 0)
    6096         4584 :       || GET_MODE (x4) != E_QImode)
    6097              :     return -1;
    6098         4584 :   x5 = XEXP (x4, 0);
    6099         4584 :   if (GET_CODE (x5) != AND)
    6100              :     return -1;
    6101          509 :   x6 = XEXP (x5, 0);
    6102          509 :   operands[2] = x6;
    6103          509 :   x7 = XEXP (x5, 1);
    6104          509 :   operands[3] = x7;
    6105          509 :   if (!const_int_operand (operands[3], E_VOIDmode))
    6106              :     return -1;
    6107          509 :   x8 = XEXP (x1, 1);
    6108          509 :   x9 = XEXP (x8, 0);
    6109          509 :   operands[4] = x9;
    6110          509 :   switch (GET_MODE (x3))
    6111              :     {
    6112          347 :     case E_SImode:
    6113          347 :       return pattern1707 (x5, 
    6114          347 : E_SImode); /* [-1, 2] */
    6115              : 
    6116          162 :     case E_DImode:
    6117          162 :       res = pattern1707 (x5, 
    6118              : E_DImode);
    6119          162 :       if (res >= 0)
    6120           65 :         return res + 3; /* [3, 5] */
    6121              :       return -1;
    6122              : 
    6123              :     default:
    6124              :       return -1;
    6125              :     }
    6126              : }
    6127              : 
    6128              : int
    6129          187 : pattern1719 (rtx x1, machine_mode i1, machine_mode i2)
    6130              : {
    6131          187 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6132          187 :   rtx x2, x3;
    6133          187 :   int res ATTRIBUTE_UNUSED;
    6134          187 :   if (!register_operand (operands[0], i2)
    6135          187 :       || GET_MODE (x1) != i2)
    6136              :     return -1;
    6137          179 :   x2 = XVECEXP (x1, 0, 0);
    6138          179 :   if (GET_MODE (x2) != i2)
    6139              :     return -1;
    6140          179 :   x3 = XEXP (x2, 0);
    6141          179 :   if (GET_MODE (x3) != i2
    6142          179 :       || !register_operand (operands[1], i2)
    6143          177 :       || !register_operand (operands[2], i2)
    6144          356 :       || !register_operand (operands[3], i1))
    6145            2 :     return -1;
    6146              :   return 0;
    6147              : }
    6148              : 
    6149              : int
    6150         5478 : pattern1728 ()
    6151              : {
    6152         5478 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6153         5478 :   int res ATTRIBUTE_UNUSED;
    6154         5478 :   if (!const_0_to_3_operand (operands[2], E_VOIDmode)
    6155         5214 :       || !const_0_to_3_operand (operands[3], E_VOIDmode)
    6156         5161 :       || !const_0_to_3_operand (operands[4], E_VOIDmode)
    6157         5135 :       || !const_0_to_3_operand (operands[5], E_VOIDmode)
    6158         5133 :       || !const_4_to_7_operand (operands[6], E_VOIDmode)
    6159         4927 :       || !const_4_to_7_operand (operands[7], E_VOIDmode)
    6160         4927 :       || !const_4_to_7_operand (operands[8], E_VOIDmode)
    6161        10404 :       || !const_4_to_7_operand (operands[9], E_VOIDmode))
    6162          552 :     return -1;
    6163              :   return 0;
    6164              : }
    6165              : 
    6166              : int
    6167          855 : pattern1738 (machine_mode i1)
    6168              : {
    6169          855 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6170          855 :   int res ATTRIBUTE_UNUSED;
    6171          855 :   if (!vsib_address_operand (operands[3], i1))
    6172              :     return -1;
    6173          851 :   switch (GET_MODE (operands[2]))
    6174              :     {
    6175          442 :     case E_V8SImode:
    6176          442 :       if (!register_operand (operands[2], E_V8SImode))
    6177              :         return -1;
    6178              :       return 0;
    6179              : 
    6180          409 :     case E_V8DImode:
    6181          409 :       if (!register_operand (operands[2], E_V8DImode))
    6182              :         return -1;
    6183              :       return 1;
    6184              : 
    6185              :     default:
    6186              :       return -1;
    6187              :     }
    6188              : }
    6189              : 
    6190              : int
    6191           10 : pattern1746 (rtx x1, machine_mode i1)
    6192              : {
    6193           10 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6194           10 :   int res ATTRIBUTE_UNUSED;
    6195           10 :   if (!ix86_carry_flag_operator (operands[2], i1)
    6196           10 :       || !nonimmediate_operand (operands[1], i1)
    6197           10 :       || !nonimmediate_operand (operands[0], i1)
    6198           20 :       || GET_MODE (x1) != i1)
    6199            0 :     return -1;
    6200              :   return 0;
    6201              : }
    6202              : 
    6203              : int
    6204          624 : pattern1752 (rtx x1)
    6205              : {
    6206          624 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6207          624 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    6208          624 :   rtx x10, x11;
    6209          624 :   int res ATTRIBUTE_UNUSED;
    6210          624 :   x2 = XEXP (x1, 0);
    6211          624 :   x3 = XEXP (x2, 1);
    6212          624 :   x4 = XVECEXP (x3, 0, 4);
    6213          624 :   if (XWINT (x4, 0) != 6L)
    6214              :     return -1;
    6215          624 :   x5 = XVECEXP (x3, 0, 5);
    6216          624 :   if (XWINT (x5, 0) != 14L)
    6217              :     return -1;
    6218          624 :   x6 = XVECEXP (x3, 0, 6);
    6219          624 :   if (XWINT (x6, 0) != 7L)
    6220              :     return -1;
    6221          624 :   x7 = XVECEXP (x3, 0, 7);
    6222          624 :   if (XWINT (x7, 0) != 15L)
    6223              :     return -1;
    6224          624 :   x8 = XEXP (x2, 0);
    6225          624 :   x9 = XEXP (x8, 1);
    6226          624 :   operands[2] = x9;
    6227          624 :   x10 = XEXP (x1, 1);
    6228          624 :   operands[3] = x10;
    6229          624 :   x11 = XEXP (x1, 2);
    6230          624 :   operands[4] = x11;
    6231          624 :   return 0;
    6232              : }
    6233              : 
    6234              : int
    6235           94 : pattern1760 (machine_mode i1)
    6236              : {
    6237           94 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6238           94 :   int res ATTRIBUTE_UNUSED;
    6239           94 :   if (!vsib_address_operand (operands[0], i1))
    6240              :     return -1;
    6241           77 :   switch (GET_MODE (operands[2]))
    6242              :     {
    6243           23 :     case E_V8SImode:
    6244           23 :       if (!register_operand (operands[2], E_V8SImode)
    6245           23 :           || !register_operand (operands[3], E_V8SFmode))
    6246            2 :         return -1;
    6247              :       return 0;
    6248              : 
    6249           54 :     case E_V4DImode:
    6250           54 :       if (!register_operand (operands[2], E_V4DImode)
    6251           54 :           || !register_operand (operands[3], E_V4SFmode))
    6252           29 :         return -1;
    6253              :       return 1;
    6254              : 
    6255              :     default:
    6256              :       return -1;
    6257              :     }
    6258              : }
    6259              : 
    6260              : int
    6261         1295 : pattern1770 (machine_mode i1)
    6262              : {
    6263         1295 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6264         1295 :   int res ATTRIBUTE_UNUSED;
    6265         1295 :   if (!vsib_address_operand (operands[4], i1))
    6266              :     return -1;
    6267         1295 :   switch (GET_MODE (operands[3]))
    6268              :     {
    6269          616 :     case E_V4SImode:
    6270          616 :       if (!register_operand (operands[3], E_V4SImode))
    6271              :         return -1;
    6272              :       return 0;
    6273              : 
    6274          679 :     case E_V2DImode:
    6275          679 :       if (!register_operand (operands[3], E_V2DImode))
    6276              :         return -1;
    6277              :       return 1;
    6278              : 
    6279              :     default:
    6280              :       return -1;
    6281              :     }
    6282              : }
    6283              : 
    6284              : int
    6285            8 : pattern1777 (rtx x1)
    6286              : {
    6287            8 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6288            8 :   rtx x2, x3, x4, x5, x6;
    6289            8 :   int res ATTRIBUTE_UNUSED;
    6290            8 :   x2 = XEXP (x1, 1);
    6291            8 :   if (GET_CODE (x2) != COMPARE
    6292            2 :       || GET_MODE (x2) != E_CCZmode)
    6293              :     return -1;
    6294            2 :   x3 = XEXP (x2, 0);
    6295            2 :   if (GET_CODE (x3) != AND
    6296            2 :       || GET_MODE (x3) != E_QImode)
    6297              :     return -1;
    6298            2 :   x4 = XEXP (x3, 1);
    6299            2 :   if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    6300              :     return -1;
    6301            2 :   x5 = XEXP (x2, 1);
    6302            2 :   if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    6303              :     return -1;
    6304            2 :   x6 = XEXP (x1, 0);
    6305            2 :   if (GET_CODE (x6) != REG
    6306            2 :       || REGNO (x6) != 17
    6307            4 :       || GET_MODE (x6) != E_CCZmode)
    6308            0 :     return -1;
    6309              :   return 0;
    6310              : }
    6311              : 
    6312              : int
    6313          451 : pattern1791 (rtx x1, machine_mode i1, machine_mode i2)
    6314              : {
    6315          451 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6316          451 :   rtx x2, x3, x4;
    6317          451 :   int res ATTRIBUTE_UNUSED;
    6318          451 :   if (!register_operand (operands[0], i2)
    6319          451 :       || GET_MODE (x1) != i2)
    6320              :     return -1;
    6321          443 :   x2 = XVECEXP (x1, 0, 0);
    6322          443 :   if (GET_MODE (x2) != i2)
    6323              :     return -1;
    6324          443 :   x3 = XEXP (x2, 0);
    6325          443 :   if (GET_MODE (x3) != i2)
    6326              :     return -1;
    6327          443 :   x4 = XEXP (x3, 0);
    6328          443 :   if (GET_MODE (x4) != i2
    6329          443 :       || !register_operand (operands[1], i2)
    6330          441 :       || !register_operand (operands[2], i2)
    6331          884 :       || !register_operand (operands[3], i1))
    6332            2 :     return -1;
    6333              :   return 0;
    6334              : }
    6335              : 
    6336              : int
    6337          653 : pattern1800 (rtx x1, machine_mode i1, machine_mode i2)
    6338              : {
    6339          653 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6340          653 :   rtx x2, x3;
    6341          653 :   int res ATTRIBUTE_UNUSED;
    6342          653 :   if (!register_operand (operands[0], i1)
    6343          645 :       || GET_MODE (x1) != i1
    6344          645 :       || !vsib_mem_operator (operands[6], i2)
    6345          645 :       || !register_operand (operands[4], i1)
    6346         1176 :       || !scratch_operand (operands[1], i1))
    6347          130 :     return -1;
    6348          523 :   x2 = XVECEXP (x1, 0, 1);
    6349          523 :   x3 = XEXP (x2, 0);
    6350          523 :   switch (GET_MODE (x3))
    6351              :     {
    6352            0 :     case E_SImode:
    6353            0 :       return pattern1799 (
    6354            0 : E_SImode); /* [-1, 1] */
    6355              : 
    6356          523 :     case E_DImode:
    6357          523 :       res = pattern1799 (
    6358              : E_DImode);
    6359          523 :       if (res >= 0)
    6360          435 :         return res + 2; /* [2, 3] */
    6361              :       return -1;
    6362              : 
    6363              :     default:
    6364              :       return -1;
    6365              :     }
    6366              : }
    6367              : 
    6368              : int
    6369          123 : pattern1811 (machine_mode i1)
    6370              : {
    6371          123 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6372          123 :   int res ATTRIBUTE_UNUSED;
    6373          123 :   if (!vsib_address_operand (operands[2], i1))
    6374              :     return -1;
    6375          111 :   switch (GET_MODE (operands[3]))
    6376              :     {
    6377           73 :     case E_V8SImode:
    6378           73 :       if (!register_operand (operands[3], E_V8SImode)
    6379           73 :           || !register_operand (operands[4], E_V8SImode))
    6380           66 :         return -1;
    6381              :       return 0;
    6382              : 
    6383           38 :     case E_V4DImode:
    6384           38 :       if (!register_operand (operands[3], E_V4DImode)
    6385           38 :           || !register_operand (operands[4], E_V4SImode))
    6386           37 :         return -1;
    6387              :       return 1;
    6388              : 
    6389              :     default:
    6390              :       return -1;
    6391              :     }
    6392              : }
    6393              : 
    6394              : int
    6395          836 : pattern1818 (rtx x1, machine_mode i1, machine_mode i2)
    6396              : {
    6397          836 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6398          836 :   rtx x2, x3;
    6399          836 :   int res ATTRIBUTE_UNUSED;
    6400          836 :   if (!register_operand (operands[0], i1)
    6401          828 :       || GET_MODE (x1) != i1
    6402          828 :       || !register_operand (operands[2], i1)
    6403          828 :       || !vsib_mem_operator (operands[7], i2)
    6404          828 :       || !register_operand (operands[5], i1)
    6405         1598 :       || !scratch_operand (operands[1], i1))
    6406           74 :     return -1;
    6407          762 :   x2 = XVECEXP (x1, 0, 1);
    6408          762 :   x3 = XEXP (x2, 0);
    6409          762 :   switch (GET_MODE (x3))
    6410              :     {
    6411            0 :     case E_SImode:
    6412            0 :       return pattern1817 (
    6413            0 : E_SImode); /* [-1, 1] */
    6414              : 
    6415          762 :     case E_DImode:
    6416          762 :       res = pattern1817 (
    6417              : E_DImode);
    6418          762 :       if (res >= 0)
    6419          686 :         return res + 2; /* [2, 3] */
    6420              :       return -1;
    6421              : 
    6422              :     default:
    6423              :       return -1;
    6424              :     }
    6425              : }
    6426              : 
    6427              : int
    6428        62176 : pattern1830 (rtx x1, machine_mode i1, machine_mode i2)
    6429              : {
    6430        62176 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6431        62176 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    6432        62176 :   rtx x10;
    6433        62176 :   int res ATTRIBUTE_UNUSED;
    6434        62176 :   x2 = XVECEXP (x1, 0, 0);
    6435        62176 :   x3 = XEXP (x2, 1);
    6436        62176 :   x4 = XEXP (x3, 0);
    6437        62176 :   x5 = XEXP (x4, 0);
    6438        62176 :   if (GET_MODE (x5) != i2
    6439        62176 :       || !nonimmediate_operand (operands[1], i1))
    6440           26 :     return -1;
    6441        62150 :   x6 = XEXP (x4, 1);
    6442        62150 :   if (GET_MODE (x6) != i2
    6443        62150 :       || !nonimmediate_operand (operands[2], i1))
    6444           36 :     return -1;
    6445        62114 :   x7 = XEXP (x3, 1);
    6446        62114 :   if (GET_MODE (x7) != i2)
    6447              :     return -1;
    6448        62114 :   x8 = XEXP (x7, 0);
    6449        62114 :   if (GET_MODE (x8) != i1
    6450        62114 :       || !register_operand (operands[0], i1))
    6451            0 :     return -1;
    6452        62114 :   x9 = XVECEXP (x1, 0, 1);
    6453        62114 :   x10 = XEXP (x9, 1);
    6454        62114 :   if (GET_MODE (x10) != i1
    6455        62114 :       || !scratch_operand (operands[3], i1))
    6456           20 :     return -1;
    6457              :   return 0;
    6458              : }
    6459              : 
    6460              : int
    6461          255 : pattern1843 (rtx x1, machine_mode i1, machine_mode i2)
    6462              : {
    6463          255 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6464          255 :   int res ATTRIBUTE_UNUSED;
    6465          255 :   if (!register_operand (operands[2], i1)
    6466          255 :       || !register_operand (operands[4], i2))
    6467           54 :     return -1;
    6468          201 :   return pattern1842 (x1, 
    6469          201 : i1); /* [-1, 1] */
    6470              : }
    6471              : 
    6472              : int
    6473          358 : pattern1848 (machine_mode i1)
    6474              : {
    6475          358 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6476          358 :   int res ATTRIBUTE_UNUSED;
    6477          358 :   if (!vsib_address_operand (operands[0], i1))
    6478              :     return -1;
    6479          345 :   switch (GET_MODE (operands[2]))
    6480              :     {
    6481          151 :     case E_V8SImode:
    6482          151 :       if (!register_operand (operands[2], E_V8SImode)
    6483          151 :           || !register_operand (operands[3], E_V8SFmode))
    6484            2 :         return -1;
    6485              :       return 0;
    6486              : 
    6487          194 :     case E_V4DImode:
    6488          194 :       if (!register_operand (operands[2], E_V4DImode)
    6489          194 :           || !register_operand (operands[3], E_V4SFmode))
    6490           21 :         return -1;
    6491              :       return 1;
    6492              : 
    6493              :     default:
    6494              :       return -1;
    6495              :     }
    6496              : }
    6497              : 
    6498              : int
    6499          552 : pattern1857 (rtx x1, machine_mode i1)
    6500              : {
    6501          552 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6502          552 :   rtx x2;
    6503          552 :   int res ATTRIBUTE_UNUSED;
    6504          552 :   if (!register_operand (operands[0], i1)
    6505          552 :       || GET_MODE (x1) != i1)
    6506              :     return -1;
    6507          502 :   x2 = XEXP (x1, 0);
    6508          502 :   if (GET_MODE (x2) != i1
    6509          502 :       || !nonimmediate_operand (operands[1], i1)
    6510         1004 :       || !nonimm_or_0_operand (operands[10], i1))
    6511           24 :     return -1;
    6512              :   return 0;
    6513              : }
    6514              : 
    6515              : int
    6516          580 : pattern1863 (rtx x1, machine_mode i1)
    6517              : {
    6518          580 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6519          580 :   int res ATTRIBUTE_UNUSED;
    6520          580 :   if (!register_operand (operands[3], i1))
    6521              :     return -1;
    6522          558 :   switch (GET_MODE (x1))
    6523              :     {
    6524            0 :     case E_SImode:
    6525            0 :       if (!vsib_address_operand (operands[4], E_SImode))
    6526              :         return -1;
    6527              :       return 0;
    6528              : 
    6529          558 :     case E_DImode:
    6530          558 :       if (!vsib_address_operand (operands[4], E_DImode))
    6531              :         return -1;
    6532              :       return 1;
    6533              : 
    6534              :     default:
    6535              :       return -1;
    6536              :     }
    6537              : }
    6538              : 
    6539              : int
    6540          666 : pattern1867 (rtx x1)
    6541              : {
    6542          666 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6543          666 :   rtx x2, x3, x4, x5;
    6544          666 :   int res ATTRIBUTE_UNUSED;
    6545          666 :   x2 = XVECEXP (x1, 0, 4);
    6546          666 :   if (XWINT (x2, 0) != 6L)
    6547              :     return -1;
    6548          666 :   x3 = XVECEXP (x1, 0, 5);
    6549          666 :   if (XWINT (x3, 0) != 22L)
    6550              :     return -1;
    6551          666 :   x4 = XVECEXP (x1, 0, 6);
    6552          666 :   if (XWINT (x4, 0) != 7L)
    6553              :     return -1;
    6554          666 :   x5 = XVECEXP (x1, 0, 7);
    6555          666 :   if (XWINT (x5, 0) != 23L)
    6556            0 :     return -1;
    6557              :   return 0;
    6558              : }
    6559              : 
    6560              : int
    6561          503 : pattern1872 (rtx x1, machine_mode i1, machine_mode i2)
    6562              : {
    6563          503 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6564          503 :   rtx x2, x3, x4, x5, x6, x7;
    6565          503 :   int res ATTRIBUTE_UNUSED;
    6566          503 :   if (!nonimmediate_operand (operands[1], i1))
    6567              :     return -1;
    6568          503 :   x2 = XVECEXP (x1, 0, 0);
    6569          503 :   x3 = XEXP (x2, 1);
    6570          503 :   x4 = XEXP (x3, 1);
    6571          503 :   if (GET_MODE (x4) != i2
    6572          503 :       || !ix86_carry_flag_operator (operands[4], i2)
    6573          503 :       || !const_scalar_int_operand (operands[6], i2)
    6574         1006 :       || !nonimmediate_operand (operands[0], i1))
    6575            0 :     return -1;
    6576          503 :   x5 = XVECEXP (x1, 0, 1);
    6577          503 :   x6 = XEXP (x5, 1);
    6578          503 :   if (GET_MODE (x6) != i1)
    6579              :     return -1;
    6580          503 :   x7 = XEXP (x6, 0);
    6581          503 :   if (GET_MODE (x7) != i1
    6582          503 :       || !ix86_carry_flag_operator (operands[5], i1)
    6583         1006 :       || !x86_64_immediate_operand (operands[2], i1))
    6584          348 :     return -1;
    6585              :   return 0;
    6586              : }
    6587              : 
    6588              : int
    6589          402 : pattern1883 ()
    6590              : {
    6591          402 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6592          402 :   int res ATTRIBUTE_UNUSED;
    6593          402 :   if (!const_0_to_15_operand (operands[2], E_VOIDmode)
    6594          402 :       || !const_0_to_15_operand (operands[3], E_VOIDmode)
    6595          402 :       || !const_0_to_15_operand (operands[4], E_VOIDmode)
    6596          402 :       || !const_0_to_15_operand (operands[5], E_VOIDmode)
    6597          402 :       || !const_0_to_15_operand (operands[6], E_VOIDmode)
    6598          402 :       || !const_0_to_15_operand (operands[7], E_VOIDmode)
    6599          402 :       || !const_0_to_15_operand (operands[8], E_VOIDmode)
    6600          402 :       || !const_0_to_15_operand (operands[9], E_VOIDmode)
    6601          402 :       || !const_0_to_15_operand (operands[10], E_VOIDmode)
    6602          402 :       || !const_0_to_15_operand (operands[11], E_VOIDmode)
    6603          402 :       || !const_0_to_15_operand (operands[12], E_VOIDmode)
    6604          402 :       || !const_0_to_15_operand (operands[13], E_VOIDmode)
    6605          402 :       || !const_0_to_15_operand (operands[14], E_VOIDmode)
    6606          402 :       || !const_0_to_15_operand (operands[15], E_VOIDmode)
    6607          402 :       || !const_0_to_15_operand (operands[16], E_VOIDmode)
    6608          804 :       || !const_0_to_15_operand (operands[17], E_VOIDmode))
    6609            0 :     return -1;
    6610              :   return 0;
    6611              : }
    6612              : 
    6613              : int
    6614         1005 : pattern1892 (rtx x1, machine_mode i1)
    6615              : {
    6616         1005 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6617         1005 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    6618         1005 :   rtx x10;
    6619         1005 :   int res ATTRIBUTE_UNUSED;
    6620         1005 :   x2 = XVECEXP (x1, 0, 1);
    6621         1005 :   x3 = XEXP (x2, 1);
    6622         1005 :   if (XINT (x3, 1) != 109
    6623         1005 :       || GET_MODE (x3) != i1)
    6624              :     return -1;
    6625         1005 :   x4 = XVECEXP (x1, 0, 2);
    6626         1005 :   x5 = XEXP (x4, 1);
    6627         1005 :   if (GET_CODE (x5) != UNSPEC_VOLATILE
    6628         1005 :       || XVECLEN (x5, 0) != 1
    6629         1005 :       || XINT (x5, 1) != 109
    6630         1005 :       || GET_MODE (x5) != E_CCZmode)
    6631              :     return -1;
    6632         1005 :   x6 = XVECEXP (x5, 0, 0);
    6633         1005 :   if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
    6634         1005 :       || !memory_operand (operands[2], i1)
    6635         2010 :       || !register_operand (operands[3], i1))
    6636            0 :     return -1;
    6637         1005 :   x7 = XEXP (x4, 0);
    6638         1005 :   if (GET_MODE (x7) != E_CCZmode)
    6639              :     return -1;
    6640         1005 :   x8 = PATTERN (peep2_next_insn (2));
    6641         1005 :   x9 = XEXP (x8, 0);
    6642         1005 :   if (GET_MODE (x9) != E_CCZmode)
    6643              :     return -1;
    6644         1005 :   x10 = XEXP (x8, 1);
    6645         1005 :   if (GET_MODE (x10) != E_CCZmode
    6646         1005 :       || !register_operand (operands[5], i1)
    6647         2005 :       || !general_operand (operands[6], i1))
    6648            5 :     return -1;
    6649              :   return 0;
    6650              : }
    6651              : 
    6652              : int
    6653            0 : pattern1902 (rtx x1, machine_mode i1, machine_mode i2)
    6654              : {
    6655            0 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6656            0 :   rtx x2, x3, x4, x5, x6, x7;
    6657            0 :   int res ATTRIBUTE_UNUSED;
    6658            0 :   x2 = XVECEXP (x1, 0, 0);
    6659            0 :   x3 = XEXP (x2, 1);
    6660            0 :   x4 = XEXP (x3, 0);
    6661            0 :   x5 = XEXP (x4, 0);
    6662            0 :   if (GET_MODE (x5) != i2
    6663            0 :       || !ix86_carry_flag_operator (operands[4], i2))
    6664            0 :     return -1;
    6665            0 :   x6 = XEXP (x5, 1);
    6666            0 :   if (GET_MODE (x6) != i2
    6667            0 :       || !nonimmediate_operand (operands[1], i1))
    6668            0 :     return -1;
    6669            0 :   x7 = XEXP (x4, 1);
    6670            0 :   if (GET_MODE (x7) != i2
    6671            0 :       || !sext_operand (operands[2], i1)
    6672            0 :       || pattern1901 (x1, 
    6673              : i1, 
    6674              : i2) != 0)
    6675            0 :     return -1;
    6676              :   return 0;
    6677              : }
    6678              : 
    6679              : int
    6680          718 : pattern1910 (rtx x1, int i1, int i2, int i3, int i4)
    6681              : {
    6682          718 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6683          718 :   rtx x2, x3, x4, x5;
    6684          718 :   int res ATTRIBUTE_UNUSED;
    6685          718 :   x2 = XVECEXP (x1, 0, 28);
    6686          718 :   if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + i4])
    6687              :     return -1;
    6688          718 :   x3 = XVECEXP (x1, 0, 29);
    6689          718 :   if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + i3])
    6690              :     return -1;
    6691          718 :   x4 = XVECEXP (x1, 0, 30);
    6692          718 :   if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + i2])
    6693              :     return -1;
    6694          718 :   x5 = XVECEXP (x1, 0, 31);
    6695          718 :   if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + i1])
    6696            0 :     return -1;
    6697              :   return 0;
    6698              : }
    6699              : 
    6700              : int
    6701          236 : pattern1917 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
    6702              : {
    6703          236 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6704          236 :   rtx x2, x3, x4;
    6705          236 :   int res ATTRIBUTE_UNUSED;
    6706          236 :   if (!register_operand (operands[0], i3)
    6707          236 :       || GET_MODE (x1) != i3)
    6708              :     return -1;
    6709          232 :   x2 = XEXP (x1, 0);
    6710          232 :   if (GET_MODE (x2) != i3)
    6711              :     return -1;
    6712          232 :   x3 = XEXP (x2, 0);
    6713          232 :   if (GET_MODE (x3) != i3)
    6714              :     return -1;
    6715          232 :   x4 = XEXP (x3, 0);
    6716          232 :   if (GET_MODE (x4) != i2
    6717          232 :       || !register_operand (operands[1], i1))
    6718           10 :     return -1;
    6719              :   return 0;
    6720              : }
    6721              : 
    6722              :  int
    6723     94060325 : recog_2 (rtx x1 ATTRIBUTE_UNUSED,
    6724              :         rtx_insn *insn ATTRIBUTE_UNUSED,
    6725              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
    6726              : {
    6727     94060325 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6728     94060325 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    6729     94060325 :   rtx x10, x11, x12, x13, x14, x15, x16, x17;
    6730     94060325 :   int res ATTRIBUTE_UNUSED;
    6731     94060325 :   x2 = XEXP (x1, 1);
    6732     94060325 :   x3 = XEXP (x2, 0);
    6733     94060325 :   switch (GET_CODE (x3))
    6734              :     {
    6735     94059028 :     case NE:
    6736     94059028 :     case EQ:
    6737     94059028 :     case GE:
    6738     94059028 :     case GT:
    6739     94059028 :     case LE:
    6740     94059028 :     case LT:
    6741     94059028 :     case LTGT:
    6742     94059028 :     case GEU:
    6743     94059028 :     case GTU:
    6744     94059028 :     case LEU:
    6745     94059028 :     case LTU:
    6746     94059028 :     case UNORDERED:
    6747     94059028 :     case ORDERED:
    6748     94059028 :     case UNEQ:
    6749     94059028 :     case UNGE:
    6750     94059028 :     case UNGT:
    6751     94059028 :     case UNLE:
    6752     94059028 :     case UNLT:
    6753     94059028 :       operands[1] = x3;
    6754     94059028 :       res = recog_1 (x1, insn, pnum_clobbers);
    6755     94059028 :       if (res >= 0)
    6756              :         return res;
    6757     14954929 :       if (pnum_clobbers == NULL
    6758     14954929 :           || !bt_comparison_operator (x3, E_VOIDmode))
    6759      5581005 :         return -1;
    6760      9373924 :       x4 = XEXP (x3, 1);
    6761      9373924 :       if (GET_CODE (x4) != CONST_INT)
    6762              :         return -1;
    6763      7060517 :       x5 = XEXP (x3, 0);
    6764      7060517 :       switch (GET_CODE (x5))
    6765              :         {
    6766      4412290 :         case REG:
    6767      4412290 :         case SUBREG:
    6768      4412290 :           switch (XWINT (x4, 0))
    6769              :             {
    6770      3185059 :             case 0L:
    6771      3185059 :               x6 = XEXP (x2, 1);
    6772      3185059 :               if (GET_CODE (x6) != PLUS
    6773        24878 :                   || GET_MODE (x6) != E_HImode)
    6774              :                 return -1;
    6775          297 :               x7 = XEXP (x6, 1);
    6776          297 :               if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + -1])
    6777              :                 return -1;
    6778           18 :               x8 = XEXP (x1, 0);
    6779           18 :               operands[0] = x8;
    6780           18 :               if (!register_operand (operands[0], E_HImode)
    6781           18 :                   || GET_MODE (x2) != E_HImode)
    6782              :                 return -1;
    6783           18 :               operands[1] = x3;
    6784           18 :               operands[2] = x5;
    6785           18 :               if (!register_operand (operands[2], E_HImode))
    6786              :                 return -1;
    6787           14 :               x9 = XEXP (x2, 2);
    6788           14 :               operands[3] = x9;
    6789           14 :               if (!nonimmediate_operand (operands[3], E_HImode))
    6790              :                 return -1;
    6791            4 :               x10 = XEXP (x6, 0);
    6792            4 :               if (!rtx_equal_p (x10, operands[2])
    6793            4 :                   || !
    6794              : #line 8797 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6795              : (TARGET_CMOVE))
    6796              :                 return -1;
    6797              :               *pnum_clobbers = 1;
    6798              :               return 453; /* *dec_cmovhi */
    6799              : 
    6800              :             case -1L:
    6801              :               x6 = XEXP (x2, 1);
    6802              :               switch (GET_CODE (x6))
    6803              :                 {
    6804              :                 case LABEL_REF:
    6805              :                   x9 = XEXP (x2, 2);
    6806              :                   if (GET_CODE (x9) != PC)
    6807              :                     return -1;
    6808              :                   x8 = XEXP (x1, 0);
    6809              :                   if (GET_CODE (x8) != PC)
    6810              :                     return -1;
    6811              :                   operands[0] = x3;
    6812              :                   operands[1] = x5;
    6813              :                   x10 = XEXP (x6, 0);
    6814              :                   operands[2] = x10;
    6815              :                   switch (GET_MODE (operands[1]))
    6816              :                     {
    6817              :                     case E_QImode:
    6818              :                       if (!register_operand (operands[1], E_QImode)
    6819              :                           || !(
    6820              : #line 2442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6821              : (TARGET_AVX512BW) && 
    6822              : #line 1556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6823              : (TARGET_AVX512DQ)))
    6824              :                         return -1;
    6825              :                       *pnum_clobbers = 1;
    6826              :                       return 2693; /* *kortest_cmpqi_jcc */
    6827              : 
    6828              :                     case E_HImode:
    6829              :                       if (!register_operand (operands[1], E_HImode)
    6830              :                           || !
    6831              : #line 2442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6832              : (TARGET_AVX512BW))
    6833              :                         return -1;
    6834              :                       *pnum_clobbers = 1;
    6835              :                       return 2694; /* *kortest_cmphi_jcc */
    6836              : 
    6837              :                     case E_SImode:
    6838              :                       if (!register_operand (operands[1], E_SImode)
    6839              :                           || !
    6840              : #line 2442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6841              : (TARGET_AVX512BW))
    6842              :                         return -1;
    6843              :                       *pnum_clobbers = 1;
    6844              :                       return 2695; /* *kortest_cmpsi_jcc */
    6845              : 
    6846              :                     case E_DImode:
    6847              :                       if (!register_operand (operands[1], E_DImode)
    6848              :                           || !(
    6849              : #line 2442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6850              : (TARGET_AVX512BW) && 
    6851              : #line 1557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6852              : (TARGET_AVX512BW && TARGET_64BIT)))
    6853              :                         return -1;
    6854              :                       *pnum_clobbers = 1;
    6855              :                       return 2696; /* *kortest_cmpdi_jcc */
    6856              : 
    6857              :                     default:
    6858              :                       return -1;
    6859              :                     }
    6860              : 
    6861              :                 case REG:
    6862              :                 case SUBREG:
    6863              :                 case MEM:
    6864              :                   operands[2] = x6;
    6865              :                   x8 = XEXP (x1, 0);
    6866              :                   operands[0] = x8;
    6867              :                   operands[1] = x3;
    6868              :                   operands[4] = x5;
    6869              :                   x9 = XEXP (x2, 2);
    6870              :                   operands[3] = x9;
    6871              :                   switch (GET_MODE (operands[0]))
    6872              :                     {
    6873              :                     case E_QImode:
    6874              :                       if (!register_operand (operands[0], E_QImode)
    6875              :                           || GET_MODE (x2) != E_QImode
    6876              :                           || !register_operand (operands[2], E_QImode)
    6877              :                           || !register_operand (operands[3], E_QImode))
    6878              :                         return -1;
    6879              :                       switch (pattern1375 ())
    6880              :                         {
    6881              :                         case 0:
    6882              :                           if (!(
    6883              : #line 2478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6884              : (TARGET_AVX512BW && TARGET_CMOVE && !TARGET_PARTIAL_REG_STALL) && 
    6885              : #line 1556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6886              : (TARGET_AVX512DQ)))
    6887              :                             return -1;
    6888              :                           *pnum_clobbers = 1;
    6889              :                           return 2697; /* *kortest_cmpqi_movqicc */
    6890              : 
    6891              :                         case 1:
    6892              :                           if (!
    6893              : #line 2478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6894              : (TARGET_AVX512BW && TARGET_CMOVE && !TARGET_PARTIAL_REG_STALL))
    6895              :                             return -1;
    6896              :                           *pnum_clobbers = 1;
    6897              :                           return 2698; /* *kortest_cmphi_movqicc */
    6898              : 
    6899              :                         case 2:
    6900              :                           if (!(
    6901              : #line 2478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6902              : (TARGET_AVX512BW && TARGET_CMOVE && !TARGET_PARTIAL_REG_STALL) && 
    6903              : #line 1557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6904              : (TARGET_AVX512BW)))
    6905              :                             return -1;
    6906              :                           *pnum_clobbers = 1;
    6907              :                           return 2699; /* *kortest_cmpsi_movqicc */
    6908              : 
    6909              :                         case 3:
    6910              :                           if (!(
    6911              : #line 2478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6912              : (TARGET_AVX512BW && TARGET_CMOVE && !TARGET_PARTIAL_REG_STALL) && 
    6913              : #line 1557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6914              : (TARGET_AVX512BW && TARGET_64BIT)))
    6915              :                             return -1;
    6916              :                           *pnum_clobbers = 1;
    6917              :                           return 2700; /* *kortest_cmpdi_movqicc */
    6918              : 
    6919              :                         default:
    6920              :                           return -1;
    6921              :                         }
    6922              : 
    6923              :                     case E_HImode:
    6924              :                       switch (pattern1376 (x2, 
    6925              : E_HImode))
    6926              :                         {
    6927              :                         case 0:
    6928              :                           if (!(
    6929              : #line 2521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6930              : (TARGET_AVX512BW && TARGET_CMOVE
    6931              :    && !(MEM_P (operands[2]) && MEM_P (operands[3]))) && 
    6932              : #line 1556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6933              : (TARGET_AVX512DQ)))
    6934              :                             return -1;
    6935              :                           *pnum_clobbers = 1;
    6936              :                           return 2701; /* *kortest_cmpqi_movhicc */
    6937              : 
    6938              :                         case 1:
    6939              :                           if (!
    6940              : #line 2521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6941              : (TARGET_AVX512BW && TARGET_CMOVE
    6942              :    && !(MEM_P (operands[2]) && MEM_P (operands[3]))))
    6943              :                             return -1;
    6944              :                           *pnum_clobbers = 1;
    6945              :                           return 2704; /* *kortest_cmphi_movhicc */
    6946              : 
    6947              :                         case 2:
    6948              :                           if (!(
    6949              : #line 2521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6950              : (TARGET_AVX512BW && TARGET_CMOVE
    6951              :    && !(MEM_P (operands[2]) && MEM_P (operands[3]))) && 
    6952              : #line 1557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6953              : (TARGET_AVX512BW)))
    6954              :                             return -1;
    6955              :                           *pnum_clobbers = 1;
    6956              :                           return 2707; /* *kortest_cmpsi_movhicc */
    6957              : 
    6958              :                         case 3:
    6959              :                           if (!(
    6960              : #line 2521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6961              : (TARGET_AVX512BW && TARGET_CMOVE
    6962              :    && !(MEM_P (operands[2]) && MEM_P (operands[3]))) && 
    6963              : #line 1557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6964              : (TARGET_AVX512BW && TARGET_64BIT)))
    6965              :                             return -1;
    6966              :                           *pnum_clobbers = 1;
    6967              :                           return 2710; /* *kortest_cmpdi_movhicc */
    6968              : 
    6969              :                         default:
    6970              :                           return -1;
    6971              :                         }
    6972              : 
    6973              :                     default:
    6974              :                       return -1;
    6975              :                     }
    6976              : 
    6977              :                 default:
    6978              :                   return -1;
    6979              :                 }
    6980              : 
    6981              :             default:
    6982              :               return -1;
    6983              :             }
    6984              : 
    6985              :         case ZERO_EXTRACT:
    6986              :           x11 = XEXP (x5, 1);
    6987              :           if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
    6988              :               || XWINT (x4, 0) != 0L)
    6989              :             return -1;
    6990              :           x6 = XEXP (x2, 1);
    6991              :           if (GET_CODE (x6) != LABEL_REF)
    6992              :             return -1;
    6993              :           x9 = XEXP (x2, 2);
    6994              :           if (GET_CODE (x9) != PC)
    6995              :             return -1;
    6996              :           x8 = XEXP (x1, 0);
    6997              :           if (GET_CODE (x8) != PC)
    6998              :             return -1;
    6999              :           operands[0] = x3;
    7000              :           x12 = XEXP (x5, 0);
    7001              :           operands[1] = x12;
    7002              :           x13 = XEXP (x5, 2);
    7003              :           switch (GET_CODE (x13))
    7004              :             {
    7005              :             case CONST_INT:
    7006              :             case CONST_WIDE_INT:
    7007              :             case CONST_POLY_INT:
    7008              :             case CONST_FIXED:
    7009              :             case CONST_DOUBLE:
    7010              :             case CONST_VECTOR:
    7011              :             case CONST:
    7012              :             case REG:
    7013              :             case SUBREG:
    7014              :             case LABEL_REF:
    7015              :             case SYMBOL_REF:
    7016              :             case HIGH:
    7017              :               operands[2] = x13;
    7018              :               if (nonmemory_operand (operands[2], E_QImode))
    7019              :                 {
    7020              :                   x10 = XEXP (x6, 0);
    7021              :                   operands[3] = x10;
    7022              :                   switch (GET_MODE (x5))
    7023              :                     {
    7024              :                     case E_SImode:
    7025              :                       if (nonimmediate_operand (operands[1], E_SImode)
    7026              :                           && 
    7027              : #line 19549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7028              : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
    7029              :    && (CONST_INT_P (operands[2])
    7030              :        ? (INTVAL (operands[2]) < GET_MODE_BITSIZE (SImode)
    7031              :           && INTVAL (operands[2])
    7032              :                >= (optimize_function_for_size_p (cfun) ? 8 : 32))
    7033              :        : !memory_operand (operands[1], SImode))
    7034              :    && ix86_pre_reload_split ()))
    7035              :                         {
    7036              :                           *pnum_clobbers = 1;
    7037              :                           return 1456; /* *jcc_btsi */
    7038              :                         }
    7039              :                       break;
    7040              : 
    7041              :                     case E_DImode:
    7042              :                       if (nonimmediate_operand (operands[1], E_DImode)
    7043              :                           && (
    7044              : #line 19549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7045              : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
    7046              :    && (CONST_INT_P (operands[2])
    7047              :        ? (INTVAL (operands[2]) < GET_MODE_BITSIZE (DImode)
    7048              :           && INTVAL (operands[2])
    7049              :                >= (optimize_function_for_size_p (cfun) ? 8 : 32))
    7050              :        : !memory_operand (operands[1], DImode))
    7051              :    && ix86_pre_reload_split ()) && 
    7052              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7053              : (TARGET_64BIT)))
    7054              :                         {
    7055              :                           *pnum_clobbers = 1;
    7056              :                           return 1457; /* *jcc_btdi */
    7057              :                         }
    7058              :                       break;
    7059              : 
    7060              :                     default:
    7061              :                       break;
    7062              :                     }
    7063              :                 }
    7064              :               if (GET_CODE (x13) != SUBREG
    7065              :                   || maybe_ne (SUBREG_BYTE (x13), 0)
    7066              :                   || GET_MODE (x13) != E_QImode)
    7067              :                 return -1;
    7068              :               x14 = XEXP (x13, 0);
    7069              :               if (GET_CODE (x14) != AND)
    7070              :                 return -1;
    7071              :               x15 = XEXP (x14, 0);
    7072              :               operands[2] = x15;
    7073              :               x16 = XEXP (x14, 1);
    7074              :               operands[3] = x16;
    7075              :               if (!const_int_operand (operands[3], E_VOIDmode))
    7076              :                 return -1;
    7077              :               x10 = XEXP (x6, 0);
    7078              :               operands[4] = x10;
    7079              :               switch (GET_MODE (x5))
    7080              :                 {
    7081              :                 case E_SImode:
    7082              :                   switch (pattern1788 (x14, 
    7083              : E_SImode))
    7084              :                     {
    7085              :                     case 0:
    7086              :                       if (!
    7087              : #line 19625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7088              : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
    7089              :    && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
    7090              :       == GET_MODE_BITSIZE (SImode)-1
    7091              :    && ix86_pre_reload_split ()))
    7092              :                         return -1;
    7093              :                       *pnum_clobbers = 1;
    7094              :                       return 1460; /* *jcc_btsi_mask_1 */
    7095              : 
    7096              :                     case 1:
    7097              :                       if (!
    7098              : #line 19625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7099              : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
    7100              :    && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
    7101              :       == GET_MODE_BITSIZE (SImode)-1
    7102              :    && ix86_pre_reload_split ()))
    7103              :                         return -1;
    7104              :                       *pnum_clobbers = 1;
    7105              :                       return 1462; /* *jcc_btsi_mask_1 */
    7106              : 
    7107              :                     case 2:
    7108              :                       if (!(
    7109              : #line 19625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7110              : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
    7111              :    && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
    7112              :       == GET_MODE_BITSIZE (SImode)-1
    7113              :    && ix86_pre_reload_split ()) && 
    7114              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7115              : (TARGET_64BIT)))
    7116              :                         return -1;
    7117              :                       *pnum_clobbers = 1;
    7118              :                       return 1464; /* *jcc_btsi_mask_1 */
    7119              : 
    7120              :                     default:
    7121              :                       return -1;
    7122              :                     }
    7123              : 
    7124              :                 case E_DImode:
    7125              :                   switch (pattern1788 (x14, 
    7126              : E_DImode))
    7127              :                     {
    7128              :                     case 0:
    7129              :                       if (!(
    7130              : #line 19625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7131              : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
    7132              :    && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
    7133              :       == GET_MODE_BITSIZE (DImode)-1
    7134              :    && ix86_pre_reload_split ()) && 
    7135              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7136              : (TARGET_64BIT)))
    7137              :                         return -1;
    7138              :                       *pnum_clobbers = 1;
    7139              :                       return 1461; /* *jcc_btdi_mask_1 */
    7140              : 
    7141              :                     case 1:
    7142              :                       if (!(
    7143              : #line 19625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7144              : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
    7145              :    && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
    7146              :       == GET_MODE_BITSIZE (DImode)-1
    7147              :    && ix86_pre_reload_split ()) && 
    7148              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7149              : (TARGET_64BIT)))
    7150              :                         return -1;
    7151              :                       *pnum_clobbers = 1;
    7152              :                       return 1463; /* *jcc_btdi_mask_1 */
    7153              : 
    7154              :                     case 2:
    7155              :                       if (!(
    7156              : #line 19625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7157              : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
    7158              :    && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
    7159              :       == GET_MODE_BITSIZE (DImode)-1
    7160              :    && ix86_pre_reload_split ()) && 
    7161              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7162              : (TARGET_64BIT)))
    7163              :                         return -1;
    7164              :                       *pnum_clobbers = 1;
    7165              :                       return 1465; /* *jcc_btdi_mask_1 */
    7166              : 
    7167              :                     default:
    7168              :                       return -1;
    7169              :                     }
    7170              : 
    7171              :                 default:
    7172              :                   return -1;
    7173              :                 }
    7174              : 
    7175              :             case AND:
    7176              :               if (GET_MODE (x13) != E_QImode)
    7177              :                 return -1;
    7178              :               x14 = XEXP (x13, 0);
    7179              :               operands[2] = x14;
    7180              :               if (!register_operand (operands[2], E_QImode))
    7181              :                 return -1;
    7182              :               x17 = XEXP (x13, 1);
    7183              :               operands[3] = x17;
    7184              :               if (!const_int_operand (operands[3], E_VOIDmode))
    7185              :                 return -1;
    7186              :               x10 = XEXP (x6, 0);
    7187              :               operands[4] = x10;
    7188              :               switch (GET_MODE (x5))
    7189              :                 {
    7190              :                 case E_SImode:
    7191              :                   if (!register_operand (operands[1], E_SImode)
    7192              :                       || !
    7193              : #line 19588 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7194              : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
    7195              :    && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
    7196              :       == GET_MODE_BITSIZE (SImode)-1
    7197              :    && ix86_pre_reload_split ()))
    7198              :                     return -1;
    7199              :                   *pnum_clobbers = 1;
    7200              :                   return 1458; /* *jcc_btsi_mask */
    7201              : 
    7202              :                 case E_DImode:
    7203              :                   if (!register_operand (operands[1], E_DImode)
    7204              :                       || !(
    7205              : #line 19588 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7206              : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
    7207              :    && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
    7208              :       == GET_MODE_BITSIZE (DImode)-1
    7209              :    && ix86_pre_reload_split ()) && 
    7210              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7211              : (TARGET_64BIT)))
    7212              :                     return -1;
    7213              :                   *pnum_clobbers = 1;
    7214              :                   return 1459; /* *jcc_btdi_mask */
    7215              : 
    7216              :                 default:
    7217              :                   return -1;
    7218              :                 }
    7219              : 
    7220              :             default:
    7221              :               return -1;
    7222              :             }
    7223              : 
    7224              :         default:
    7225              :           return -1;
    7226              :         }
    7227              : 
    7228              :     case REG:
    7229              :     case SUBREG:
    7230              :       x8 = XEXP (x1, 0);
    7231              :       operands[0] = x8;
    7232              :       switch (GET_MODE (operands[0]))
    7233              :         {
    7234              :         case E_SFmode:
    7235              :           if (pattern251 (x2, 
    7236              : E_SFmode) != 0
    7237              :               || !
    7238              : #line 27167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7239              : (TARGET_XOP))
    7240              :             return -1;
    7241              :           return 1847; /* *xop_pcmov_sf */
    7242              : 
    7243              :         case E_DFmode:
    7244              :           if (pattern251 (x2, 
    7245              : E_DFmode) != 0
    7246              :               || !
    7247              : #line 27167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7248              : (TARGET_XOP))
    7249              :             return -1;
    7250              :           return 1848; /* *xop_pcmov_df */
    7251              : 
    7252              :         case E_V8QImode:
    7253              :           if (pattern252 (x2, 
    7254              : E_V8QImode) != 0
    7255              :               || !
    7256              : #line 4494 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7257              : (TARGET_XOP && TARGET_MMX_WITH_SSE))
    7258              :             return -1;
    7259              :           return 2309; /* *xop_pcmov_v8qi */
    7260              : 
    7261              :         case E_V4HImode:
    7262              :           if (pattern252 (x2, 
    7263              : E_V4HImode) != 0
    7264              :               || !
    7265              : #line 4494 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7266              : (TARGET_XOP && TARGET_MMX_WITH_SSE))
    7267              :             return -1;
    7268              :           return 2310; /* *xop_pcmov_v4hi */
    7269              : 
    7270              :         case E_V2SImode:
    7271              :           if (pattern252 (x2, 
    7272              : E_V2SImode) != 0
    7273              :               || !
    7274              : #line 4494 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7275              : (TARGET_XOP && TARGET_MMX_WITH_SSE))
    7276              :             return -1;
    7277              :           return 2311; /* *xop_pcmov_v2si */
    7278              : 
    7279              :         case E_V2SFmode:
    7280              :           if (pattern252 (x2, 
    7281              : E_V2SFmode) != 0
    7282              :               || !
    7283              : #line 4494 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7284              : (TARGET_XOP && TARGET_MMX_WITH_SSE))
    7285              :             return -1;
    7286              :           return 2312; /* *xop_pcmov_v2sf */
    7287              : 
    7288              :         case E_V4HFmode:
    7289              :           if (pattern252 (x2, 
    7290              : E_V4HFmode) != 0
    7291              :               || !
    7292              : #line 4505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7293              : (TARGET_XOP && TARGET_MMX_WITH_SSE))
    7294              :             return -1;
    7295              :           return 2313; /* *xop_pcmov_v4hf */
    7296              : 
    7297              :         case E_V4BFmode:
    7298              :           if (pattern252 (x2, 
    7299              : E_V4BFmode) != 0
    7300              :               || !
    7301              : #line 4505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7302              : (TARGET_XOP && TARGET_MMX_WITH_SSE))
    7303              :             return -1;
    7304              :           return 2314; /* *xop_pcmov_v4bf */
    7305              : 
    7306              :         case E_V4QImode:
    7307              :           if (pattern252 (x2, 
    7308              : E_V4QImode) != 0
    7309              :               || !
    7310              : #line 4516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7311              : (TARGET_XOP))
    7312              :             return -1;
    7313              :           return 2315; /* *xop_pcmov_v4qi */
    7314              : 
    7315              :         case E_V2QImode:
    7316              :           if (pattern252 (x2, 
    7317              : E_V2QImode) != 0
    7318              :               || !
    7319              : #line 4516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7320              : (TARGET_XOP))
    7321              :             return -1;
    7322              :           return 2316; /* *xop_pcmov_v2qi */
    7323              : 
    7324              :         case E_V2HImode:
    7325              :           if (pattern252 (x2, 
    7326              : E_V2HImode) != 0
    7327              :               || !
    7328              : #line 4516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7329              : (TARGET_XOP))
    7330              :             return -1;
    7331              :           return 2317; /* *xop_pcmov_v2hi */
    7332              : 
    7333              :         case E_V2HFmode:
    7334              :           if (pattern252 (x2, 
    7335              : E_V2HFmode) != 0
    7336              :               || !
    7337              : #line 4527 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7338              : (TARGET_XOP))
    7339              :             return -1;
    7340              :           return 2318; /* *xop_pcmov_v2hf */
    7341              : 
    7342              :         case E_V2BFmode:
    7343              :           if (pattern252 (x2, 
    7344              : E_V2BFmode) != 0
    7345              :               || !
    7346              : #line 4527 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7347              : (TARGET_XOP))
    7348              :             return -1;
    7349              :           return 2319; /* *xop_pcmov_v2bf */
    7350              : 
    7351              :         default:
    7352              :           return -1;
    7353              :         }
    7354              : 
    7355              :     case AND:
    7356              :       if (GET_MODE (x3) != E_QImode)
    7357              :         return -1;
    7358              :       x4 = XEXP (x3, 1);
    7359              :       if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    7360              :         return -1;
    7361              :       x6 = XEXP (x2, 1);
    7362              :       if (pattern253 (x6) != 0)
    7363              :         return -1;
    7364              :       x8 = XEXP (x1, 0);
    7365              :       operands[0] = x8;
    7366              :       x5 = XEXP (x3, 0);
    7367              :       operands[2] = x5;
    7368              :       if (!register_operand (operands[2], E_QImode))
    7369              :         return -1;
    7370              :       x10 = XEXP (x6, 0);
    7371              :       operands[1] = x10;
    7372              :       x9 = XEXP (x2, 2);
    7373              :       if (!rtx_equal_p (x9, operands[0]))
    7374              :         return -1;
    7375              :       switch (GET_MODE (operands[0]))
    7376              :         {
    7377              :         case E_HFmode:
    7378              :           if (pattern1460 (x2, 
    7379              : E_V8HFmode, 
    7380              : E_HFmode) != 0
    7381              :               || !(
    7382              : #line 1762 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7383              : (TARGET_AVX512F) && 
    7384              : #line 1356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7385              : (TARGET_AVX512FP16)))
    7386              :             return -1;
    7387              :           return 2566; /* avx512f_storehf_mask */
    7388              : 
    7389              :         case E_SFmode:
    7390              :           if (pattern1460 (x2, 
    7391              : E_V4SFmode, 
    7392              : E_SFmode) != 0
    7393              :               || !
    7394              : #line 1762 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7395              : (TARGET_AVX512F))
    7396              :             return -1;
    7397              :           return 2567; /* avx512f_storesf_mask */
    7398              : 
    7399              :         case E_DFmode:
    7400              :           if (pattern1460 (x2, 
    7401              : E_V2DFmode, 
    7402              : E_DFmode) != 0
    7403              :               || !
    7404              : #line 1762 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7405              : (TARGET_AVX512F))
    7406              :             return -1;
    7407              :           return 2568; /* avx512f_storedf_mask */
    7408              : 
    7409              :         default:
    7410              :           return -1;
    7411              :         }
    7412              : 
    7413              :     default:
    7414              :       return -1;
    7415              :     }
    7416              : }
    7417              : 
    7418              :  int
    7419              : recog_26 (rtx x1 ATTRIBUTE_UNUSED,
    7420              :         rtx_insn *insn ATTRIBUTE_UNUSED,
    7421              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
    7422              : {
    7423              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    7424              :   rtx x2, x3, x4, x5, x6, x7, x8;
    7425              :   int res ATTRIBUTE_UNUSED;
    7426              :   x2 = XEXP (x1, 1);
    7427              :   switch (GET_CODE (x2))
    7428              :     {
    7429              :     case SIGN_EXTRACT:
    7430              :       res = recog_22 (x1, insn, pnum_clobbers);
    7431              :       if (res >= 0)
    7432              :         return res;
    7433              :       break;
    7434              : 
    7435              :     case ZERO_EXTRACT:
    7436              :       res = recog_23 (x1, insn, pnum_clobbers);
    7437              :       if (res >= 0)
    7438              :         return res;
    7439              :       break;
    7440              : 
    7441              :     case LSHIFTRT:
    7442              :       res = recog_24 (x1, insn, pnum_clobbers);
    7443              :       if (res >= 0)
    7444              :         return res;
    7445              :       break;
    7446              : 
    7447              :     case ASHIFTRT:
    7448              :       res = recog_25 (x1, insn, pnum_clobbers);
    7449              :       if (res >= 0)
    7450              :         return res;
    7451              :       break;
    7452              : 
    7453              :     default:
    7454              :       break;
    7455              :     }
    7456              :   x3 = XEXP (x1, 0);
    7457              :   if (GET_CODE (x3) != ZERO_EXTRACT)
    7458              :     return -1;
    7459              :   x4 = XEXP (x3, 1);
    7460              :   if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
    7461              :     return -1;
    7462              :   x5 = XEXP (x3, 2);
    7463              :   if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
    7464              :     return -1;
    7465              :   x6 = XEXP (x3, 0);
    7466              :   operands[0] = x6;
    7467              :   if (!int248_register_operand (operands[0], E_VOIDmode))
    7468              :     return -1;
    7469              :   x7 = XEXP (x2, 0);
    7470              :   switch (GET_CODE (x7))
    7471              :     {
    7472              :     case REG:
    7473              :     case SUBREG:
    7474              :       operands[1] = x7;
    7475              :       if (int248_register_operand (operands[1], E_VOIDmode))
    7476              :         {
    7477              :           operands[2] = x2;
    7478              :           switch (GET_MODE (x3))
    7479              :             {
    7480              :             case E_HImode:
    7481              :               if (extract_high_operator (operands[2], E_HImode))
    7482              :                 return 138; /* *insvqi_2 */
    7483              :               break;
    7484              : 
    7485              :             case E_SImode:
    7486              :               if (extract_high_operator (operands[2], E_SImode))
    7487              :                 return 139; /* *insvqi_2 */
    7488              :               break;
    7489              : 
    7490              :             case E_DImode:
    7491              :               if (extract_high_operator (operands[2], E_DImode)
    7492              :                   && 
    7493              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7494              : (TARGET_64BIT))
    7495              :                 return 140; /* *insvqi_2 */
    7496              :               break;
    7497              : 
    7498              :             default:
    7499              :               break;
    7500              :             }
    7501              :         }
    7502              :       break;
    7503              : 
    7504              :     case AND:
    7505              :       switch (pattern744 (x1, pnum_clobbers))
    7506              :         {
    7507              :         case 0:
    7508              :           if (
    7509              : #line 13548 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7510              : (GET_MODE (operands[1]) == GET_MODE (operands[2])))
    7511              :             {
    7512              :               *pnum_clobbers = 1;
    7513              :               return 828; /* *andqi_exthi_3 */
    7514              :             }
    7515              :           break;
    7516              : 
    7517              :         case 1:
    7518              :           if (
    7519              : #line 13548 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7520              : (GET_MODE (operands[1]) == GET_MODE (operands[2])))
    7521              :             {
    7522              :               *pnum_clobbers = 1;
    7523              :               return 831; /* *andqi_extsi_3 */
    7524              :             }
    7525              :           break;
    7526              : 
    7527              :         case 2:
    7528              :           if ((
    7529              : #line 13548 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7530              : (GET_MODE (operands[1]) == GET_MODE (operands[2])) && 
    7531              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7532              : (TARGET_64BIT)))
    7533              :             {
    7534              :               *pnum_clobbers = 1;
    7535              :               return 834; /* *andqi_extdi_3 */
    7536              :             }
    7537              :           break;
    7538              : 
    7539              :         default:
    7540              :           break;
    7541              :         }
    7542              :       break;
    7543              : 
    7544              :     case IOR:
    7545              :       switch (pattern744 (x1, pnum_clobbers))
    7546              :         {
    7547              :         case 0:
    7548              :           if (
    7549              : #line 13548 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7550              : (GET_MODE (operands[1]) == GET_MODE (operands[2])))
    7551              :             {
    7552              :               *pnum_clobbers = 1;
    7553              :               return 829; /* *iorqi_exthi_3 */
    7554              :             }
    7555              :           break;
    7556              : 
    7557              :         case 1:
    7558              :           if (
    7559              : #line 13548 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7560              : (GET_MODE (operands[1]) == GET_MODE (operands[2])))
    7561              :             {
    7562              :               *pnum_clobbers = 1;
    7563              :               return 832; /* *iorqi_extsi_3 */
    7564              :             }
    7565              :           break;
    7566              : 
    7567              :         case 2:
    7568              :           if ((
    7569              : #line 13548 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7570              : (GET_MODE (operands[1]) == GET_MODE (operands[2])) && 
    7571              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7572              : (TARGET_64BIT)))
    7573              :             {
    7574              :               *pnum_clobbers = 1;
    7575              :               return 835; /* *iorqi_extdi_3 */
    7576              :             }
    7577              :           break;
    7578              : 
    7579              :         default:
    7580              :           break;
    7581              :         }
    7582              :       break;
    7583              : 
    7584              :     case XOR:
    7585              :       switch (pattern744 (x1, pnum_clobbers))
    7586              :         {
    7587              :         case 0:
    7588              :           if (
    7589              : #line 13548 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7590              : (GET_MODE (operands[1]) == GET_MODE (operands[2])))
    7591              :             {
    7592              :               *pnum_clobbers = 1;
    7593              :               return 830; /* *xorqi_exthi_3 */
    7594              :             }
    7595              :           break;
    7596              : 
    7597              :         case 1:
    7598              :           if (
    7599              : #line 13548 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7600              : (GET_MODE (operands[1]) == GET_MODE (operands[2])))
    7601              :             {
    7602              :               *pnum_clobbers = 1;
    7603              :               return 833; /* *xorqi_extsi_3 */
    7604              :             }
    7605              :           break;
    7606              : 
    7607              :         case 2:
    7608              :           if ((
    7609              : #line 13548 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7610              : (GET_MODE (operands[1]) == GET_MODE (operands[2])) && 
    7611              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7612              : (TARGET_64BIT)))
    7613              :             {
    7614              :               *pnum_clobbers = 1;
    7615              :               return 836; /* *xorqi_extdi_3 */
    7616              :             }
    7617              :           break;
    7618              : 
    7619              :         default:
    7620              :           break;
    7621              :         }
    7622              :       break;
    7623              : 
    7624              :     default:
    7625              :       break;
    7626              :     }
    7627              :   x8 = XEXP (x2, 1);
    7628              :   if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
    7629              :     return -1;
    7630              :   operands[1] = x7;
    7631              :   switch (GET_CODE (x2))
    7632              :     {
    7633              :     case LSHIFTRT:
    7634              :       switch (pattern972 (x1))
    7635              :         {
    7636              :         case 0:
    7637              :           return 141; /* *insvqi_3 */
    7638              : 
    7639              :         case 1:
    7640              :           return 143; /* *insvqi_3 */
    7641              : 
    7642              :         case 2:
    7643              :           if (!
    7644              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7645              : (TARGET_64BIT))
    7646              :             return -1;
    7647              :           return 145; /* *insvqi_3 */
    7648              : 
    7649              :         default:
    7650              :           return -1;
    7651              :         }
    7652              : 
    7653              :     case ASHIFTRT:
    7654              :       switch (pattern972 (x1))
    7655              :         {
    7656              :         case 0:
    7657              :           return 142; /* *insvqi_3 */
    7658              : 
    7659              :         case 1:
    7660              :           return 144; /* *insvqi_3 */
    7661              : 
    7662              :         case 2:
    7663              :           if (!
    7664              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7665              : (TARGET_64BIT))
    7666              :             return -1;
    7667              :           return 146; /* *insvqi_3 */
    7668              : 
    7669              :         default:
    7670              :           return -1;
    7671              :         }
    7672              : 
    7673              :     default:
    7674              :       return -1;
    7675              :     }
    7676              : }
    7677              : 
    7678              :  int
    7679              : recog_31 (rtx x1 ATTRIBUTE_UNUSED,
    7680              :         rtx_insn *insn ATTRIBUTE_UNUSED,
    7681              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
    7682              : {
    7683              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    7684              :   rtx x2, x3, x4, x5, x6, x7;
    7685              :   int res ATTRIBUTE_UNUSED;
    7686              :   x2 = XEXP (x1, 0);
    7687              :   operands[0] = x2;
    7688              :   x3 = XEXP (x1, 1);
    7689              :   x4 = XEXP (x3, 0);
    7690              :   switch (GET_CODE (x4))
    7691              :     {
    7692              :     case REG:
    7693              :     case SUBREG:
    7694              :     case MEM:
    7695              :       operands[1] = x4;
    7696              :       switch (GET_MODE (operands[0]))
    7697              :         {
    7698              :         case E_DImode:
    7699              :           if (GET_MODE (x3) == E_DImode)
    7700              :             {
    7701              :               if (register_operand (operands[0], E_DImode))
    7702              :                 {
    7703              :                   switch (GET_MODE (operands[1]))
    7704              :                     {
    7705              :                     case E_SImode:
    7706              :                       if (nonimmediate_operand (operands[1], E_SImode)
    7707              :                           && 
    7708              : #line 4982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7709              : (TARGET_64BIT))
    7710              :                         return 188; /* *extendsidi2_rex64 */
    7711              :                       break;
    7712              : 
    7713              :                     case E_QImode:
    7714              :                       if (nonimmediate_operand (operands[1], E_QImode)
    7715              :                           && 
    7716              : #line 5141 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7717              : (TARGET_64BIT))
    7718              :                         return 191; /* extendqidi2 */
    7719              :                       break;
    7720              : 
    7721              :                     case E_HImode:
    7722              :                       if (nonimmediate_operand (operands[1], E_HImode)
    7723              :                           && 
    7724              : #line 5141 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7725              : (TARGET_64BIT))
    7726              :                         return 192; /* extendhidi2 */
    7727              :                       break;
    7728              : 
    7729              :                     default:
    7730              :                       break;
    7731              :                     }
    7732              :                 }
    7733              :               if (pnum_clobbers != NULL
    7734              :                   && nonimmediate_operand (operands[0], E_DImode)
    7735              :                   && register_operand (operands[1], E_SImode)
    7736              :                   && 
    7737              : #line 4996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7738              : (!TARGET_64BIT))
    7739              :                 {
    7740              :                   *pnum_clobbers = 2;
    7741              :                   return 189; /* extendsidi2_1 */
    7742              :                 }
    7743              :             }
    7744              :           break;
    7745              : 
    7746              :         case E_TImode:
    7747              :           if (pattern261 (x3, pnum_clobbers, 
    7748              : E_DImode, 
    7749              : E_TImode) == 0
    7750              :               && 
    7751              : #line 5004 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7752              : (TARGET_64BIT))
    7753              :             {
    7754              :               *pnum_clobbers = 2;
    7755              :               return 190; /* extendditi2 */
    7756              :             }
    7757              :           break;
    7758              : 
    7759              :         case E_SImode:
    7760              :           if (register_operand (operands[0], E_SImode)
    7761              :               && GET_MODE (x3) == E_SImode)
    7762              :             {
    7763              :               switch (GET_MODE (operands[1]))
    7764              :                 {
    7765              :                 case E_HImode:
    7766              :                   if (nonimmediate_operand (operands[1], E_HImode))
    7767              :                     return 193; /* extendhisi2 */
    7768              :                   break;
    7769              : 
    7770              :                 case E_QImode:
    7771              :                   if (nonimmediate_operand (operands[1], E_QImode))
    7772              :                     return 195; /* extendqisi2 */
    7773              :                   break;
    7774              : 
    7775              :                 default:
    7776              :                   break;
    7777              :                 }
    7778              :             }
    7779              :           break;
    7780              : 
    7781              :         case E_HImode:
    7782              :           if (register_operand (operands[0], E_HImode)
    7783              :               && GET_MODE (x3) == E_HImode
    7784              :               && nonimmediate_operand (operands[1], E_QImode))
    7785              :             return 197; /* extendqihi2 */
    7786              :           break;
    7787              : 
    7788              :         default:
    7789              :           break;
    7790              :         }
    7791              :       if (GET_CODE (x4) != SUBREG
    7792              :           || maybe_ne (SUBREG_BYTE (x4), 0)
    7793              :           || GET_MODE (x4) != E_QImode)
    7794              :         return -1;
    7795              :       x5 = XEXP (x4, 0);
    7796              :       switch (GET_CODE (x5))
    7797              :         {
    7798              :         case ASHIFTRT:
    7799              :         case LSHIFTRT:
    7800              :         case SIGN_EXTRACT:
    7801              :         case ZERO_EXTRACT:
    7802              :           operands[2] = x5;
    7803              :           x6 = XEXP (x5, 0);
    7804              :           operands[1] = x6;
    7805              :           if (!int248_register_operand (operands[1], E_VOIDmode))
    7806              :             return -1;
    7807              :           switch (GET_MODE (operands[0]))
    7808              :             {
    7809              :             case E_HImode:
    7810              :               switch (pattern1213 (x3, 
    7811              : E_HImode))
    7812              :                 {
    7813              :                 case 0:
    7814              :                   return 198; /* *extendqihi_ext_1 */
    7815              : 
    7816              :                 case 1:
    7817              :                   return 199; /* *extendqihi_ext_1 */
    7818              : 
    7819              :                 case 2:
    7820              :                   if (!
    7821              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7822              : (TARGET_64BIT))
    7823              :                     return -1;
    7824              :                   return 200; /* *extendqihi_ext_1 */
    7825              : 
    7826              :                 default:
    7827              :                   return -1;
    7828              :                 }
    7829              : 
    7830              :             case E_SImode:
    7831              :               switch (pattern1213 (x3, 
    7832              : E_SImode))
    7833              :                 {
    7834              :                 case 0:
    7835              :                   return 201; /* *extendqisi_ext_1 */
    7836              : 
    7837              :                 case 1:
    7838              :                   return 202; /* *extendqisi_ext_1 */
    7839              : 
    7840              :                 case 2:
    7841              :                   if (!
    7842              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7843              : (TARGET_64BIT))
    7844              :                     return -1;
    7845              :                   return 203; /* *extendqisi_ext_1 */
    7846              : 
    7847              :                 default:
    7848              :                   return -1;
    7849              :                 }
    7850              : 
    7851              :             default:
    7852              :               return -1;
    7853              :             }
    7854              : 
    7855              :         default:
    7856              :           return -1;
    7857              :         }
    7858              : 
    7859              :     case SS_TRUNCATE:
    7860              :       if (GET_MODE (x4) != E_V2HImode)
    7861              :         return -1;
    7862              :       x5 = XEXP (x4, 0);
    7863              :       if (GET_CODE (x5) != FIX
    7864              :           || GET_MODE (x5) != E_V2SImode
    7865              :           || !register_operand (operands[0], E_V2SImode)
    7866              :           || GET_MODE (x3) != E_V2SImode)
    7867              :         return -1;
    7868              :       x6 = XEXP (x5, 0);
    7869              :       operands[1] = x6;
    7870              :       if (!nonimmediate_operand (operands[1], E_V2SFmode)
    7871              :           || !
    7872              : #line 1635 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7873              : (TARGET_3DNOW_A))
    7874              :         return -1;
    7875              :       return 2139; /* mmx_pf2iw */
    7876              : 
    7877              :     case VEC_SELECT:
    7878              :       x7 = XEXP (x4, 1);
    7879              :       if (GET_CODE (x7) != PARALLEL)
    7880              :         return -1;
    7881              :       x5 = XEXP (x4, 0);
    7882              :       operands[1] = x5;
    7883              :       switch (XVECLEN (x7, 0))
    7884              :         {
    7885              :         case 4:
    7886              :           if (pattern619 (x3) != 0
    7887              :               || !
    7888              : #line 5039 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7889              : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
    7890              :             return -1;
    7891              :           return 2361; /* sse4_1_sign_extendv4qiv4hi2 */
    7892              : 
    7893              :         case 2:
    7894              :           switch (pattern620 (x3))
    7895              :             {
    7896              :             case 0:
    7897              :               if (!
    7898              : #line 5071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7899              : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
    7900              :                 return -1;
    7901              :               return 2363; /* sse4_1_sign_extendv2hiv2si2 */
    7902              : 
    7903              :             case 1:
    7904              :               if (!
    7905              : #line 5103 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7906              : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
    7907              :                 return -1;
    7908              :               return 2365; /* sse4_1_sign_extendv2qiv2si2 */
    7909              : 
    7910              :             case 2:
    7911              :               if (!
    7912              : #line 5129 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7913              : (TARGET_SSE4_1))
    7914              :                 return -1;
    7915              :               return 2367; /* sse4_1_sign_extendv2qiv2hi2 */
    7916              : 
    7917              :             default:
    7918              :               return -1;
    7919              :             }
    7920              : 
    7921              :         default:
    7922              :           return -1;
    7923              :         }
    7924              : 
    7925              :     default:
    7926              :       return -1;
    7927              :     }
    7928              : }
    7929              : 
    7930              :  int
    7931              : recog_40 (rtx x1 ATTRIBUTE_UNUSED,
    7932              :         rtx_insn *insn ATTRIBUTE_UNUSED,
    7933              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
    7934              : {
    7935              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    7936              :   rtx x2, x3, x4, x5, x6;
    7937              :   int res ATTRIBUTE_UNUSED;
    7938              :   x2 = XEXP (x1, 1);
    7939              :   x3 = XEXP (x2, 1);
    7940              :   switch (GET_CODE (x3))
    7941              :     {
    7942              :     case REG:
    7943              :     case SUBREG:
    7944              :       switch (pattern1086 (x2))
    7945              :         {
    7946              :         case 0:
    7947              :           switch (GET_MODE (operands[1]))
    7948              :             {
    7949              :             case E_V16SImode:
    7950              :               if (!register_operand (operands[1], E_V16SImode)
    7951              :                   || !nonimmediate_operand (operands[2], E_V16SImode)
    7952              :                   || !const_0_to_7_operand (operands[3], E_SImode)
    7953              :                   || !(
    7954              : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    7955              : (TARGET_AVX512F) && 
    7956              : #line 4621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7957              : (TARGET_AVX512F && 1)))
    7958              :                 return -1;
    7959              :               return 3324; /* avx512f_cmpv16si3_mask */
    7960              : 
    7961              :             case E_V16HFmode:
    7962              :               if (!register_operand (operands[1], E_V16HFmode)
    7963              :                   || !nonimmediate_operand (operands[2], E_V16HFmode)
    7964              :                   || !const_0_to_31_operand (operands[3], E_SImode)
    7965              :                   || !(
    7966              : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    7967              : (TARGET_AVX512F) && (
    7968              : #line 4621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7969              : (TARGET_AVX512F && 1) && 
    7970              : #line 321 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7971              : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
    7972              :                 return -1;
    7973              :               return 3343; /* avx512vl_cmpv16hf3_mask */
    7974              : 
    7975              :             case E_V16SFmode:
    7976              :               if (!register_operand (operands[1], E_V16SFmode)
    7977              :                   || !nonimmediate_operand (operands[2], E_V16SFmode)
    7978              :                   || !const_0_to_31_operand (operands[3], E_SImode)
    7979              :                   || !(
    7980              : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    7981              : (TARGET_AVX512F) && 
    7982              : #line 4621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7983              : (TARGET_AVX512F && 1)))
    7984              :                 return -1;
    7985              :               return 3348; /* avx512f_cmpv16sf3_mask */
    7986              : 
    7987              :             case E_V16QImode:
    7988              :               if (!register_operand (operands[1], E_V16QImode)
    7989              :                   || !nonimmediate_operand (operands[2], E_V16QImode)
    7990              :                   || !const_0_to_7_operand (operands[3], E_SImode)
    7991              :                   || !(
    7992              : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    7993              : (TARGET_AVX512F) && (
    7994              : #line 4815 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7995              : (TARGET_AVX512BW) && 
    7996              : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7997              : (TARGET_AVX512VL))))
    7998              :                 return -1;
    7999              :               return 3485; /* avx512vl_cmpv16qi3_mask */
    8000              : 
    8001              :             case E_V16HImode:
    8002              :               if (!register_operand (operands[1], E_V16HImode)
    8003              :                   || !nonimmediate_operand (operands[2], E_V16HImode)
    8004              :                   || !const_0_to_7_operand (operands[3], E_SImode)
    8005              :                   || !(
    8006              : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    8007              : (TARGET_AVX512F) && (
    8008              : #line 4815 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8009              : (TARGET_AVX512BW) && 
    8010              : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8011              : (TARGET_AVX512VL))))
    8012              :                 return -1;
    8013              :               return 3491; /* avx512vl_cmpv16hi3_mask */
    8014              : 
    8015              :             case E_V16BFmode:
    8016              :               if (!register_operand (operands[1], E_V16BFmode)
    8017              :                   || !nonimmediate_operand (operands[2], E_V16BFmode)
    8018              :                   || !const_0_to_31_operand (operands[3], E_VOIDmode)
    8019              :                   || !(
    8020              : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    8021              : (TARGET_AVX512F) && 
    8022              : #line 33164 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8023              : (TARGET_AVX10_2)))
    8024              :                 return -1;
    8025              :               return 10801; /* avx10_2_cmpbf16_v16bf_mask */
    8026              : 
    8027              :             default:
    8028              :               return -1;
    8029              :             }
    8030              : 
    8031              :         case 1:
    8032              :           switch (GET_MODE (operands[1]))
    8033              :             {
    8034              :             case E_V8SImode:
    8035              :               if (!register_operand (operands[1], E_V8SImode)
    8036              :                   || !nonimmediate_operand (operands[2], E_V8SImode)
    8037              :                   || !const_0_to_7_operand (operands[3], E_SImode)
    8038              :                   || !(
    8039              : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    8040              : (TARGET_AVX512F) && (
    8041              : #line 4621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8042              : (TARGET_AVX512F && 1) && 
    8043              : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8044              : (TARGET_AVX512VL))))
    8045              :                 return -1;
    8046              :               return 3327; /* avx512vl_cmpv8si3_mask */
    8047              : 
    8048              :             case E_V4SImode:
    8049              :               if (!register_operand (operands[1], E_V4SImode)
    8050              :                   || !nonimmediate_operand (operands[2], E_V4SImode)
    8051              :                   || !const_0_to_7_operand (operands[3], E_SImode)
    8052              :                   || !(
    8053              : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    8054              : (TARGET_AVX512F) && (
    8055              : #line 4621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8056              : (TARGET_AVX512F && 1) && 
    8057              : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8058              : (TARGET_AVX512VL))))
    8059              :                 return -1;
    8060              :               return 3329; /* avx512vl_cmpv4si3_mask */
    8061              : 
    8062              :             case E_V8DImode:
    8063              :               if (!register_operand (operands[1], E_V8DImode)
    8064              :                   || !nonimmediate_operand (operands[2], E_V8DImode)
    8065              :                   || !const_0_to_7_operand (operands[3], E_SImode)
    8066              :                   || !(
    8067              : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    8068              : (TARGET_AVX512F) && 
    8069              : #line 4621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8070              : (TARGET_AVX512F && 1)))
    8071              :                 return -1;
    8072              :               return 3332; /* avx512f_cmpv8di3_mask */
    8073              : 
    8074              :             case E_V4DImode:
    8075              :               if (!register_operand (operands[1], E_V4DImode)
    8076              :                   || !nonimmediate_operand (operands[2], E_V4DImode)
    8077              :                   || !const_0_to_7_operand (operands[3], E_SImode)
    8078              :                   || !(
    8079              : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    8080              : (TARGET_AVX512F) && (
    8081              : #line 4621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8082              : (TARGET_AVX512F && 1) && 
    8083              : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8084              : (TARGET_AVX512VL))))
    8085              :                 return -1;
    8086              :               return 3335; /* avx512vl_cmpv4di3_mask */
    8087              : 
    8088              :             case E_V2DImode:
    8089              :               if (!register_operand (operands[1], E_V2DImode)
    8090              :                   || !nonimmediate_operand (operands[2], E_V2DImode)
    8091              :                   || !const_0_to_7_operand (operands[3], E_SImode)
    8092              :                   || !(
    8093              : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    8094              : (TARGET_AVX512F) && (
    8095              : #line 4621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8096              : (TARGET_AVX512F && 1) && 
    8097              : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8098              : (TARGET_AVX512VL))))
    8099              :                 return -1;
    8100              :               return 3337; /* avx512vl_cmpv2di3_mask */
    8101              : 
    8102              :             case E_V8HFmode:
    8103              :               if (!register_operand (operands[1], E_V8HFmode)
    8104              :                   || !nonimmediate_operand (operands[2], E_V8HFmode)
    8105              :                   || !const_0_to_31_operand (operands[3], E_SImode)
    8106              :                   || !(
    8107              : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    8108              : (TARGET_AVX512F) && (
    8109              : #line 4621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8110              : (TARGET_AVX512F && 1) && 
    8111              : #line 322 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8112              : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
    8113              :                 return -1;
    8114              :               return 3345; /* avx512fp16_cmpv8hf3_mask */
    8115              : 
    8116              :             case E_V8SFmode:
    8117              :               if (!register_operand (operands[1], E_V8SFmode)
    8118              :                   || !nonimmediate_operand (operands[2], E_V8SFmode)
    8119              :                   || !const_0_to_31_operand (operands[3], E_SImode)
    8120              :                   || !(
    8121              : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    8122              : (TARGET_AVX512F) && (
    8123              : #line 4621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8124              : (TARGET_AVX512F && 1) && 
    8125              : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8126              : (TARGET_AVX512VL))))
    8127              :                 return -1;
    8128              :               return 3351; /* avx512vl_cmpv8sf3_mask */
    8129              : 
    8130              :             case E_V4SFmode:
    8131              :               if (!register_operand (operands[1], E_V4SFmode)
    8132              :                   || !nonimmediate_operand (operands[2], E_V4SFmode)
    8133              :                   || !const_0_to_31_operand (operands[3], E_SImode)
    8134              :                   || !(
    8135              : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    8136              : (TARGET_AVX512F) && (
    8137              : #line 4621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8138              : (TARGET_AVX512F && 1) && 
    8139              : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8140              : (TARGET_AVX512VL))))
    8141              :                 return -1;
    8142              :               return 3353; /* avx512vl_cmpv4sf3_mask */
    8143              : 
    8144              :             case E_V8DFmode:
    8145              :               if (!register_operand (operands[1], E_V8DFmode)
    8146              :                   || !nonimmediate_operand (operands[2], E_V8DFmode)
    8147              :                   || !const_0_to_31_operand (operands[3], E_SImode)
    8148              :                   || !(
    8149              : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    8150              : (TARGET_AVX512F) && 
    8151              : #line 4621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8152              : (TARGET_AVX512F && 1)))
    8153              :                 return -1;
    8154              :               return 3356; /* avx512f_cmpv8df3_mask */
    8155              : 
    8156              :             case E_V4DFmode:
    8157              :               if (!register_operand (operands[1], E_V4DFmode)
    8158              :                   || !nonimmediate_operand (operands[2], E_V4DFmode)
    8159              :                   || !const_0_to_31_operand (operands[3], E_SImode)
    8160              :                   || !(
    8161              : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    8162              : (TARGET_AVX512F) && (
    8163              : #line 4621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8164              : (TARGET_AVX512F && 1) && 
    8165              : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8166              : (TARGET_AVX512VL))))
    8167              :                 return -1;
    8168              :               return 3359; /* avx512vl_cmpv4df3_mask */
    8169              : 
    8170              :             case E_V2DFmode:
    8171              :               if (!register_operand (operands[1], E_V2DFmode)
    8172              :                   || !nonimmediate_operand (operands[2], E_V2DFmode)
    8173              :                   || !const_0_to_31_operand (operands[3], E_SImode)
    8174              :                   || !(
    8175              : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    8176              : (TARGET_AVX512F) && (
    8177              : #line 4621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8178              : (TARGET_AVX512F && 1) && 
    8179              : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8180              : (TARGET_AVX512VL))))
    8181              :                 return -1;
    8182              :               return 3361; /* avx512vl_cmpv2df3_mask */
    8183              : 
    8184              :             case E_V8HImode:
    8185              :               if (!register_operand (operands[1], E_V8HImode)
    8186              :                   || !nonimmediate_operand (operands[2], E_V8HImode)
    8187              :                   || !const_0_to_7_operand (operands[3], E_SImode)
    8188              :                   || !(
    8189              : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    8190              : (TARGET_AVX512F) && (
    8191              : #line 4815 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8192              : (TARGET_AVX512BW) && 
    8193              : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8194              : (TARGET_AVX512VL))))
    8195              :                 return -1;
    8196              :               return 3493; /* avx512vl_cmpv8hi3_mask */
    8197              : 
    8198              :             case E_V8BFmode:
    8199              :               if (!register_operand (operands[1], E_V8BFmode)
    8200              :                   || !nonimmediate_operand (operands[2], E_V8BFmode)
    8201              :                   || !const_0_to_31_operand (operands[3], E_VOIDmode)
    8202              :                   || !(
    8203              : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    8204              : (TARGET_AVX512F) && 
    8205              : #line 33164 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8206              : (TARGET_AVX10_2)))
    8207              :                 return -1;
    8208              :               return 10803; /* avx10_2_cmpbf16_v8bf_mask */
    8209              : 
    8210              :             default:
    8211              :               return -1;
    8212              :             }
    8213              : 
    8214              :         default:
    8215              :           return -1;
    8216              :         }
    8217              : 
    8218              :     case CONST_INT:
    8219              :       if (!register_operand (operands[0], E_QImode)
    8220              :           || GET_MODE (x2) != E_QImode)
    8221              :         return -1;
    8222              :       x4 = XEXP (x2, 0);
    8223              :       if (GET_MODE (x4) != E_QImode)
    8224              :         return -1;
    8225              :       switch (XWINT (x3, 0))
    8226              :         {
    8227              :         case 15L:
    8228              :           switch (GET_MODE (operands[1]))
    8229              :             {
    8230              :             case E_V4SFmode:
    8231              :               if (!nonimmediate_operand (operands[1], E_V4SFmode)
    8232              :                   || !nonimmediate_operand (operands[2], E_V4SFmode)
    8233              :                   || !const_0_to_31_operand (operands[3], E_SImode)
    8234              :                   || !(
    8235              : #line 4719 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8236              : (TARGET_AVX512F) && 
    8237              : #line 521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8238              : (TARGET_AVX512VL)))
    8239              :                 return -1;
    8240              :               return 3467; /* *avx512vl_cmpv4sf3_and15 */
    8241              : 
    8242              :             case E_V4DFmode:
    8243              :               if (!nonimmediate_operand (operands[1], E_V4DFmode)
    8244              :                   || !nonimmediate_operand (operands[2], E_V4DFmode)
    8245              :                   || !const_0_to_31_operand (operands[3], E_SImode)
    8246              :                   || !(
    8247              : #line 4719 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8248              : (TARGET_AVX512F) && 
    8249              : #line 521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8250              : (TARGET_AVX512VL)))
    8251              :                 return -1;
    8252              :               return 3468; /* *avx512vl_cmpv4df3_and15 */
    8253              : 
    8254              :             case E_V4SImode:
    8255              :               if (!nonimmediate_operand (operands[1], E_V4SImode)
    8256              :                   || !nonimmediate_operand (operands[2], E_V4SImode)
    8257              :                   || !const_0_to_7_operand (operands[3], E_SImode)
    8258              :                   || !(
    8259              : #line 4719 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8260              : (TARGET_AVX512F) && 
    8261              : #line 522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8262              : (TARGET_AVX512VL)))
    8263              :                 return -1;
    8264              :               return 3469; /* *avx512vl_cmpv4si3_and15 */
    8265              : 
    8266              :             case E_V4DImode:
    8267              :               if (!nonimmediate_operand (operands[1], E_V4DImode)
    8268              :                   || !nonimmediate_operand (operands[2], E_V4DImode)
    8269              :                   || !const_0_to_7_operand (operands[3], E_SImode)
    8270              :                   || !(
    8271              : #line 4719 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8272              : (TARGET_AVX512F) && 
    8273              : #line 522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8274              : (TARGET_AVX512VL)))
    8275              :                 return -1;
    8276              :               return 3470; /* *avx512vl_cmpv4di3_and15 */
    8277              : 
    8278              :             default:
    8279              :               return -1;
    8280              :             }
    8281              : 
    8282              :         case 3L:
    8283              :           switch (GET_MODE (operands[1]))
    8284              :             {
    8285              :             case E_V2DFmode:
    8286              :               if (!nonimmediate_operand (operands[1], E_V2DFmode)
    8287              :                   || !nonimmediate_operand (operands[2], E_V2DFmode)
    8288              :                   || !const_0_to_31_operand (operands[3], E_SImode)
    8289              :                   || !(
    8290              : #line 4768 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8291              : (TARGET_AVX512F) && 
    8292              : #line 528 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8293              : (TARGET_AVX512VL)))
    8294              :                 return -1;
    8295              :               return 3477; /* *avx512vl_cmpv2df3_and3 */
    8296              : 
    8297              :             case E_V2DImode:
    8298              :               if (!nonimmediate_operand (operands[1], E_V2DImode)
    8299              :                   || !nonimmediate_operand (operands[2], E_V2DImode)
    8300              :                   || !const_0_to_7_operand (operands[3], E_SImode)
    8301              :                   || !(
    8302              : #line 4768 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8303              : (TARGET_AVX512F) && 
    8304              : #line 528 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8305              : (TARGET_AVX512VL)))
    8306              :                 return -1;
    8307              :               return 3478; /* *avx512vl_cmpv2di3_and3 */
    8308              : 
    8309              :             default:
    8310              :               return -1;
    8311              :             }
    8312              : 
    8313              :         case 1L:
    8314              :           if (!const_0_to_31_operand (operands[3], E_SImode))
    8315              :             return -1;
    8316              :           switch (pattern1520 ())
    8317              :             {
    8318              :             case 0:
    8319              :               if (!(
    8320              : #line 5173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8321              : (TARGET_AVX512F) && 
    8322              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8323              : (TARGET_AVX512FP16)))
    8324              :                 return -1;
    8325              :               return 3728; /* avx512f_vmcmpv8hf3 */
    8326              : 
    8327              :             case 1:
    8328              :               if (!
    8329              : #line 5173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8330              : (TARGET_AVX512F))
    8331              :                 return -1;
    8332              :               return 3730; /* avx512f_vmcmpv4sf3 */
    8333              : 
    8334              :             case 2:
    8335              :               if (!(
    8336              : #line 5173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8337              : (TARGET_AVX512F) && 
    8338              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8339              : (TARGET_SSE2)))
    8340              :                 return -1;
    8341              :               return 3732; /* avx512f_vmcmpv2df3 */
    8342              : 
    8343              :             default:
    8344              :               return -1;
    8345              :             }
    8346              : 
    8347              :         default:
    8348              :           return -1;
    8349              :         }
    8350              : 
    8351              :     case AND:
    8352              :       if (GET_MODE (x3) != E_QImode)
    8353              :         return -1;
    8354              :       x5 = XEXP (x3, 1);
    8355              :       if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
    8356              :           || !register_operand (operands[0], E_QImode)
    8357              :           || GET_MODE (x2) != E_QImode)
    8358              :         return -1;
    8359              :       x4 = XEXP (x2, 0);
    8360              :       if (GET_MODE (x4) != E_QImode
    8361              :           || !const_0_to_31_operand (operands[3], E_SImode))
    8362              :         return -1;
    8363              :       x6 = XEXP (x3, 0);
    8364              :       operands[4] = x6;
    8365              :       if (!register_operand (operands[4], E_QImode))
    8366              :         return -1;
    8367              :       switch (pattern1520 ())
    8368              :         {
    8369              :         case 0:
    8370              :           if (!(
    8371              : #line 5191 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8372              : (TARGET_AVX512F) && 
    8373              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8374              : (TARGET_AVX512FP16)))
    8375              :             return -1;
    8376              :           return 3734; /* avx512f_vmcmpv8hf3_mask */
    8377              : 
    8378              :         case 1:
    8379              :           if (!
    8380              : #line 5191 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8381              : (TARGET_AVX512F))
    8382              :             return -1;
    8383              :           return 3736; /* avx512f_vmcmpv4sf3_mask */
    8384              : 
    8385              :         case 2:
    8386              :           if (!(
    8387              : #line 5191 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8388              : (TARGET_AVX512F) && 
    8389              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8390              : (TARGET_SSE2)))
    8391              :             return -1;
    8392              :           return 3738; /* avx512f_vmcmpv2df3_mask */
    8393              : 
    8394              :         default:
    8395              :           return -1;
    8396              :         }
    8397              : 
    8398              :     default:
    8399              :       return -1;
    8400              :     }
    8401              : }
    8402              : 
    8403              :  int
    8404              : recog_62 (rtx x1 ATTRIBUTE_UNUSED,
    8405              :         rtx_insn *insn ATTRIBUTE_UNUSED,
    8406              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
    8407              : {
    8408              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    8409              :   rtx x2, x3, x4, x5, x6, x7;
    8410              :   int res ATTRIBUTE_UNUSED;
    8411              :   x2 = XEXP (x1, 1);
    8412              :   switch (GET_CODE (x2))
    8413              :     {
    8414              :     case PLUS:
    8415              :       res = recog_57 (x1, insn, pnum_clobbers);
    8416              :       if (res >= 0)
    8417              :         return res;
    8418              :       break;
    8419              : 
    8420              :     case MINUS:
    8421              :       res = recog_60 (x1, insn, pnum_clobbers);
    8422              :       if (res >= 0)
    8423              :         return res;
    8424              :       break;
    8425              : 
    8426              :     case MULT:
    8427              :       res = recog_61 (x1, insn, pnum_clobbers);
    8428              :       if (res >= 0)
    8429              :         return res;
    8430              :       break;
    8431              : 
    8432              :     case DIV:
    8433              :       if (GET_MODE (x2) == E_HFmode)
    8434              :         {
    8435              :           x3 = XEXP (x1, 0);
    8436              :           operands[0] = x3;
    8437              :           if (register_operand (operands[0], E_HFmode))
    8438              :             {
    8439              :               x4 = XEXP (x2, 0);
    8440              :               operands[1] = x4;
    8441              :               if (nonimmediate_operand (operands[1], E_HFmode))
    8442              :                 {
    8443              :                   x5 = XEXP (x2, 1);
    8444              :                   operands[2] = x5;
    8445              :                   if (nonimmediate_operand (operands[2], E_HFmode)
    8446              :                       && 
    8447              : #line 23830 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8448              : (TARGET_AVX512FP16
    8449              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    8450              :                     return 1713; /* *divhf */
    8451              :                 }
    8452              :             }
    8453              :         }
    8454              :       break;
    8455              : 
    8456              :     default:
    8457              :       break;
    8458              :     }
    8459              :   operands[3] = x2;
    8460              :   x3 = XEXP (x1, 0);
    8461              :   operands[0] = x3;
    8462              :   x4 = XEXP (x2, 0);
    8463              :   switch (GET_CODE (x4))
    8464              :     {
    8465              :     case REG:
    8466              :     case SUBREG:
    8467              :     case MEM:
    8468              :       operands[1] = x4;
    8469              :       x5 = XEXP (x2, 1);
    8470              :       switch (GET_CODE (x5))
    8471              :         {
    8472              :         case REG:
    8473              :         case SUBREG:
    8474              :         case MEM:
    8475              :           operands[2] = x5;
    8476              :           switch (GET_MODE (operands[0]))
    8477              :             {
    8478              :             case E_XFmode:
    8479              :               if (!register_operand (operands[0], E_XFmode)
    8480              :                   || !binary_fp_operator (operands[3], E_XFmode)
    8481              :                   || !register_operand (operands[1], E_XFmode)
    8482              :                   || !register_operand (operands[2], E_XFmode))
    8483              :                 return -1;
    8484              :               if (
    8485              : #line 23782 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8486              : (TARGET_80387
    8487              :    && COMMUTATIVE_ARITH_P (operands[3])))
    8488              :                 return 1707; /* *fop_xf_comm_i387 */
    8489              :               if (!
    8490              : #line 23880 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8491              : (TARGET_80387
    8492              :    && !COMMUTATIVE_ARITH_P (operands[3])))
    8493              :                 return -1;
    8494              :               return 1716; /* *fop_xf_1_i387 */
    8495              : 
    8496              :             case E_SFmode:
    8497              :               if (!register_operand (operands[0], E_SFmode)
    8498              :                   || !binary_fp_operator (operands[3], E_SFmode)
    8499              :                   || !nonimmediate_operand (operands[2], E_SFmode))
    8500              :                 return -1;
    8501              :               if (nonimmediate_operand (operands[1], E_SFmode)
    8502              :                   && 
    8503              : #line 23796 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8504              : (((SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
    8505              :     || (TARGET_80387 && X87_ENABLE_ARITH (SFmode)))
    8506              :    && COMMUTATIVE_ARITH_P (operands[3])
    8507              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    8508              :                 return 1708; /* *fop_sf_comm */
    8509              :               if (!x87nonimm_ssenomem_operand (operands[1], E_SFmode)
    8510              :                   || !
    8511              : #line 23896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8512              : (((SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
    8513              :     || (TARGET_80387 && X87_ENABLE_ARITH (SFmode)))
    8514              :    && !COMMUTATIVE_ARITH_P (operands[3])
    8515              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    8516              :                 return -1;
    8517              :               return 1717; /* *fop_sf_1 */
    8518              : 
    8519              :             case E_DFmode:
    8520              :               if (!register_operand (operands[0], E_DFmode)
    8521              :                   || !binary_fp_operator (operands[3], E_DFmode)
    8522              :                   || !nonimmediate_operand (operands[2], E_DFmode))
    8523              :                 return -1;
    8524              :               if (nonimmediate_operand (operands[1], E_DFmode)
    8525              :                   && 
    8526              : #line 23796 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8527              : (((SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
    8528              :     || (TARGET_80387 && X87_ENABLE_ARITH (DFmode)))
    8529              :    && COMMUTATIVE_ARITH_P (operands[3])
    8530              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    8531              :                 return 1709; /* *fop_df_comm */
    8532              :               if (!x87nonimm_ssenomem_operand (operands[1], E_DFmode)
    8533              :                   || !
    8534              : #line 23896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8535              : (((SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
    8536              :     || (TARGET_80387 && X87_ENABLE_ARITH (DFmode)))
    8537              :    && !COMMUTATIVE_ARITH_P (operands[3])
    8538              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    8539              :                 return -1;
    8540              :               return 1718; /* *fop_df_1 */
    8541              : 
    8542              :             default:
    8543              :               return -1;
    8544              :             }
    8545              : 
    8546              :         case FLOAT:
    8547              :           x6 = XEXP (x5, 0);
    8548              :           operands[2] = x6;
    8549              :           switch (GET_MODE (operands[0]))
    8550              :             {
    8551              :             case E_SFmode:
    8552              :               switch (pattern867 (x5, 
    8553              : E_SFmode))
    8554              :                 {
    8555              :                 case 0:
    8556              :                   if (!
    8557              : #line 23952 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8558              : (TARGET_80387 && X87_ENABLE_FLOAT (SFmode, HImode)
    8559              :    && !(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
    8560              :    && (TARGET_USE_HIMODE_FIOP
    8561              :        || optimize_function_for_size_p (cfun))))
    8562              :                     return -1;
    8563              :                   return 1725; /* *fop_sf_3_i387 */
    8564              : 
    8565              :                 case 1:
    8566              :                   if (!
    8567              : #line 23952 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8568              : (TARGET_80387 && X87_ENABLE_FLOAT (SFmode, SImode)
    8569              :    && !(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
    8570              :    && (TARGET_USE_SIMODE_FIOP
    8571              :        || optimize_function_for_size_p (cfun))))
    8572              :                     return -1;
    8573              :                   return 1728; /* *fop_sf_3_i387 */
    8574              : 
    8575              :                 default:
    8576              :                   return -1;
    8577              :                 }
    8578              : 
    8579              :             case E_DFmode:
    8580              :               switch (pattern867 (x5, 
    8581              : E_DFmode))
    8582              :                 {
    8583              :                 case 0:
    8584              :                   if (!
    8585              : #line 23952 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8586              : (TARGET_80387 && X87_ENABLE_FLOAT (DFmode, HImode)
    8587              :    && !(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
    8588              :    && (TARGET_USE_HIMODE_FIOP
    8589              :        || optimize_function_for_size_p (cfun))))
    8590              :                     return -1;
    8591              :                   return 1726; /* *fop_df_3_i387 */
    8592              : 
    8593              :                 case 1:
    8594              :                   if (!
    8595              : #line 23952 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8596              : (TARGET_80387 && X87_ENABLE_FLOAT (DFmode, SImode)
    8597              :    && !(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
    8598              :    && (TARGET_USE_SIMODE_FIOP
    8599              :        || optimize_function_for_size_p (cfun))))
    8600              :                     return -1;
    8601              :                   return 1729; /* *fop_df_3_i387 */
    8602              : 
    8603              :                 default:
    8604              :                   return -1;
    8605              :                 }
    8606              : 
    8607              :             case E_XFmode:
    8608              :               switch (pattern867 (x5, 
    8609              : E_XFmode))
    8610              :                 {
    8611              :                 case 0:
    8612              :                   if (!
    8613              : #line 23952 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8614              : (TARGET_80387 && X87_ENABLE_FLOAT (XFmode, HImode)
    8615              :    && !(SSE_FLOAT_MODE_P (XFmode) && TARGET_SSE_MATH)
    8616              :    && (TARGET_USE_HIMODE_FIOP
    8617              :        || optimize_function_for_size_p (cfun))))
    8618              :                     return -1;
    8619              :                   return 1727; /* *fop_xf_3_i387 */
    8620              : 
    8621              :                 case 1:
    8622              :                   if (!
    8623              : #line 23952 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8624              : (TARGET_80387 && X87_ENABLE_FLOAT (XFmode, SImode)
    8625              :    && !(SSE_FLOAT_MODE_P (XFmode) && TARGET_SSE_MATH)
    8626              :    && (TARGET_USE_SIMODE_FIOP
    8627              :        || optimize_function_for_size_p (cfun))))
    8628              :                     return -1;
    8629              :                   return 1730; /* *fop_xf_3_i387 */
    8630              : 
    8631              :                 default:
    8632              :                   return -1;
    8633              :                 }
    8634              : 
    8635              :             default:
    8636              :               return -1;
    8637              :             }
    8638              : 
    8639              :         case FLOAT_EXTEND:
    8640              :           x6 = XEXP (x5, 0);
    8641              :           operands[2] = x6;
    8642              :           switch (pattern752 ())
    8643              :             {
    8644              :             case 0:
    8645              :               if (!register_operand (operands[1], E_XFmode)
    8646              :                   || GET_MODE (x5) != E_XFmode)
    8647              :                 return -1;
    8648              :               switch (GET_MODE (operands[2]))
    8649              :                 {
    8650              :                 case E_SFmode:
    8651              :                   if (!nonimmediate_operand (operands[2], E_SFmode)
    8652              :                       || !
    8653              : #line 24008 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8654              : (TARGET_80387))
    8655              :                     return -1;
    8656              :                   return 1734; /* *fop_xf_5_i387 */
    8657              : 
    8658              :                 case E_DFmode:
    8659              :                   if (!nonimmediate_operand (operands[2], E_DFmode)
    8660              :                       || !
    8661              : #line 24008 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8662              : (TARGET_80387))
    8663              :                     return -1;
    8664              :                   return 1735; /* *fop_xf_5_i387 */
    8665              : 
    8666              :                 default:
    8667              :                   return -1;
    8668              :                 }
    8669              : 
    8670              :             case 1:
    8671              :               if (!register_operand (operands[1], E_DFmode)
    8672              :                   || GET_MODE (x5) != E_DFmode
    8673              :                   || !nonimmediate_operand (operands[2], E_SFmode)
    8674              :                   || !
    8675              : #line 24025 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8676              : (TARGET_80387 && X87_ENABLE_ARITH (DFmode)
    8677              :    && !(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)))
    8678              :                 return -1;
    8679              :               return 1736; /* *fop_df_5_i387 */
    8680              : 
    8681              :             default:
    8682              :               return -1;
    8683              :             }
    8684              : 
    8685              :         default:
    8686              :           return -1;
    8687              :         }
    8688              : 
    8689              :     case FLOAT:
    8690              :       x7 = XEXP (x4, 0);
    8691              :       operands[1] = x7;
    8692              :       x5 = XEXP (x2, 1);
    8693              :       operands[2] = x5;
    8694              :       switch (GET_MODE (operands[0]))
    8695              :         {
    8696              :         case E_SFmode:
    8697              :           switch (pattern753 (x4, 
    8698              : E_SFmode))
    8699              :             {
    8700              :             case 0:
    8701              :               if (!
    8702              : #line 23931 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8703              : (TARGET_80387 && X87_ENABLE_FLOAT (SFmode, HImode)
    8704              :    && !(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
    8705              :    && (TARGET_USE_HIMODE_FIOP
    8706              :        || optimize_function_for_size_p (cfun))))
    8707              :                 return -1;
    8708              :               return 1719; /* *fop_sf_2_i387 */
    8709              : 
    8710              :             case 1:
    8711              :               if (!
    8712              : #line 23931 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8713              : (TARGET_80387 && X87_ENABLE_FLOAT (SFmode, SImode)
    8714              :    && !(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
    8715              :    && (TARGET_USE_SIMODE_FIOP
    8716              :        || optimize_function_for_size_p (cfun))))
    8717              :                 return -1;
    8718              :               return 1722; /* *fop_sf_2_i387 */
    8719              : 
    8720              :             default:
    8721              :               return -1;
    8722              :             }
    8723              : 
    8724              :         case E_DFmode:
    8725              :           switch (pattern753 (x4, 
    8726              : E_DFmode))
    8727              :             {
    8728              :             case 0:
    8729              :               if (!
    8730              : #line 23931 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8731              : (TARGET_80387 && X87_ENABLE_FLOAT (DFmode, HImode)
    8732              :    && !(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
    8733              :    && (TARGET_USE_HIMODE_FIOP
    8734              :        || optimize_function_for_size_p (cfun))))
    8735              :                 return -1;
    8736              :               return 1720; /* *fop_df_2_i387 */
    8737              : 
    8738              :             case 1:
    8739              :               if (!
    8740              : #line 23931 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8741              : (TARGET_80387 && X87_ENABLE_FLOAT (DFmode, SImode)
    8742              :    && !(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
    8743              :    && (TARGET_USE_SIMODE_FIOP
    8744              :        || optimize_function_for_size_p (cfun))))
    8745              :                 return -1;
    8746              :               return 1723; /* *fop_df_2_i387 */
    8747              : 
    8748              :             default:
    8749              :               return -1;
    8750              :             }
    8751              : 
    8752              :         case E_XFmode:
    8753              :           switch (pattern753 (x4, 
    8754              : E_XFmode))
    8755              :             {
    8756              :             case 0:
    8757              :               if (!
    8758              : #line 23931 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8759              : (TARGET_80387 && X87_ENABLE_FLOAT (XFmode, HImode)
    8760              :    && !(SSE_FLOAT_MODE_P (XFmode) && TARGET_SSE_MATH)
    8761              :    && (TARGET_USE_HIMODE_FIOP
    8762              :        || optimize_function_for_size_p (cfun))))
    8763              :                 return -1;
    8764              :               return 1721; /* *fop_xf_2_i387 */
    8765              : 
    8766              :             case 1:
    8767              :               if (!
    8768              : #line 23931 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8769              : (TARGET_80387 && X87_ENABLE_FLOAT (XFmode, SImode)
    8770              :    && !(SSE_FLOAT_MODE_P (XFmode) && TARGET_SSE_MATH)
    8771              :    && (TARGET_USE_SIMODE_FIOP
    8772              :        || optimize_function_for_size_p (cfun))))
    8773              :                 return -1;
    8774              :               return 1724; /* *fop_xf_2_i387 */
    8775              : 
    8776              :             default:
    8777              :               return -1;
    8778              :             }
    8779              : 
    8780              :         default:
    8781              :           return -1;
    8782              :         }
    8783              : 
    8784              :     case FLOAT_EXTEND:
    8785              :       x7 = XEXP (x4, 0);
    8786              :       operands[1] = x7;
    8787              :       x5 = XEXP (x2, 1);
    8788              :       switch (GET_CODE (x5))
    8789              :         {
    8790              :         case REG:
    8791              :         case SUBREG:
    8792              :           operands[2] = x5;
    8793              :           switch (pattern752 ())
    8794              :             {
    8795              :             case 0:
    8796              :               if (GET_MODE (x4) != E_XFmode
    8797              :                   || !register_operand (operands[2], E_XFmode))
    8798              :                 return -1;
    8799              :               switch (GET_MODE (operands[1]))
    8800              :                 {
    8801              :                 case E_SFmode:
    8802              :                   if (!nonimmediate_operand (operands[1], E_SFmode)
    8803              :                       || !
    8804              : #line 23973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8805              : (TARGET_80387))
    8806              :                     return -1;
    8807              :                   return 1731; /* *fop_xf_4_i387 */
    8808              : 
    8809              :                 case E_DFmode:
    8810              :                   if (!nonimmediate_operand (operands[1], E_DFmode)
    8811              :                       || !
    8812              : #line 23973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8813              : (TARGET_80387))
    8814              :                     return -1;
    8815              :                   return 1732; /* *fop_xf_4_i387 */
    8816              : 
    8817              :                 default:
    8818              :                   return -1;
    8819              :                 }
    8820              : 
    8821              :             case 1:
    8822              :               if (GET_MODE (x4) != E_DFmode
    8823              :                   || !nonimmediate_operand (operands[1], E_SFmode)
    8824              :                   || !register_operand (operands[2], E_DFmode)
    8825              :                   || !
    8826              : #line 23990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8827              : (TARGET_80387 && X87_ENABLE_ARITH (DFmode)
    8828              :    && !(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)))
    8829              :                 return -1;
    8830              :               return 1733; /* *fop_df_4_i387 */
    8831              : 
    8832              :             default:
    8833              :               return -1;
    8834              :             }
    8835              : 
    8836              :         case FLOAT_EXTEND:
    8837              :           x6 = XEXP (x5, 0);
    8838              :           operands[2] = x6;
    8839              :           switch (pattern752 ())
    8840              :             {
    8841              :             case 0:
    8842              :               if (GET_MODE (x4) != E_XFmode
    8843              :                   || GET_MODE (x5) != E_XFmode)
    8844              :                 return -1;
    8845              :               switch (GET_MODE (operands[1]))
    8846              :                 {
    8847              :                 case E_SFmode:
    8848              :                   if (!register_operand (operands[1], E_SFmode)
    8849              :                       || !nonimmediate_operand (operands[2], E_SFmode)
    8850              :                       || !
    8851              : #line 24044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8852              : (TARGET_80387))
    8853              :                     return -1;
    8854              :                   return 1737; /* *fop_xf_6_i387 */
    8855              : 
    8856              :                 case E_DFmode:
    8857              :                   if (!register_operand (operands[1], E_DFmode)
    8858              :                       || !nonimmediate_operand (operands[2], E_DFmode)
    8859              :                       || !
    8860              : #line 24044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8861              : (TARGET_80387))
    8862              :                     return -1;
    8863              :                   return 1738; /* *fop_xf_6_i387 */
    8864              : 
    8865              :                 default:
    8866              :                   return -1;
    8867              :                 }
    8868              : 
    8869              :             case 1:
    8870              :               if (pattern865 (x2, 
    8871              : E_SFmode, 
    8872              : E_DFmode) != 0
    8873              :                   || !
    8874              : #line 24062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8875              : (TARGET_80387 && X87_ENABLE_ARITH (DFmode)
    8876              :    && !(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)))
    8877              :                 return -1;
    8878              :               return 1739; /* *fop_df_6_i387 */
    8879              : 
    8880              :             default:
    8881              :               return -1;
    8882              :             }
    8883              : 
    8884              :         default:
    8885              :           return -1;
    8886              :         }
    8887              : 
    8888              :     default:
    8889              :       return -1;
    8890              :     }
    8891              : }
    8892              : 
    8893              :  int
    8894              : recog_75 (rtx x1 ATTRIBUTE_UNUSED,
    8895              :         rtx_insn *insn ATTRIBUTE_UNUSED,
    8896              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
    8897              : {
    8898              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    8899              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    8900              :   rtx x10;
    8901              :   int res ATTRIBUTE_UNUSED;
    8902              :   x2 = XEXP (x1, 1);
    8903              :   x3 = XEXP (x2, 0);
    8904              :   x4 = XEXP (x3, 0);
    8905              :   switch (GET_CODE (x4))
    8906              :     {
    8907              :     case REG:
    8908              :     case SUBREG:
    8909              :     case MEM:
    8910              :       operands[1] = x4;
    8911              :       x5 = XEXP (x3, 1);
    8912              :       operands[2] = x5;
    8913              :       switch (pattern279 (x2))
    8914              :         {
    8915              :         case 0:
    8916              :           if (!nonimmediate_operand (operands[1], E_QImode)
    8917              :               || !general_operand (operands[2], E_QImode))
    8918              :             return -1;
    8919              :           if (
    8920              : #line 6728 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8921              : (TARGET_APX_NDD && TARGET_APX_NF
    8922              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    8923              :             return 292; /* *addqi_1_zextsi_nf */
    8924              :           if (pnum_clobbers == NULL
    8925              :               || !
    8926              : #line 6728 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8927              : (TARGET_APX_NDD && true
    8928              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    8929              :             return -1;
    8930              :           *pnum_clobbers = 1;
    8931              :           return 293; /* *addqi_1_zextsi */
    8932              : 
    8933              :         case 1:
    8934              :           if (!nonimmediate_operand (operands[1], E_HImode)
    8935              :               || !general_operand (operands[2], E_HImode))
    8936              :             return -1;
    8937              :           if (
    8938              : #line 6766 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8939              : (TARGET_APX_NDD && TARGET_APX_NF
    8940              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    8941              :             return 296; /* *addhi_1_zextsi_nf */
    8942              :           if (pnum_clobbers == NULL
    8943              :               || !
    8944              : #line 6766 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8945              : (TARGET_APX_NDD && true
    8946              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    8947              :             return -1;
    8948              :           *pnum_clobbers = 1;
    8949              :           return 297; /* *addhi_1_zextsi */
    8950              : 
    8951              :         case 2:
    8952              :           if (!nonimmediate_operand (operands[1], E_QImode)
    8953              :               || !general_operand (operands[2], E_QImode))
    8954              :             return -1;
    8955              :           if (
    8956              : #line 6728 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8957              : (TARGET_APX_NDD && TARGET_APX_NF
    8958              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    8959              :             return 294; /* *addqi_1_zextdi_nf */
    8960              :           if (pnum_clobbers == NULL
    8961              :               || !
    8962              : #line 6728 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8963              : (TARGET_APX_NDD && true
    8964              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    8965              :             return -1;
    8966              :           *pnum_clobbers = 1;
    8967              :           return 295; /* *addqi_1_zextdi */
    8968              : 
    8969              :         case 3:
    8970              :           if (!nonimmediate_operand (operands[1], E_HImode)
    8971              :               || !general_operand (operands[2], E_HImode))
    8972              :             return -1;
    8973              :           if (
    8974              : #line 6766 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8975              : (TARGET_APX_NDD && TARGET_APX_NF
    8976              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    8977              :             return 298; /* *addhi_1_zextdi_nf */
    8978              :           if (pnum_clobbers == NULL
    8979              :               || !
    8980              : #line 6766 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8981              : (TARGET_APX_NDD && true
    8982              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    8983              :             return -1;
    8984              :           *pnum_clobbers = 1;
    8985              :           return 299; /* *addhi_1_zextdi */
    8986              : 
    8987              :         case 4:
    8988              :           if (pnum_clobbers == NULL
    8989              :               || !nonimmediate_operand (operands[1], E_SImode)
    8990              :               || !x86_64_general_operand (operands[2], E_SImode)
    8991              :               || !
    8992              : #line 6811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8993              : (TARGET_64BIT
    8994              :    && ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)))
    8995              :             return -1;
    8996              :           *pnum_clobbers = 1;
    8997              :           return 300; /* addsi_1_zext */
    8998              : 
    8999              :         default:
    9000              :           return -1;
    9001              :         }
    9002              : 
    9003              :     case PLUS:
    9004              :       if (pnum_clobbers == NULL)
    9005              :         return -1;
    9006              :       x6 = XEXP (x4, 0);
    9007              :       switch (GET_CODE (x6))
    9008              :         {
    9009              :         case LTU:
    9010              :         case UNLT:
    9011              :           operands[3] = x6;
    9012              :           x7 = XEXP (x6, 0);
    9013              :           if (GET_CODE (x7) != REG
    9014              :               || REGNO (x7) != 17)
    9015              :             return -1;
    9016              :           x8 = XEXP (x6, 1);
    9017              :           if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    9018              :             return -1;
    9019              :           x9 = XEXP (x4, 1);
    9020              :           operands[1] = x9;
    9021              :           x5 = XEXP (x3, 1);
    9022              :           operands[2] = x5;
    9023              :           switch (pattern279 (x2))
    9024              :             {
    9025              :             case 0:
    9026              :               if (pattern1549 (x4, 
    9027              : E_QImode) != 0
    9028              :                   || !
    9029              : #line 9011 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9030              : (TARGET_APX_NDD
    9031              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    9032              :                 return -1;
    9033              :               *pnum_clobbers = 1;
    9034              :               return 482; /* *addqi3_carry_zextsi */
    9035              : 
    9036              :             case 1:
    9037              :               if (pattern1549 (x4, 
    9038              : E_HImode) != 0
    9039              :                   || !
    9040              : #line 9030 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9041              : (TARGET_APX_NDD
    9042              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    9043              :                 return -1;
    9044              :               *pnum_clobbers = 1;
    9045              :               return 484; /* *addhi3_carry_zextsi */
    9046              : 
    9047              :             case 2:
    9048              :               if (pattern1549 (x4, 
    9049              : E_QImode) != 0
    9050              :                   || !
    9051              : #line 9011 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9052              : (TARGET_APX_NDD
    9053              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    9054              :                 return -1;
    9055              :               *pnum_clobbers = 1;
    9056              :               return 483; /* *addqi3_carry_zextdi */
    9057              : 
    9058              :             case 3:
    9059              :               if (pattern1549 (x4, 
    9060              : E_HImode) != 0
    9061              :                   || !
    9062              : #line 9030 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9063              : (TARGET_APX_NDD
    9064              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    9065              :                 return -1;
    9066              :               *pnum_clobbers = 1;
    9067              :               return 485; /* *addhi3_carry_zextdi */
    9068              : 
    9069              :             case 4:
    9070              :               if (pattern1549 (x4, 
    9071              : E_SImode) != 0
    9072              :                   || !
    9073              : #line 9049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9074              : (TARGET_64BIT
    9075              :    && ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)))
    9076              :                 return -1;
    9077              :               *pnum_clobbers = 1;
    9078              :               return 486; /* *addsi3_carry_zext */
    9079              : 
    9080              :             default:
    9081              :               return -1;
    9082              :             }
    9083              : 
    9084              :         default:
    9085              :           return -1;
    9086              :         }
    9087              : 
    9088              :     case LTU:
    9089              :     case UNLT:
    9090              :       switch (pattern280 (x2, pnum_clobbers))
    9091              :         {
    9092              :         case 0:
    9093              :           if (!ix86_carry_flag_operator (operands[2], E_QImode)
    9094              :               || !nonimmediate_operand (operands[1], E_QImode)
    9095              :               || !
    9096              : #line 9068 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9097              : (TARGET_APX_NDD))
    9098              :             return -1;
    9099              :           *pnum_clobbers = 1;
    9100              :           return 488; /* *addqi3_carry_zextsi_0 */
    9101              : 
    9102              :         case 1:
    9103              :           if (!ix86_carry_flag_operator (operands[2], E_HImode)
    9104              :               || !nonimmediate_operand (operands[1], E_HImode)
    9105              :               || !
    9106              : #line 9082 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9107              : (TARGET_APX_NDD))
    9108              :             return -1;
    9109              :           *pnum_clobbers = 1;
    9110              :           return 490; /* *addhi3_carry_zextsi_0 */
    9111              : 
    9112              :         case 2:
    9113              :           if (!ix86_carry_flag_operator (operands[2], E_QImode)
    9114              :               || !nonimmediate_operand (operands[1], E_QImode)
    9115              :               || !
    9116              : #line 9068 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9117              : (TARGET_APX_NDD))
    9118              :             return -1;
    9119              :           *pnum_clobbers = 1;
    9120              :           return 489; /* *addqi3_carry_zextdi_0 */
    9121              : 
    9122              :         case 3:
    9123              :           if (!ix86_carry_flag_operator (operands[2], E_HImode)
    9124              :               || !nonimmediate_operand (operands[1], E_HImode)
    9125              :               || !
    9126              : #line 9082 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9127              : (TARGET_APX_NDD))
    9128              :             return -1;
    9129              :           *pnum_clobbers = 1;
    9130              :           return 491; /* *addhi3_carry_zextdi_0 */
    9131              : 
    9132              :         case 4:
    9133              :           if (!ix86_carry_flag_operator (operands[2], E_SImode)
    9134              :               || !nonimmediate_operand (operands[1], E_SImode)
    9135              :               || !
    9136              : #line 9096 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9137              : (TARGET_64BIT))
    9138              :             return -1;
    9139              :           *pnum_clobbers = 1;
    9140              :           return 492; /* *addsi3_carry_zext_0 */
    9141              : 
    9142              :         default:
    9143              :           return -1;
    9144              :         }
    9145              : 
    9146              :     case GE:
    9147              :     case GEU:
    9148              :       switch (pattern280 (x2, pnum_clobbers))
    9149              :         {
    9150              :         case 0:
    9151              :           if (!ix86_carry_flag_unset_operator (operands[2], E_QImode)
    9152              :               || !nonimmediate_operand (operands[1], E_QImode)
    9153              :               || !
    9154              : #line 9113 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9155              : (TARGET_APX_NDD))
    9156              :             return -1;
    9157              :           *pnum_clobbers = 1;
    9158              :           return 494; /* *addqi3_carry_zextsi_0r */
    9159              : 
    9160              :         case 1:
    9161              :           if (!ix86_carry_flag_unset_operator (operands[2], E_HImode)
    9162              :               || !nonimmediate_operand (operands[1], E_HImode)
    9163              :               || !
    9164              : #line 9127 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9165              : (TARGET_APX_NDD))
    9166              :             return -1;
    9167              :           *pnum_clobbers = 1;
    9168              :           return 496; /* *addhi3_carry_zextsi_0r */
    9169              : 
    9170              :         case 2:
    9171              :           if (!ix86_carry_flag_unset_operator (operands[2], E_QImode)
    9172              :               || !nonimmediate_operand (operands[1], E_QImode)
    9173              :               || !
    9174              : #line 9113 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9175              : (TARGET_APX_NDD))
    9176              :             return -1;
    9177              :           *pnum_clobbers = 1;
    9178              :           return 495; /* *addqi3_carry_zextdi_0r */
    9179              : 
    9180              :         case 3:
    9181              :           if (!ix86_carry_flag_unset_operator (operands[2], E_HImode)
    9182              :               || !nonimmediate_operand (operands[1], E_HImode)
    9183              :               || !
    9184              : #line 9127 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9185              : (TARGET_APX_NDD))
    9186              :             return -1;
    9187              :           *pnum_clobbers = 1;
    9188              :           return 497; /* *addhi3_carry_zextdi_0r */
    9189              : 
    9190              :         case 4:
    9191              :           if (!ix86_carry_flag_unset_operator (operands[2], E_SImode)
    9192              :               || !nonimmediate_operand (operands[1], E_SImode)
    9193              :               || !
    9194              : #line 9141 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9195              : (TARGET_64BIT))
    9196              :             return -1;
    9197              :           *pnum_clobbers = 1;
    9198              :           return 498; /* *addsi3_carry_zext_0r */
    9199              : 
    9200              :         default:
    9201              :           return -1;
    9202              :         }
    9203              : 
    9204              :     case UNSPEC:
    9205              :       if (pnum_clobbers == NULL
    9206              :           || XVECLEN (x4, 0) != 1
    9207              :           || XINT (x4, 1) != 20
    9208              :           || GET_MODE (x4) != E_SImode)
    9209              :         return -1;
    9210              :       x10 = XVECEXP (x4, 0, 0);
    9211              :       if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
    9212              :           || !register_operand (operands[0], E_DImode)
    9213              :           || GET_MODE (x2) != E_DImode
    9214              :           || GET_MODE (x3) != E_SImode)
    9215              :         return -1;
    9216              :       x5 = XEXP (x3, 1);
    9217              :       operands[1] = x5;
    9218              :       if (!register_operand (operands[1], E_SImode)
    9219              :           || !
    9220              : #line 23613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9221              : (TARGET_X32))
    9222              :         return -1;
    9223              :       *pnum_clobbers = 1;
    9224              :       return 1697; /* *add_tp_x32_zext */
    9225              : 
    9226              :     default:
    9227              :       return -1;
    9228              :     }
    9229              : }
    9230              : 
    9231              :  int
    9232              : recog_81 (rtx x1 ATTRIBUTE_UNUSED,
    9233              :         rtx_insn *insn ATTRIBUTE_UNUSED,
    9234              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
    9235              : {
    9236              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    9237              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    9238              :   rtx x10, x11;
    9239              :   int res ATTRIBUTE_UNUSED;
    9240              :   x2 = XEXP (x1, 1);
    9241              :   x3 = XEXP (x2, 0);
    9242              :   switch (GET_CODE (x3))
    9243              :     {
    9244              :     case NEG:
    9245              :       if (pnum_clobbers == NULL)
    9246              :         return -1;
    9247              :       x4 = XEXP (x1, 0);
    9248              :       if (GET_CODE (x4) != REG
    9249              :           || REGNO (x4) != 17)
    9250              :         return -1;
    9251              :       x5 = XEXP (x3, 0);
    9252              :       operands[2] = x5;
    9253              :       x6 = XEXP (x2, 1);
    9254              :       operands[1] = x6;
    9255              :       switch (GET_MODE (x3))
    9256              :         {
    9257              :         case E_QImode:
    9258              :           if (!general_operand (operands[2], E_QImode)
    9259              :               || !nonimmediate_operand (operands[1], E_QImode)
    9260              :               || !
    9261              : #line 7270 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9262              : (ix86_match_ccmode (insn, CCZmode)
    9263              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    9264              :             return -1;
    9265              :           *pnum_clobbers = 1;
    9266              :           return 318; /* *addqi_3 */
    9267              : 
    9268              :         case E_HImode:
    9269              :           if (!general_operand (operands[2], E_HImode)
    9270              :               || !nonimmediate_operand (operands[1], E_HImode)
    9271              :               || !
    9272              : #line 7270 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9273              : (ix86_match_ccmode (insn, CCZmode)
    9274              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    9275              :             return -1;
    9276              :           *pnum_clobbers = 1;
    9277              :           return 319; /* *addhi_3 */
    9278              : 
    9279              :         case E_SImode:
    9280              :           if (!x86_64_general_operand (operands[2], E_SImode)
    9281              :               || !nonimmediate_operand (operands[1], E_SImode)
    9282              :               || !
    9283              : #line 7270 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9284              : (ix86_match_ccmode (insn, CCZmode)
    9285              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    9286              :             return -1;
    9287              :           *pnum_clobbers = 1;
    9288              :           return 320; /* *addsi_3 */
    9289              : 
    9290              :         case E_DImode:
    9291              :           if (!x86_64_general_operand (operands[2], E_DImode)
    9292              :               || !nonimmediate_operand (operands[1], E_DImode)
    9293              :               || !(
    9294              : #line 7270 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9295              : (ix86_match_ccmode (insn, CCZmode)
    9296              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
    9297              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9298              : (TARGET_64BIT)))
    9299              :             return -1;
    9300              :           *pnum_clobbers = 1;
    9301              :           return 321; /* *adddi_3 */
    9302              : 
    9303              :         default:
    9304              :           return -1;
    9305              :         }
    9306              : 
    9307              :     case REG:
    9308              :     case SUBREG:
    9309              :     case MEM:
    9310              :       if (pnum_clobbers == NULL)
    9311              :         return -1;
    9312              :       operands[1] = x3;
    9313              :       x4 = XEXP (x1, 0);
    9314              :       if (GET_CODE (x4) != REG
    9315              :           || REGNO (x4) != 17)
    9316              :         return -1;
    9317              :       x6 = XEXP (x2, 1);
    9318              :       operands[2] = x6;
    9319              :       switch (GET_MODE (operands[1]))
    9320              :         {
    9321              :         case E_DImode:
    9322              :           if (!nonimmediate_operand (operands[1], E_DImode)
    9323              :               || !x86_64_immediate_operand (operands[2], E_DImode)
    9324              :               || !
    9325              : #line 7371 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9326              : (TARGET_64BIT
    9327              :    && ix86_match_ccmode (insn, CCGCmode)))
    9328              :             return -1;
    9329              :           *pnum_clobbers = 1;
    9330              :           return 323; /* *adddi_4 */
    9331              : 
    9332              :         case E_QImode:
    9333              :           if (!nonimmediate_operand (operands[1], E_QImode)
    9334              :               || !const_int_operand (operands[2], E_QImode)
    9335              :               || !
    9336              : #line 7416 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9337              : (ix86_match_ccmode (insn, CCGCmode)))
    9338              :             return -1;
    9339              :           *pnum_clobbers = 1;
    9340              :           return 324; /* *addqi_4 */
    9341              : 
    9342              :         case E_HImode:
    9343              :           if (!nonimmediate_operand (operands[1], E_HImode)
    9344              :               || !const_int_operand (operands[2], E_HImode)
    9345              :               || !
    9346              : #line 7416 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9347              : (ix86_match_ccmode (insn, CCGCmode)))
    9348              :             return -1;
    9349              :           *pnum_clobbers = 1;
    9350              :           return 325; /* *addhi_4 */
    9351              : 
    9352              :         case E_SImode:
    9353              :           if (!nonimmediate_operand (operands[1], E_SImode)
    9354              :               || !const_int_operand (operands[2], E_SImode)
    9355              :               || !
    9356              : #line 7416 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9357              : (ix86_match_ccmode (insn, CCGCmode)))
    9358              :             return -1;
    9359              :           *pnum_clobbers = 1;
    9360              :           return 326; /* *addsi_4 */
    9361              : 
    9362              :         default:
    9363              :           return -1;
    9364              :         }
    9365              : 
    9366              :     case PLUS:
    9367              :       if (pnum_clobbers == NULL)
    9368              :         return -1;
    9369              :       x4 = XEXP (x1, 0);
    9370              :       if (GET_CODE (x4) != REG
    9371              :           || REGNO (x4) != 17)
    9372              :         return -1;
    9373              :       x5 = XEXP (x3, 0);
    9374              :       operands[1] = x5;
    9375              :       x7 = XEXP (x3, 1);
    9376              :       operands[2] = x7;
    9377              :       x6 = XEXP (x2, 1);
    9378              :       if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + 0])
    9379              :         {
    9380              :           switch (pattern49 (x3))
    9381              :             {
    9382              :             case 0:
    9383              :               if (
    9384              : #line 7455 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9385              : (ix86_match_ccmode (insn, CCGOCmode)
    9386              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    9387              :                 {
    9388              :                   *pnum_clobbers = 1;
    9389              :                   return 327; /* *addqi_5 */
    9390              :                 }
    9391              :               break;
    9392              : 
    9393              :             case 1:
    9394              :               if (
    9395              : #line 7455 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9396              : (ix86_match_ccmode (insn, CCGOCmode)
    9397              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    9398              :                 {
    9399              :                   *pnum_clobbers = 1;
    9400              :                   return 328; /* *addhi_5 */
    9401              :                 }
    9402              :               break;
    9403              : 
    9404              :             case 2:
    9405              :               if (
    9406              : #line 7455 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9407              : (ix86_match_ccmode (insn, CCGOCmode)
    9408              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    9409              :                 {
    9410              :                   *pnum_clobbers = 1;
    9411              :                   return 329; /* *addsi_5 */
    9412              :                 }
    9413              :               break;
    9414              : 
    9415              :             case 3:
    9416              :               if ((
    9417              : #line 7455 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9418              : (ix86_match_ccmode (insn, CCGOCmode)
    9419              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
    9420              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9421              : (TARGET_64BIT)))
    9422              :                 {
    9423              :                   *pnum_clobbers = 1;
    9424              :                   return 330; /* *adddi_5 */
    9425              :                 }
    9426              :               break;
    9427              : 
    9428              :             default:
    9429              :               break;
    9430              :             }
    9431              :         }
    9432              :       if (GET_MODE (x4) != E_CCCmode
    9433              :           || GET_MODE (x2) != E_CCCmode
    9434              :           || !rtx_equal_p (x6, operands[2]))
    9435              :         return -1;
    9436              :       switch (pattern49 (x3))
    9437              :         {
    9438              :         case 0:
    9439              :           if (!
    9440              : #line 10368 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9441              : (!(MEM_P (operands[1]) && MEM_P (operands[2]))))
    9442              :             return -1;
    9443              :           *pnum_clobbers = 1;
    9444              :           return 571; /* *addqi3_cconly_overflow_2 */
    9445              : 
    9446              :         case 1:
    9447              :           if (!
    9448              : #line 10368 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9449              : (!(MEM_P (operands[1]) && MEM_P (operands[2]))))
    9450              :             return -1;
    9451              :           *pnum_clobbers = 1;
    9452              :           return 572; /* *addhi3_cconly_overflow_2 */
    9453              : 
    9454              :         case 2:
    9455              :           if (!
    9456              : #line 10368 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9457              : (!(MEM_P (operands[1]) && MEM_P (operands[2]))))
    9458              :             return -1;
    9459              :           *pnum_clobbers = 1;
    9460              :           return 573; /* *addsi3_cconly_overflow_2 */
    9461              : 
    9462              :         case 3:
    9463              :           if (!(
    9464              : #line 10368 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9465              : (!(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
    9466              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9467              : (TARGET_64BIT)))
    9468              :             return -1;
    9469              :           *pnum_clobbers = 1;
    9470              :           return 574; /* *adddi3_cconly_overflow_2 */
    9471              : 
    9472              :         default:
    9473              :           return -1;
    9474              :         }
    9475              : 
    9476              :     case AND:
    9477              :       x6 = XEXP (x2, 1);
    9478              :       if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    9479              :         return -1;
    9480              :       x4 = XEXP (x1, 0);
    9481              :       if (GET_CODE (x4) != REG
    9482              :           || REGNO (x4) != 17)
    9483              :         return -1;
    9484              :       x5 = XEXP (x3, 0);
    9485              :       switch (GET_CODE (x5))
    9486              :         {
    9487              :         case REG:
    9488              :         case SUBREG:
    9489              :         case MEM:
    9490              :           operands[0] = x5;
    9491              :           x7 = XEXP (x3, 1);
    9492              :           operands[1] = x7;
    9493              :           switch (GET_MODE (x3))
    9494              :             {
    9495              :             case E_DImode:
    9496              :               if (nonimmediate_operand (operands[0], E_DImode)
    9497              :                   && x86_64_szext_general_operand (operands[1], E_DImode)
    9498              :                   && 
    9499              : #line 12414 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9500              : (TARGET_64BIT
    9501              :    && ix86_match_ccmode
    9502              :         (insn,
    9503              :          /* If we are going to emit testl instead of testq, and the operands[1]
    9504              :             constant might have the SImode sign bit set, make sure the sign
    9505              :             flag isn't tested, because the instruction will set the sign flag
    9506              :             based on bit 31 rather than bit 63.  If it isn't CONST_INT,
    9507              :             conservatively assume it might have bit 31 set.  */
    9508              :          (satisfies_constraint_Z (operands[1])
    9509              :           && (!CONST_INT_P (operands[1])
    9510              :               || val_signbit_known_set_p (SImode, INTVAL (operands[1]))))
    9511              :          ? CCZmode : CCNOmode)
    9512              :    && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
    9513              :                 return 710; /* *testdi_1 */
    9514              :               break;
    9515              : 
    9516              :             case E_QImode:
    9517              :               if (nonimmediate_operand (operands[0], E_QImode)
    9518              :                   && general_operand (operands[1], E_QImode))
    9519              :                 {
    9520              :                   if (
    9521              : #line 12440 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9522              : (ix86_match_ccmode (insn,
    9523              :                       CONST_INT_P (operands[1])
    9524              :                       && INTVAL (operands[1]) >= 0 ? CCNOmode : CCZmode)
    9525              :    && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
    9526              :                     return 711; /* *testqi_1_maybe_si */
    9527              :                   if (
    9528              : #line 12472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9529              : (ix86_match_ccmode (insn, CCNOmode)
    9530              :    && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
    9531              :                     return 712; /* *testqi_1 */
    9532              :                 }
    9533              :               break;
    9534              : 
    9535              :             case E_HImode:
    9536              :               if (nonimmediate_operand (operands[0], E_HImode)
    9537              :                   && general_operand (operands[1], E_HImode)
    9538              :                   && 
    9539              : #line 12472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9540              : (ix86_match_ccmode (insn, CCNOmode)
    9541              :    && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
    9542              :                 return 713; /* *testhi_1 */
    9543              :               break;
    9544              : 
    9545              :             case E_SImode:
    9546              :               if (nonimmediate_operand (operands[0], E_SImode)
    9547              :                   && x86_64_general_operand (operands[1], E_SImode)
    9548              :                   && 
    9549              : #line 12472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9550              : (ix86_match_ccmode (insn, CCNOmode)
    9551              :    && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
    9552              :                 return 714; /* *testsi_1 */
    9553              :               break;
    9554              : 
    9555              :             default:
    9556              :               break;
    9557              :             }
    9558              :           if (GET_CODE (x5) != SUBREG
    9559              :               || maybe_ne (SUBREG_BYTE (x5), 0)
    9560              :               || GET_MODE (x5) != E_QImode)
    9561              :             return -1;
    9562              :           x8 = XEXP (x5, 0);
    9563              :           switch (GET_CODE (x8))
    9564              :             {
    9565              :             case ASHIFTRT:
    9566              :             case LSHIFTRT:
    9567              :             case SIGN_EXTRACT:
    9568              :             case ZERO_EXTRACT:
    9569              :               operands[2] = x8;
    9570              :               if (GET_MODE (x3) != E_QImode)
    9571              :                 return -1;
    9572              :               x9 = XEXP (x8, 0);
    9573              :               operands[0] = x9;
    9574              :               if (!int248_register_operand (operands[0], E_VOIDmode))
    9575              :                 return -1;
    9576              :               operands[1] = x7;
    9577              :               if (general_operand (operands[1], E_QImode))
    9578              :                 {
    9579              :                   switch (GET_MODE (operands[2]))
    9580              :                     {
    9581              :                     case E_HImode:
    9582              :                       if (extract_high_operator (operands[2], E_HImode)
    9583              :                           && 
    9584              : #line 12500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9585              : (ix86_match_ccmode (insn, CCNOmode)))
    9586              :                         return 715; /* *testqi_exthi_1 */
    9587              :                       break;
    9588              : 
    9589              :                     case E_SImode:
    9590              :                       if (extract_high_operator (operands[2], E_SImode)
    9591              :                           && 
    9592              : #line 12500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9593              : (ix86_match_ccmode (insn, CCNOmode)))
    9594              :                         return 716; /* *testqi_extsi_1 */
    9595              :                       break;
    9596              : 
    9597              :                     case E_DImode:
    9598              :                       if (extract_high_operator (operands[2], E_DImode)
    9599              :                           && (
    9600              : #line 12500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9601              : (ix86_match_ccmode (insn, CCNOmode)) && 
    9602              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9603              : (TARGET_64BIT)))
    9604              :                         return 717; /* *testqi_extdi_1 */
    9605              :                       break;
    9606              : 
    9607              :                     default:
    9608              :                       break;
    9609              :                     }
    9610              :                 }
    9611              :               if (GET_CODE (x7) != SUBREG
    9612              :                   || maybe_ne (SUBREG_BYTE (x7), 0)
    9613              :                   || GET_MODE (x7) != E_QImode)
    9614              :                 return -1;
    9615              :               x10 = XEXP (x7, 0);
    9616              :               switch (GET_CODE (x10))
    9617              :                 {
    9618              :                 case ASHIFTRT:
    9619              :                 case LSHIFTRT:
    9620              :                 case SIGN_EXTRACT:
    9621              :                 case ZERO_EXTRACT:
    9622              :                   operands[3] = x10;
    9623              :                   x11 = XEXP (x10, 0);
    9624              :                   operands[1] = x11;
    9625              :                   if (!int248_register_operand (operands[1], E_VOIDmode))
    9626              :                     return -1;
    9627              :                   switch (GET_MODE (operands[2]))
    9628              :                     {
    9629              :                     case E_HImode:
    9630              :                       if (!extract_high_operator (operands[2], E_HImode)
    9631              :                           || !extract_high_operator (operands[3], E_HImode)
    9632              :                           || !
    9633              : #line 12517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9634              : (ix86_match_ccmode (insn, CCNOmode)))
    9635              :                         return -1;
    9636              :                       return 718; /* *testqi_exthi_2 */
    9637              : 
    9638              :                     case E_SImode:
    9639              :                       if (!extract_high_operator (operands[2], E_SImode)
    9640              :                           || !extract_high_operator (operands[3], E_SImode)
    9641              :                           || !
    9642              : #line 12517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9643              : (ix86_match_ccmode (insn, CCNOmode)))
    9644              :                         return -1;
    9645              :                       return 719; /* *testqi_extsi_2 */
    9646              : 
    9647              :                     case E_DImode:
    9648              :                       if (!extract_high_operator (operands[2], E_DImode)
    9649              :                           || !extract_high_operator (operands[3], E_DImode)
    9650              :                           || !(
    9651              : #line 12517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9652              : (ix86_match_ccmode (insn, CCNOmode)) && 
    9653              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9654              : (TARGET_64BIT)))
    9655              :                         return -1;
    9656              :                       return 720; /* *testqi_extdi_2 */
    9657              : 
    9658              :                     default:
    9659              :                       return -1;
    9660              :                     }
    9661              : 
    9662              :                 default:
    9663              :                   return -1;
    9664              :                 }
    9665              : 
    9666              :             default:
    9667              :               return -1;
    9668              :             }
    9669              : 
    9670              :         case NOT:
    9671              :           if (pnum_clobbers == NULL)
    9672              :             return -1;
    9673              :           x8 = XEXP (x5, 0);
    9674              :           operands[1] = x8;
    9675              :           x7 = XEXP (x3, 1);
    9676              :           operands[2] = x7;
    9677              :           switch (GET_MODE (x3))
    9678              :             {
    9679              :             case E_SImode:
    9680              :               if (GET_MODE (x5) != E_SImode
    9681              :                   || !register_operand (operands[1], E_SImode)
    9682              :                   || !nonimmediate_operand (operands[2], E_SImode)
    9683              :                   || !
    9684              : #line 13706 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9685              : (TARGET_BMI && ix86_match_ccmode (insn, CCNOmode)))
    9686              :                 return -1;
    9687              :               *pnum_clobbers = 1;
    9688              :               return 845; /* *andn_si_ccno */
    9689              : 
    9690              :             case E_DImode:
    9691              :               if (GET_MODE (x5) != E_DImode
    9692              :                   || !register_operand (operands[1], E_DImode)
    9693              :                   || !nonimmediate_operand (operands[2], E_DImode)
    9694              :                   || !(
    9695              : #line 13706 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9696              : (TARGET_BMI && ix86_match_ccmode (insn, CCNOmode)) && 
    9697              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9698              : (TARGET_64BIT)))
    9699              :                 return -1;
    9700              :               *pnum_clobbers = 1;
    9701              :               return 846; /* *andn_di_ccno */
    9702              : 
    9703              :             default:
    9704              :               return -1;
    9705              :             }
    9706              : 
    9707              :         case NEG:
    9708              :           if (pnum_clobbers == NULL)
    9709              :             return -1;
    9710              :           switch (pattern761 (x3))
    9711              :             {
    9712              :             case 0:
    9713              :               if (!
    9714              : #line 22221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9715              : (TARGET_BMI && ix86_match_ccmode (insn, CCNOmode)))
    9716              :                 return -1;
    9717              :               *pnum_clobbers = 1;
    9718              :               return 1610; /* *bmi_blsi_si_ccno */
    9719              : 
    9720              :             case 1:
    9721              :               if (!(
    9722              : #line 22221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9723              : (TARGET_BMI && ix86_match_ccmode (insn, CCNOmode)) && 
    9724              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9725              : (TARGET_64BIT)))
    9726              :                 return -1;
    9727              :               *pnum_clobbers = 1;
    9728              :               return 1611; /* *bmi_blsi_di_ccno */
    9729              : 
    9730              :             default:
    9731              :               return -1;
    9732              :             }
    9733              : 
    9734              :         default:
    9735              :           return -1;
    9736              :         }
    9737              : 
    9738              :     case ZERO_EXTRACT:
    9739              :       switch (pattern48 (x1))
    9740              :         {
    9741              :         case 0:
    9742              :           if (!
    9743              : #line 12552 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9744              : (/* Ensure that resulting mask is zero or sign extended operand.  */
    9745              :    INTVAL (operands[4]) >= 0
    9746              :    && ((INTVAL (operands[3]) > 0
    9747              :         && INTVAL (operands[3]) + INTVAL (operands[4]) <= 32)
    9748              :        || (HImode == DImode
    9749              :            && INTVAL (operands[3]) > 32
    9750              :            && INTVAL (operands[3]) + INTVAL (operands[4]) == 64))
    9751              :    && ix86_match_ccmode (insn,
    9752              :                          /* If zero_extract mode precision is the same
    9753              :                             as len, the SF of the zero_extract
    9754              :                             comparison will be the most significant
    9755              :                             extracted bit, but this could be matched
    9756              :                             after splitting only for pos 0 len all bits
    9757              :                             trivial extractions.  Require CCZmode.  */
    9758              :                          (GET_MODE_PRECISION (HImode)
    9759              :                           == INTVAL (operands[3]))
    9760              :                          /* Otherwise, require CCZmode if we'd use a mask
    9761              :                             with the most significant bit set and can't
    9762              :                             widen it to wider mode.  *testdi_1 also
    9763              :                             requires CCZmode if the mask has bit
    9764              :                             31 set and all bits above it clear.  */
    9765              :                          || (INTVAL (operands[3]) + INTVAL (operands[4])
    9766              :                              >= 32)
    9767              :                          /* We can't widen also if val is not a REG.  */
    9768              :                          || (INTVAL (operands[3]) + INTVAL (operands[4])
    9769              :                              == GET_MODE_PRECISION (GET_MODE (operands[2]))
    9770              :                              && !register_operand (operands[2],
    9771              :                                                    GET_MODE (operands[2])))
    9772              :                          /* And we shouldn't widen if
    9773              :                             TARGET_PARTIAL_REG_STALL.  */
    9774              :                          || (TARGET_PARTIAL_REG_STALL
    9775              :                              && (INTVAL (operands[3]) + INTVAL (operands[4])
    9776              :                                  >= (paradoxical_subreg_p (operands[2])
    9777              :                                      && (GET_MODE_CLASS
    9778              :                                           (GET_MODE (SUBREG_REG (operands[2])))
    9779              :                                          == MODE_INT)
    9780              :                                      ? GET_MODE_PRECISION
    9781              :                                          (GET_MODE (SUBREG_REG (operands[2])))
    9782              :                                      : GET_MODE_PRECISION
    9783              :                                          (GET_MODE (operands[2])))))
    9784              :                          ? CCZmode : CCNOmode)))
    9785              :             return -1;
    9786              :           return 722; /* *testqi_ext_3 */
    9787              : 
    9788              :         case 1:
    9789              :           if (!
    9790              : #line 12552 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9791              : (/* Ensure that resulting mask is zero or sign extended operand.  */
    9792              :    INTVAL (operands[4]) >= 0
    9793              :    && ((INTVAL (operands[3]) > 0
    9794              :         && INTVAL (operands[3]) + INTVAL (operands[4]) <= 32)
    9795              :        || (SImode == DImode
    9796              :            && INTVAL (operands[3]) > 32
    9797              :            && INTVAL (operands[3]) + INTVAL (operands[4]) == 64))
    9798              :    && ix86_match_ccmode (insn,
    9799              :                          /* If zero_extract mode precision is the same
    9800              :                             as len, the SF of the zero_extract
    9801              :                             comparison will be the most significant
    9802              :                             extracted bit, but this could be matched
    9803              :                             after splitting only for pos 0 len all bits
    9804              :                             trivial extractions.  Require CCZmode.  */
    9805              :                          (GET_MODE_PRECISION (SImode)
    9806              :                           == INTVAL (operands[3]))
    9807              :                          /* Otherwise, require CCZmode if we'd use a mask
    9808              :                             with the most significant bit set and can't
    9809              :                             widen it to wider mode.  *testdi_1 also
    9810              :                             requires CCZmode if the mask has bit
    9811              :                             31 set and all bits above it clear.  */
    9812              :                          || (INTVAL (operands[3]) + INTVAL (operands[4])
    9813              :                              >= 32)
    9814              :                          /* We can't widen also if val is not a REG.  */
    9815              :                          || (INTVAL (operands[3]) + INTVAL (operands[4])
    9816              :                              == GET_MODE_PRECISION (GET_MODE (operands[2]))
    9817              :                              && !register_operand (operands[2],
    9818              :                                                    GET_MODE (operands[2])))
    9819              :                          /* And we shouldn't widen if
    9820              :                             TARGET_PARTIAL_REG_STALL.  */
    9821              :                          || (TARGET_PARTIAL_REG_STALL
    9822              :                              && (INTVAL (operands[3]) + INTVAL (operands[4])
    9823              :                                  >= (paradoxical_subreg_p (operands[2])
    9824              :                                      && (GET_MODE_CLASS
    9825              :                                           (GET_MODE (SUBREG_REG (operands[2])))
    9826              :                                          == MODE_INT)
    9827              :                                      ? GET_MODE_PRECISION
    9828              :                                          (GET_MODE (SUBREG_REG (operands[2])))
    9829              :                                      : GET_MODE_PRECISION
    9830              :                                          (GET_MODE (operands[2])))))
    9831              :                          ? CCZmode : CCNOmode)))
    9832              :             return -1;
    9833              :           return 723; /* *testqi_ext_3 */
    9834              : 
    9835              :         case 2:
    9836              :           if (!(
    9837              : #line 12552 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9838              : (/* Ensure that resulting mask is zero or sign extended operand.  */
    9839              :    INTVAL (operands[4]) >= 0
    9840              :    && ((INTVAL (operands[3]) > 0
    9841              :         && INTVAL (operands[3]) + INTVAL (operands[4]) <= 32)
    9842              :        || (DImode == DImode
    9843              :            && INTVAL (operands[3]) > 32
    9844              :            && INTVAL (operands[3]) + INTVAL (operands[4]) == 64))
    9845              :    && ix86_match_ccmode (insn,
    9846              :                          /* If zero_extract mode precision is the same
    9847              :                             as len, the SF of the zero_extract
    9848              :                             comparison will be the most significant
    9849              :                             extracted bit, but this could be matched
    9850              :                             after splitting only for pos 0 len all bits
    9851              :                             trivial extractions.  Require CCZmode.  */
    9852              :                          (GET_MODE_PRECISION (DImode)
    9853              :                           == INTVAL (operands[3]))
    9854              :                          /* Otherwise, require CCZmode if we'd use a mask
    9855              :                             with the most significant bit set and can't
    9856              :                             widen it to wider mode.  *testdi_1 also
    9857              :                             requires CCZmode if the mask has bit
    9858              :                             31 set and all bits above it clear.  */
    9859              :                          || (INTVAL (operands[3]) + INTVAL (operands[4])
    9860              :                              >= 32)
    9861              :                          /* We can't widen also if val is not a REG.  */
    9862              :                          || (INTVAL (operands[3]) + INTVAL (operands[4])
    9863              :                              == GET_MODE_PRECISION (GET_MODE (operands[2]))
    9864              :                              && !register_operand (operands[2],
    9865              :                                                    GET_MODE (operands[2])))
    9866              :                          /* And we shouldn't widen if
    9867              :                             TARGET_PARTIAL_REG_STALL.  */
    9868              :                          || (TARGET_PARTIAL_REG_STALL
    9869              :                              && (INTVAL (operands[3]) + INTVAL (operands[4])
    9870              :                                  >= (paradoxical_subreg_p (operands[2])
    9871              :                                      && (GET_MODE_CLASS
    9872              :                                           (GET_MODE (SUBREG_REG (operands[2])))
    9873              :                                          == MODE_INT)
    9874              :                                      ? GET_MODE_PRECISION
    9875              :                                          (GET_MODE (SUBREG_REG (operands[2])))
    9876              :                                      : GET_MODE_PRECISION
    9877              :                                          (GET_MODE (operands[2])))))
    9878              :                          ? CCZmode : CCNOmode)) && 
    9879              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9880              : (TARGET_64BIT)))
    9881              :             return -1;
    9882              :           return 724; /* *testqi_ext_3 */
    9883              : 
    9884              :         default:
    9885              :           return -1;
    9886              :         }
    9887              : 
    9888              :     case IOR:
    9889              :       switch (pattern51 (x1, pnum_clobbers))
    9890              :         {
    9891              :         case 0:
    9892              :           if (!
    9893              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9894              : (ix86_match_ccmode (insn, CCNOmode)
    9895              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    9896              :             return -1;
    9897              :           *pnum_clobbers = 1;
    9898              :           return 916; /* *iorqi_3 */
    9899              : 
    9900              :         case 1:
    9901              :           if (!
    9902              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9903              : (ix86_match_ccmode (insn, CCNOmode)
    9904              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    9905              :             return -1;
    9906              :           *pnum_clobbers = 1;
    9907              :           return 918; /* *iorhi_3 */
    9908              : 
    9909              :         case 2:
    9910              :           if (!
    9911              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9912              : (ix86_match_ccmode (insn, CCNOmode)
    9913              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    9914              :             return -1;
    9915              :           *pnum_clobbers = 1;
    9916              :           return 920; /* *iorsi_3 */
    9917              : 
    9918              :         case 3:
    9919              :           if (!(
    9920              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9921              : (ix86_match_ccmode (insn, CCNOmode)
    9922              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
    9923              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9924              : (TARGET_64BIT)))
    9925              :             return -1;
    9926              :           *pnum_clobbers = 1;
    9927              :           return 922; /* *iordi_3 */
    9928              : 
    9929              :         default:
    9930              :           return -1;
    9931              :         }
    9932              : 
    9933              :     case XOR:
    9934              :       switch (pattern51 (x1, pnum_clobbers))
    9935              :         {
    9936              :         case 0:
    9937              :           if (!
    9938              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9939              : (ix86_match_ccmode (insn, CCNOmode)
    9940              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    9941              :             return -1;
    9942              :           *pnum_clobbers = 1;
    9943              :           return 917; /* *xorqi_3 */
    9944              : 
    9945              :         case 1:
    9946              :           if (!
    9947              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9948              : (ix86_match_ccmode (insn, CCNOmode)
    9949              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    9950              :             return -1;
    9951              :           *pnum_clobbers = 1;
    9952              :           return 919; /* *xorhi_3 */
    9953              : 
    9954              :         case 2:
    9955              :           if (!
    9956              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9957              : (ix86_match_ccmode (insn, CCNOmode)
    9958              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    9959              :             return -1;
    9960              :           *pnum_clobbers = 1;
    9961              :           return 921; /* *xorsi_3 */
    9962              : 
    9963              :         case 3:
    9964              :           if (!(
    9965              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9966              : (ix86_match_ccmode (insn, CCNOmode)
    9967              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
    9968              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9969              : (TARGET_64BIT)))
    9970              :             return -1;
    9971              :           *pnum_clobbers = 1;
    9972              :           return 923; /* *xordi_3 */
    9973              : 
    9974              :         default:
    9975              :           return -1;
    9976              :         }
    9977              : 
    9978              :     case ASHIFT:
    9979              :       switch (pattern52 (x1, pnum_clobbers))
    9980              :         {
    9981              :         case 0:
    9982              :           if (!
    9983              : #line 16786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9984              : ((optimize_function_for_size_p (cfun)
    9985              :     || !TARGET_PARTIAL_FLAG_REG_STALL
    9986              :     || (operands[2] == const1_rtx
    9987              :         && (TARGET_SHIFT1
    9988              :             || TARGET_DOUBLE_WITH_ADD)))
    9989              :    && ix86_match_ccmode (insn, CCGOCmode)))
    9990              :             return -1;
    9991              :           *pnum_clobbers = 1;
    9992              :           return 1147; /* *ashlqi3_cconly */
    9993              : 
    9994              :         case 1:
    9995              :           if (!
    9996              : #line 16786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9997              : ((optimize_function_for_size_p (cfun)
    9998              :     || !TARGET_PARTIAL_FLAG_REG_STALL
    9999              :     || (operands[2] == const1_rtx
   10000              :         && (TARGET_SHIFT1
   10001              :             || TARGET_DOUBLE_WITH_ADD)))
   10002              :    && ix86_match_ccmode (insn, CCGOCmode)))
   10003              :             return -1;
   10004              :           *pnum_clobbers = 1;
   10005              :           return 1148; /* *ashlhi3_cconly */
   10006              : 
   10007              :         case 2:
   10008              :           if (!
   10009              : #line 16786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10010              : ((optimize_function_for_size_p (cfun)
   10011              :     || !TARGET_PARTIAL_FLAG_REG_STALL
   10012              :     || (operands[2] == const1_rtx
   10013              :         && (TARGET_SHIFT1
   10014              :             || TARGET_DOUBLE_WITH_ADD)))
   10015              :    && ix86_match_ccmode (insn, CCGOCmode)))
   10016              :             return -1;
   10017              :           *pnum_clobbers = 1;
   10018              :           return 1149; /* *ashlsi3_cconly */
   10019              : 
   10020              :         case 3:
   10021              :           if (!(
   10022              : #line 16786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10023              : ((optimize_function_for_size_p (cfun)
   10024              :     || !TARGET_PARTIAL_FLAG_REG_STALL
   10025              :     || (operands[2] == const1_rtx
   10026              :         && (TARGET_SHIFT1
   10027              :             || TARGET_DOUBLE_WITH_ADD)))
   10028              :    && ix86_match_ccmode (insn, CCGOCmode)) && 
   10029              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10030              : (TARGET_64BIT)))
   10031              :             return -1;
   10032              :           *pnum_clobbers = 1;
   10033              :           return 1150; /* *ashldi3_cconly */
   10034              : 
   10035              :         default:
   10036              :           return -1;
   10037              :         }
   10038              : 
   10039              :     case LSHIFTRT:
   10040              :       switch (pattern52 (x1, pnum_clobbers))
   10041              :         {
   10042              :         case 0:
   10043              :           if (!
   10044              : #line 18086 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10045              : ((optimize_function_for_size_p (cfun)
   10046              :     || !TARGET_PARTIAL_FLAG_REG_STALL
   10047              :     || (operands[2] == const1_rtx
   10048              :         && TARGET_SHIFT1))
   10049              :    && ix86_match_ccmode (insn, CCGOCmode)))
   10050              :             return -1;
   10051              :           *pnum_clobbers = 1;
   10052              :           return 1262; /* *lshrqi3_cconly */
   10053              : 
   10054              :         case 1:
   10055              :           if (!
   10056              : #line 18086 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10057              : ((optimize_function_for_size_p (cfun)
   10058              :     || !TARGET_PARTIAL_FLAG_REG_STALL
   10059              :     || (operands[2] == const1_rtx
   10060              :         && TARGET_SHIFT1))
   10061              :    && ix86_match_ccmode (insn, CCGOCmode)))
   10062              :             return -1;
   10063              :           *pnum_clobbers = 1;
   10064              :           return 1264; /* *lshrhi3_cconly */
   10065              : 
   10066              :         case 2:
   10067              :           if (!
   10068              : #line 18086 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10069              : ((optimize_function_for_size_p (cfun)
   10070              :     || !TARGET_PARTIAL_FLAG_REG_STALL
   10071              :     || (operands[2] == const1_rtx
   10072              :         && TARGET_SHIFT1))
   10073              :    && ix86_match_ccmode (insn, CCGOCmode)))
   10074              :             return -1;
   10075              :           *pnum_clobbers = 1;
   10076              :           return 1266; /* *lshrsi3_cconly */
   10077              : 
   10078              :         case 3:
   10079              :           if (!(
   10080              : #line 18086 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10081              : ((optimize_function_for_size_p (cfun)
   10082              :     || !TARGET_PARTIAL_FLAG_REG_STALL
   10083              :     || (operands[2] == const1_rtx
   10084              :         && TARGET_SHIFT1))
   10085              :    && ix86_match_ccmode (insn, CCGOCmode)) && 
   10086              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10087              : (TARGET_64BIT)))
   10088              :             return -1;
   10089              :           *pnum_clobbers = 1;
   10090              :           return 1268; /* *lshrdi3_cconly */
   10091              : 
   10092              :         default:
   10093              :           return -1;
   10094              :         }
   10095              : 
   10096              :     case ASHIFTRT:
   10097              :       switch (pattern52 (x1, pnum_clobbers))
   10098              :         {
   10099              :         case 0:
   10100              :           if (!
   10101              : #line 18086 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10102              : ((optimize_function_for_size_p (cfun)
   10103              :     || !TARGET_PARTIAL_FLAG_REG_STALL
   10104              :     || (operands[2] == const1_rtx
   10105              :         && TARGET_SHIFT1))
   10106              :    && ix86_match_ccmode (insn, CCGOCmode)))
   10107              :             return -1;
   10108              :           *pnum_clobbers = 1;
   10109              :           return 1263; /* *ashrqi3_cconly */
   10110              : 
   10111              :         case 1:
   10112              :           if (!
   10113              : #line 18086 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10114              : ((optimize_function_for_size_p (cfun)
   10115              :     || !TARGET_PARTIAL_FLAG_REG_STALL
   10116              :     || (operands[2] == const1_rtx
   10117              :         && TARGET_SHIFT1))
   10118              :    && ix86_match_ccmode (insn, CCGOCmode)))
   10119              :             return -1;
   10120              :           *pnum_clobbers = 1;
   10121              :           return 1265; /* *ashrhi3_cconly */
   10122              : 
   10123              :         case 2:
   10124              :           if (!
   10125              : #line 18086 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10126              : ((optimize_function_for_size_p (cfun)
   10127              :     || !TARGET_PARTIAL_FLAG_REG_STALL
   10128              :     || (operands[2] == const1_rtx
   10129              :         && TARGET_SHIFT1))
   10130              :    && ix86_match_ccmode (insn, CCGOCmode)))
   10131              :             return -1;
   10132              :           *pnum_clobbers = 1;
   10133              :           return 1267; /* *ashrsi3_cconly */
   10134              : 
   10135              :         case 3:
   10136              :           if (!(
   10137              : #line 18086 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10138              : ((optimize_function_for_size_p (cfun)
   10139              :     || !TARGET_PARTIAL_FLAG_REG_STALL
   10140              :     || (operands[2] == const1_rtx
   10141              :         && TARGET_SHIFT1))
   10142              :    && ix86_match_ccmode (insn, CCGOCmode)) && 
   10143              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10144              : (TARGET_64BIT)))
   10145              :             return -1;
   10146              :           *pnum_clobbers = 1;
   10147              :           return 1269; /* *ashrdi3_cconly */
   10148              : 
   10149              :         default:
   10150              :           return -1;
   10151              :         }
   10152              : 
   10153              :     default:
   10154              :       return -1;
   10155              :     }
   10156              : }
   10157              : 
   10158              :  int
   10159              : recog_112 (rtx x1 ATTRIBUTE_UNUSED,
   10160              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   10161              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   10162              : {
   10163              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   10164              :   rtx x2, x3, x4, x5, x6;
   10165              :   int res ATTRIBUTE_UNUSED;
   10166              :   x2 = XEXP (x1, 1);
   10167              :   switch (XINT (x2, 1))
   10168              :     {
   10169              :     case 18:
   10170              :       if (GET_MODE (x2) != E_BLKmode)
   10171              :         return -1;
   10172              :       x3 = XEXP (x1, 0);
   10173              :       operands[0] = x3;
   10174              :       x4 = XVECEXP (x2, 0, 0);
   10175              :       if (!rtx_equal_p (x4, operands[0]))
   10176              :         return -1;
   10177              :       return 1519; /* *memory_blockage */
   10178              : 
   10179              :     case 15:
   10180              :       x3 = XEXP (x1, 0);
   10181              :       operands[0] = x3;
   10182              :       x4 = XVECEXP (x2, 0, 0);
   10183              :       switch (GET_CODE (x4))
   10184              :         {
   10185              :         case CONST_INT:
   10186              :           if (XWINT (x4, 0) != 0L)
   10187              :             return -1;
   10188              :           switch (GET_MODE (operands[0]))
   10189              :             {
   10190              :             case E_SImode:
   10191              :               if (pnum_clobbers == NULL
   10192              :                   || !register_operand (operands[0], E_SImode)
   10193              :                   || GET_MODE (x2) != E_SImode
   10194              :                   || !
   10195              : #line 21124 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10196              : (!TARGET_64BIT))
   10197              :                 return -1;
   10198              :               *pnum_clobbers = 1;
   10199              :               return 1530; /* *set_got */
   10200              : 
   10201              :             case E_DImode:
   10202              :               if (!register_operand (operands[0], E_DImode)
   10203              :                   || GET_MODE (x2) != E_DImode
   10204              :                   || !
   10205              : #line 21154 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10206              : (TARGET_64BIT))
   10207              :                 return -1;
   10208              :               return 1532; /* set_got_rex64 */
   10209              : 
   10210              :             default:
   10211              :               return -1;
   10212              :             }
   10213              : 
   10214              :         case LABEL_REF:
   10215              :           if (pnum_clobbers == NULL
   10216              :               || !register_operand (operands[0], E_SImode)
   10217              :               || GET_MODE (x2) != E_SImode)
   10218              :             return -1;
   10219              :           x5 = XEXP (x4, 0);
   10220              :           operands[1] = x5;
   10221              :           if (!
   10222              : #line 21146 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10223              : (!TARGET_64BIT))
   10224              :             return -1;
   10225              :           *pnum_clobbers = 1;
   10226              :           return 1531; /* *set_got_labelled */
   10227              : 
   10228              :         default:
   10229              :           return -1;
   10230              :         }
   10231              : 
   10232              :     case 16:
   10233              :       if (GET_MODE (x2) != E_DImode)
   10234              :         return -1;
   10235              :       x4 = XVECEXP (x2, 0, 0);
   10236              :       if (GET_CODE (x4) != LABEL_REF)
   10237              :         return -1;
   10238              :       x3 = XEXP (x1, 0);
   10239              :       operands[0] = x3;
   10240              :       if (!register_operand (operands[0], E_DImode))
   10241              :         return -1;
   10242              :       x5 = XEXP (x4, 0);
   10243              :       operands[1] = x5;
   10244              :       if (!
   10245              : #line 21163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10246              : (TARGET_64BIT))
   10247              :         return -1;
   10248              :       return 1533; /* set_rip_rex64 */
   10249              : 
   10250              :     case 17:
   10251              :       if (GET_MODE (x2) != E_DImode)
   10252              :         return -1;
   10253              :       x4 = XVECEXP (x2, 0, 0);
   10254              :       if (GET_CODE (x4) != LABEL_REF)
   10255              :         return -1;
   10256              :       x3 = XEXP (x1, 0);
   10257              :       operands[0] = x3;
   10258              :       if (!register_operand (operands[0], E_DImode))
   10259              :         return -1;
   10260              :       x5 = XEXP (x4, 0);
   10261              :       operands[1] = x5;
   10262              :       if (!
   10263              : #line 21174 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10264              : (TARGET_LP64))
   10265              :         return -1;
   10266              :       return 1534; /* set_got_offset_rex64 */
   10267              : 
   10268              :     case 98:
   10269              :       x3 = XEXP (x1, 0);
   10270              :       operands[0] = x3;
   10271              :       switch (pattern303 (x2))
   10272              :         {
   10273              :         case 0:
   10274              :           if ((
   10275              : #line 22018 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10276              : (TARGET_APX_NF) && 
   10277              : #line 22000 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10278              : (TARGET_BMI)))
   10279              :             return 1580; /* tzcnt_si_nf */
   10280              :           if (pnum_clobbers == NULL
   10281              :               || !
   10282              : #line 22000 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10283              : (TARGET_BMI))
   10284              :             return -1;
   10285              :           *pnum_clobbers = 1;
   10286              :           return 1584; /* tzcnt_si */
   10287              : 
   10288              :         case 1:
   10289              :           if ((
   10290              : #line 22018 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10291              : (TARGET_APX_NF) && (((
   10292              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10293              : (TARGET_64BIT) && 
   10294              : #line 22000 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10295              : (TARGET_BMI)) && 
   10296              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10297              : (TARGET_64BIT)) && 
   10298              : #line 22000 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10299              : (TARGET_BMI))))
   10300              :             return 1582; /* tzcnt_di_nf */
   10301              :           if (pnum_clobbers == NULL
   10302              :               || !(((
   10303              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10304              : (TARGET_64BIT) && 
   10305              : #line 22000 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10306              : (TARGET_BMI)) && 
   10307              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10308              : (TARGET_64BIT)) && 
   10309              : #line 22000 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10310              : (TARGET_BMI)))
   10311              :             return -1;
   10312              :           *pnum_clobbers = 1;
   10313              :           return 1586; /* tzcnt_di */
   10314              : 
   10315              :         default:
   10316              :           return -1;
   10317              :         }
   10318              : 
   10319              :     case 97:
   10320              :       x3 = XEXP (x1, 0);
   10321              :       operands[0] = x3;
   10322              :       switch (pattern303 (x2))
   10323              :         {
   10324              :         case 0:
   10325              :           if ((
   10326              : #line 22018 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10327              : (TARGET_APX_NF) && 
   10328              : #line 22001 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10329              : (TARGET_LZCNT)))
   10330              :             return 1581; /* lzcnt_si_nf */
   10331              :           if (pnum_clobbers == NULL
   10332              :               || !
   10333              : #line 22001 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10334              : (TARGET_LZCNT))
   10335              :             return -1;
   10336              :           *pnum_clobbers = 1;
   10337              :           return 1585; /* lzcnt_si */
   10338              : 
   10339              :         case 1:
   10340              :           if ((
   10341              : #line 22018 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10342              : (TARGET_APX_NF) && (((
   10343              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10344              : (TARGET_64BIT) && 
   10345              : #line 22001 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10346              : (TARGET_LZCNT)) && 
   10347              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10348              : (TARGET_64BIT)) && 
   10349              : #line 22001 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10350              : (TARGET_LZCNT))))
   10351              :             return 1583; /* lzcnt_di_nf */
   10352              :           if (pnum_clobbers == NULL
   10353              :               || !(((
   10354              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10355              : (TARGET_64BIT) && 
   10356              : #line 22001 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10357              : (TARGET_LZCNT)) && 
   10358              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10359              : (TARGET_64BIT)) && 
   10360              : #line 22001 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10361              : (TARGET_LZCNT)))
   10362              :             return -1;
   10363              :           *pnum_clobbers = 1;
   10364              :           return 1587; /* lzcnt_di */
   10365              : 
   10366              :         default:
   10367              :           return -1;
   10368              :         }
   10369              : 
   10370              :     case 20:
   10371              :       x4 = XVECEXP (x2, 0, 0);
   10372              :       if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   10373              :         return -1;
   10374              :       x3 = XEXP (x1, 0);
   10375              :       operands[0] = x3;
   10376              :       switch (pattern24 (x2))
   10377              :         {
   10378              :         case 0:
   10379              :           if (!
   10380              : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10381              : (ptr_mode == SImode))
   10382              :             return -1;
   10383              :           return 1692; /* *load_tp_si */
   10384              : 
   10385              :         case 1:
   10386              :           if (!
   10387              : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10388              : (ptr_mode == DImode))
   10389              :             return -1;
   10390              :           return 1693; /* *load_tp_di */
   10391              : 
   10392              :         default:
   10393              :           return -1;
   10394              :         }
   10395              : 
   10396              :     case 23:
   10397              :       x3 = XEXP (x1, 0);
   10398              :       operands[0] = x3;
   10399              :       x4 = XVECEXP (x2, 0, 0);
   10400              :       operands[1] = x4;
   10401              :       if (!tls_symbolic_operand (operands[1], E_VOIDmode))
   10402              :         return -1;
   10403              :       switch (pattern24 (x2))
   10404              :         {
   10405              :         case 0:
   10406              :           if (!(
   10407              : #line 23716 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10408              : (TARGET_64BIT && TARGET_GNU2_TLS) && 
   10409              : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10410              : (ptr_mode == SImode)))
   10411              :             return -1;
   10412              :           return 1701; /* *tls_dynamic_gnu2_lea_64_si */
   10413              : 
   10414              :         case 1:
   10415              :           if (!(
   10416              : #line 23716 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10417              : (TARGET_64BIT && TARGET_GNU2_TLS) && 
   10418              : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10419              : (ptr_mode == DImode)))
   10420              :             return -1;
   10421              :           return 1702; /* *tls_dynamic_gnu2_lea_64_di */
   10422              : 
   10423              :         default:
   10424              :           return -1;
   10425              :         }
   10426              : 
   10427              :     case 71:
   10428              :       x3 = XEXP (x1, 0);
   10429              :       operands[0] = x3;
   10430              :       x4 = XVECEXP (x2, 0, 0);
   10431              :       operands[1] = x4;
   10432              :       if (!register_operand (operands[1], E_XFmode))
   10433              :         return -1;
   10434              :       switch (GET_MODE (operands[0]))
   10435              :         {
   10436              :         case E_DImode:
   10437              :           if (pnum_clobbers == NULL
   10438              :               || !nonimmediate_operand (operands[0], E_DImode)
   10439              :               || GET_MODE (x2) != E_DImode
   10440              :               || !
   10441              : #line 25498 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10442              : (TARGET_USE_FANCY_MATH_387))
   10443              :             return -1;
   10444              :           *pnum_clobbers = 1;
   10445              :           return 1767; /* lrintxfdi2 */
   10446              : 
   10447              :         case E_SImode:
   10448              :           if (!nonimmediate_operand (operands[0], E_SImode)
   10449              :               || GET_MODE (x2) != E_SImode
   10450              :               || !
   10451              : #line 25507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10452              : (TARGET_USE_FANCY_MATH_387))
   10453              :             return -1;
   10454              :           return 1769; /* lrintxfsi2 */
   10455              : 
   10456              :         default:
   10457              :           return -1;
   10458              :         }
   10459              : 
   10460              :     case 79:
   10461              :       switch (pattern126 (x1, pnum_clobbers))
   10462              :         {
   10463              :         case 0:
   10464              :           if (!
   10465              : #line 25714 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10466              : (TARGET_USE_FANCY_MATH_387
   10467              :    && flag_unsafe_math_optimizations
   10468              :    && ix86_pre_reload_split ()))
   10469              :             return -1;
   10470              :           *pnum_clobbers = 1;
   10471              :           return 1780; /* *fistsi2_floor_1 */
   10472              : 
   10473              :         case 1:
   10474              :           if (!
   10475              : #line 25714 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10476              : (TARGET_USE_FANCY_MATH_387
   10477              :    && flag_unsafe_math_optimizations
   10478              :    && ix86_pre_reload_split ()))
   10479              :             return -1;
   10480              :           *pnum_clobbers = 1;
   10481              :           return 1782; /* *fistdi2_floor_1 */
   10482              : 
   10483              :         default:
   10484              :           return -1;
   10485              :         }
   10486              : 
   10487              :     case 80:
   10488              :       switch (pattern126 (x1, pnum_clobbers))
   10489              :         {
   10490              :         case 0:
   10491              :           if (!
   10492              : #line 25714 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10493              : (TARGET_USE_FANCY_MATH_387
   10494              :    && flag_unsafe_math_optimizations
   10495              :    && ix86_pre_reload_split ()))
   10496              :             return -1;
   10497              :           *pnum_clobbers = 1;
   10498              :           return 1781; /* *fistsi2_ceil_1 */
   10499              : 
   10500              :         case 1:
   10501              :           if (!
   10502              : #line 25714 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10503              : (TARGET_USE_FANCY_MATH_387
   10504              :    && flag_unsafe_math_optimizations
   10505              :    && ix86_pre_reload_split ()))
   10506              :             return -1;
   10507              :           *pnum_clobbers = 1;
   10508              :           return 1783; /* *fistdi2_ceil_1 */
   10509              : 
   10510              :         default:
   10511              :           return -1;
   10512              :         }
   10513              : 
   10514              :     case 50:
   10515              :       return recog_111 (x1, insn, pnum_clobbers);
   10516              : 
   10517              :     case 19:
   10518              :       if (pnum_clobbers == NULL)
   10519              :         return -1;
   10520              :       x3 = XEXP (x1, 0);
   10521              :       operands[0] = x3;
   10522              :       x4 = XVECEXP (x2, 0, 0);
   10523              :       operands[1] = x4;
   10524              :       switch (GET_MODE (operands[0]))
   10525              :         {
   10526              :         case E_SImode:
   10527              :           if (!memory_operand (operands[0], E_SImode)
   10528              :               || GET_MODE (x2) != E_SImode
   10529              :               || !const0_operand (operands[1], E_SImode)
   10530              :               || !
   10531              : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10532              : (word_mode == SImode))
   10533              :             return -1;
   10534              :           *pnum_clobbers = 1;
   10535              :           return 1915; /* probe_stack_1_si */
   10536              : 
   10537              :         case E_DImode:
   10538              :           if (!memory_operand (operands[0], E_DImode)
   10539              :               || GET_MODE (x2) != E_DImode
   10540              :               || !const0_operand (operands[1], E_DImode)
   10541              :               || !
   10542              : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10543              : (word_mode == DImode))
   10544              :             return -1;
   10545              :           *pnum_clobbers = 1;
   10546              :           return 1916; /* probe_stack_1_di */
   10547              : 
   10548              :         default:
   10549              :           return -1;
   10550              :         }
   10551              : 
   10552              :     case 34:
   10553              :       if (GET_MODE (x2) != E_BLKmode)
   10554              :         return -1;
   10555              :       x3 = XEXP (x1, 0);
   10556              :       operands[0] = x3;
   10557              :       x4 = XVECEXP (x2, 0, 0);
   10558              :       if (!rtx_equal_p (x4, operands[0]))
   10559              :         return -1;
   10560              :       return 2009; /* *pause */
   10561              : 
   10562              :     case 103:
   10563              :       switch (pattern127 (x1))
   10564              :         {
   10565              :         case 0:
   10566              :           if (!
   10567              : #line 30508 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10568              : (TARGET_MOVDIRI))
   10569              :             return -1;
   10570              :           return 2040; /* movdirisi */
   10571              : 
   10572              :         case 1:
   10573              :           if (!(
   10574              : #line 30508 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10575              : (TARGET_MOVDIRI) && 
   10576              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10577              : (TARGET_64BIT)))
   10578              :             return -1;
   10579              :           return 2041; /* movdiridi */
   10580              : 
   10581              :         default:
   10582              :           return -1;
   10583              :         }
   10584              : 
   10585              :     case 104:
   10586              :       if (GET_MODE (x2) != E_XImode)
   10587              :         return -1;
   10588              :       x3 = XEXP (x1, 0);
   10589              :       if (GET_CODE (x3) != MEM
   10590              :           || GET_MODE (x3) != E_XImode)
   10591              :         return -1;
   10592              :       x6 = XEXP (x3, 0);
   10593              :       operands[0] = x6;
   10594              :       x4 = XVECEXP (x2, 0, 0);
   10595              :       operands[1] = x4;
   10596              :       if (!memory_operand (operands[1], E_XImode))
   10597              :         return -1;
   10598              :       switch (GET_MODE (operands[0]))
   10599              :         {
   10600              :         case E_SImode:
   10601              :           if (!register_operand (operands[0], E_SImode)
   10602              :               || !(
   10603              : #line 30516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10604              : (TARGET_MOVDIR64B) && 
   10605              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10606              : (Pmode == SImode)))
   10607              :             return -1;
   10608              :           return 2042; /* movdir64b_si */
   10609              : 
   10610              :         case E_DImode:
   10611              :           if (!register_operand (operands[0], E_DImode)
   10612              :               || !(
   10613              : #line 30516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10614              : (TARGET_MOVDIR64B) && 
   10615              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10616              : (Pmode == DImode)))
   10617              :             return -1;
   10618              :           return 2043; /* movdir64b_di */
   10619              : 
   10620              :         default:
   10621              :           return -1;
   10622              :         }
   10623              : 
   10624              :     case 112:
   10625              :       if (GET_MODE (x2) != E_DImode)
   10626              :         return -1;
   10627              :       x3 = XEXP (x1, 0);
   10628              :       operands[0] = x3;
   10629              :       if (!memory_operand (operands[0], E_DImode))
   10630              :         return -1;
   10631              :       x4 = XVECEXP (x2, 0, 0);
   10632              :       operands[1] = x4;
   10633              :       if (!register_operand (operands[1], E_DImode)
   10634              :           || !
   10635              : #line 659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   10636              : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
   10637              :    && (TARGET_SSE || TARGET_3DNOW_A)))
   10638              :         return -1;
   10639              :       return 2105; /* sse_movntq */
   10640              : 
   10641              :     case 118:
   10642              :       switch (pattern127 (x1))
   10643              :         {
   10644              :         case 0:
   10645              :           if (!
   10646              : #line 2034 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10647              : (TARGET_SSE2))
   10648              :             return -1;
   10649              :           return 2624; /* sse2_movntisi */
   10650              : 
   10651              :         case 1:
   10652              :           if (!(
   10653              : #line 2034 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10654              : (TARGET_SSE2) && 
   10655              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10656              : (TARGET_64BIT)))
   10657              :             return -1;
   10658              :           return 2625; /* sse2_movntidi */
   10659              : 
   10660              :         default:
   10661              :           return -1;
   10662              :         }
   10663              : 
   10664              :     case 157:
   10665              :       x3 = XEXP (x1, 0);
   10666              :       operands[0] = x3;
   10667              :       x4 = XVECEXP (x2, 0, 0);
   10668              :       switch (GET_CODE (x4))
   10669              :         {
   10670              :         case VEC_SELECT:
   10671              :           switch (pattern457 (x4))
   10672              :             {
   10673              :             case 0:
   10674              :               switch (pattern1108 (x2, 
   10675              : E_SImode))
   10676              :                 {
   10677              :                 case 0:
   10678              :                   if (!
   10679              : #line 8158 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10680              : (TARGET_AVX512FP16))
   10681              :                     return -1;
   10682              :                   return 4584; /* avx512fp16_vcvtsh2usi */
   10683              : 
   10684              :                 case 1:
   10685              :                   if (!
   10686              : #line 9356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10687              : (TARGET_AVX512F))
   10688              :                     return -1;
   10689              :                   return 4944; /* avx512f_vcvtss2usi */
   10690              : 
   10691              :                 case 2:
   10692              :                   if (!
   10693              : #line 9392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10694              : (TARGET_AVX512F))
   10695              :                     return -1;
   10696              :                   return 4956; /* avx512f_vcvtsd2usi */
   10697              : 
   10698              :                 default:
   10699              :                   return -1;
   10700              :                 }
   10701              : 
   10702              :             case 1:
   10703              :               switch (pattern1108 (x2, 
   10704              : E_DImode))
   10705              :                 {
   10706              :                 case 0:
   10707              :                   if (!(
   10708              : #line 8158 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10709              : (TARGET_AVX512FP16) && 
   10710              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10711              : (TARGET_64BIT)))
   10712              :                     return -1;
   10713              :                   return 4588; /* avx512fp16_vcvtsh2usiq */
   10714              : 
   10715              :                 case 1:
   10716              :                   if (!(
   10717              : #line 9356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10718              : (TARGET_AVX512F) && 
   10719              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10720              : (TARGET_64BIT)))
   10721              :                     return -1;
   10722              :                   return 4946; /* avx512f_vcvtss2usiq */
   10723              : 
   10724              :                 case 2:
   10725              :                   if (!(
   10726              : #line 9392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10727              : (TARGET_AVX512F) && 
   10728              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10729              : (TARGET_64BIT)))
   10730              :                     return -1;
   10731              :                   return 4958; /* avx512f_vcvtsd2usiq */
   10732              : 
   10733              :                 default:
   10734              :                   return -1;
   10735              :                 }
   10736              : 
   10737              :             default:
   10738              :               return -1;
   10739              :             }
   10740              : 
   10741              :         case REG:
   10742              :         case SUBREG:
   10743              :         case MEM:
   10744              :           operands[1] = x4;
   10745              :           if (!nonimmediate_operand (operands[1], E_HFmode))
   10746              :             return -1;
   10747              :           switch (pattern24 (x2))
   10748              :             {
   10749              :             case 0:
   10750              :               if (!
   10751              : #line 8169 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10752              : (TARGET_AVX512FP16))
   10753              :                 return -1;
   10754              :               return 4592; /* avx512fp16_vcvtsh2usi_2 */
   10755              : 
   10756              :             case 1:
   10757              :               if (!(
   10758              : #line 8169 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10759              : (TARGET_AVX512FP16) && 
   10760              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10761              : (TARGET_64BIT)))
   10762              :                 return -1;
   10763              :               return 4594; /* avx512fp16_vcvtsh2usiq_2 */
   10764              : 
   10765              :             default:
   10766              :               return -1;
   10767              :             }
   10768              : 
   10769              :         default:
   10770              :           return -1;
   10771              :         }
   10772              : 
   10773              :     case 47:
   10774              :       x3 = XEXP (x1, 0);
   10775              :       operands[0] = x3;
   10776              :       x4 = XVECEXP (x2, 0, 0);
   10777              :       switch (GET_CODE (x4))
   10778              :         {
   10779              :         case VEC_SELECT:
   10780              :           switch (pattern457 (x4))
   10781              :             {
   10782              :             case 0:
   10783              :               switch (pattern1109 (x2, 
   10784              : E_SImode))
   10785              :                 {
   10786              :                 case 0:
   10787              :                   if (!
   10788              : #line 8158 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10789              : (TARGET_AVX512FP16))
   10790              :                     return -1;
   10791              :                   return 4586; /* avx512fp16_vcvtsh2si */
   10792              : 
   10793              :                 case 1:
   10794              :                   if (!
   10795              : #line 8885 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10796              : (TARGET_SSE))
   10797              :                     return -1;
   10798              :                   return 4833; /* sse_cvtss2si */
   10799              : 
   10800              :                 case 2:
   10801              :                   if (!
   10802              : #line 9428 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10803              : (TARGET_SSE2))
   10804              :                     return -1;
   10805              :                   return 4968; /* sse2_cvtsd2si */
   10806              : 
   10807              :                 default:
   10808              :                   return -1;
   10809              :                 }
   10810              : 
   10811              :             case 1:
   10812              :               switch (pattern1109 (x2, 
   10813              : E_DImode))
   10814              :                 {
   10815              :                 case 0:
   10816              :                   if (!(
   10817              : #line 8158 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10818              : (TARGET_AVX512FP16) && 
   10819              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10820              : (TARGET_64BIT)))
   10821              :                     return -1;
   10822              :                   return 4590; /* avx512fp16_vcvtsh2siq */
   10823              : 
   10824              :                 case 1:
   10825              :                   if (!(
   10826              : #line 8885 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10827              : (TARGET_SSE) && 
   10828              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10829              : (TARGET_64BIT)))
   10830              :                     return -1;
   10831              :                   return 4835; /* sse_cvtss2siq */
   10832              : 
   10833              :                 case 2:
   10834              :                   if (!(
   10835              : #line 9428 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10836              : (TARGET_SSE2) && 
   10837              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10838              : (TARGET_64BIT)))
   10839              :                     return -1;
   10840              :                   return 4970; /* sse2_cvtsd2siq */
   10841              : 
   10842              :                 default:
   10843              :                   return -1;
   10844              :                 }
   10845              : 
   10846              :             default:
   10847              :               return -1;
   10848              :             }
   10849              : 
   10850              :         case REG:
   10851              :         case SUBREG:
   10852              :         case MEM:
   10853              :           operands[1] = x4;
   10854              :           switch (GET_MODE (operands[0]))
   10855              :             {
   10856              :             case E_SImode:
   10857              :               switch (pattern772 (x2, 
   10858              : E_SImode))
   10859              :                 {
   10860              :                 case 0:
   10861              :                   if (!
   10862              : #line 8169 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10863              : (TARGET_AVX512FP16))
   10864              :                     return -1;
   10865              :                   return 4593; /* avx512fp16_vcvtsh2si_2 */
   10866              : 
   10867              :                 case 1:
   10868              :                   if (!
   10869              : #line 8898 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10870              : (TARGET_SSE))
   10871              :                     return -1;
   10872              :                   return 4837; /* sse_cvtss2si_2 */
   10873              : 
   10874              :                 case 2:
   10875              :                   if (!
   10876              : #line 9442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10877              : (TARGET_SSE2))
   10878              :                     return -1;
   10879              :                   return 4972; /* sse2_cvtsd2si_2 */
   10880              : 
   10881              :                 default:
   10882              :                   return -1;
   10883              :                 }
   10884              : 
   10885              :             case E_DImode:
   10886              :               switch (pattern772 (x2, 
   10887              : E_DImode))
   10888              :                 {
   10889              :                 case 0:
   10890              :                   if (!(
   10891              : #line 8169 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10892              : (TARGET_AVX512FP16) && 
   10893              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10894              : (TARGET_64BIT)))
   10895              :                     return -1;
   10896              :                   return 4595; /* avx512fp16_vcvtsh2siq_2 */
   10897              : 
   10898              :                 case 1:
   10899              :                   if (!(
   10900              : #line 8898 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10901              : (TARGET_SSE) && 
   10902              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10903              : (TARGET_64BIT)))
   10904              :                     return -1;
   10905              :                   return 4838; /* sse_cvtss2siq_2 */
   10906              : 
   10907              :                 case 2:
   10908              :                   if (!(
   10909              : #line 9442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10910              : (TARGET_SSE2) && 
   10911              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10912              : (TARGET_64BIT)))
   10913              :                     return -1;
   10914              :                   return 4973; /* sse2_cvtsd2siq_2 */
   10915              : 
   10916              :                 default:
   10917              :                   return -1;
   10918              :                 }
   10919              : 
   10920              :             default:
   10921              :               return -1;
   10922              :             }
   10923              : 
   10924              :         default:
   10925              :           return -1;
   10926              :         }
   10927              : 
   10928              :     case 173:
   10929              :       switch (pattern129 (x1))
   10930              :         {
   10931              :         case 0:
   10932              :           if (!
   10933              : #line 8323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10934              : (TARGET_AVX512FP16))
   10935              :             return -1;
   10936              :           return 4736; /* unspec_avx512fp16_fix_truncsi2 */
   10937              : 
   10938              :         case 1:
   10939              :           if (!
   10940              : #line 8913 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10941              : (TARGET_SSE))
   10942              :             return -1;
   10943              :           return 4839; /* unspec_sse_cvttss2si */
   10944              : 
   10945              :         case 2:
   10946              :           if (!
   10947              : #line 9457 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10948              : (TARGET_SSE2))
   10949              :             return -1;
   10950              :           return 4974; /* unspec_sse2_cvttsd2si */
   10951              : 
   10952              :         case 3:
   10953              :           if (!(
   10954              : #line 8323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10955              : (TARGET_AVX512FP16) && 
   10956              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10957              : (TARGET_64BIT)))
   10958              :             return -1;
   10959              :           return 4740; /* unspec_avx512fp16_fix_truncdi2 */
   10960              : 
   10961              :         case 4:
   10962              :           if (!(
   10963              : #line 8913 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10964              : (TARGET_SSE) && 
   10965              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10966              : (TARGET_64BIT)))
   10967              :             return -1;
   10968              :           return 4841; /* unspec_sse_cvttss2siq */
   10969              : 
   10970              :         case 5:
   10971              :           if (!(
   10972              : #line 9457 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10973              : (TARGET_SSE2) && 
   10974              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10975              : (TARGET_64BIT)))
   10976              :             return -1;
   10977              :           return 4976; /* unspec_sse2_cvttsd2siq */
   10978              : 
   10979              :         default:
   10980              :           return -1;
   10981              :         }
   10982              : 
   10983              :     case 174:
   10984              :       switch (pattern129 (x1))
   10985              :         {
   10986              :         case 0:
   10987              :           if (!
   10988              : #line 8323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10989              : (TARGET_AVX512FP16))
   10990              :             return -1;
   10991              :           return 4738; /* unspec_avx512fp16_fixuns_truncsi2 */
   10992              : 
   10993              :         case 1:
   10994              :           if (!
   10995              : #line 9367 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10996              : (TARGET_AVX512F))
   10997              :             return -1;
   10998              :           return 4948; /* unspec_avx512f_vcvttss2usi */
   10999              : 
   11000              :         case 2:
   11001              :           if (!
   11002              : #line 9403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11003              : (TARGET_AVX512F))
   11004              :             return -1;
   11005              :           return 4960; /* unspec_avx512f_vcvttsd2usi */
   11006              : 
   11007              :         case 3:
   11008              :           if (!(
   11009              : #line 8323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11010              : (TARGET_AVX512FP16) && 
   11011              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   11012              : (TARGET_64BIT)))
   11013              :             return -1;
   11014              :           return 4742; /* unspec_avx512fp16_fixuns_truncdi2 */
   11015              : 
   11016              :         case 4:
   11017              :           if (!(
   11018              : #line 9367 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11019              : (TARGET_AVX512F) && 
   11020              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   11021              : (TARGET_64BIT)))
   11022              :             return -1;
   11023              :           return 4950; /* unspec_avx512f_vcvttss2usiq */
   11024              : 
   11025              :         case 5:
   11026              :           if (!(
   11027              : #line 9403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11028              : (TARGET_AVX512F) && 
   11029              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   11030              : (TARGET_64BIT)))
   11031              :             return -1;
   11032              :           return 4962; /* unspec_avx512f_vcvttsd2usiq */
   11033              : 
   11034              :         default:
   11035              :           return -1;
   11036              :         }
   11037              : 
   11038              :     case 192:
   11039              :       x3 = XEXP (x1, 0);
   11040              :       operands[0] = x3;
   11041              :       x4 = XVECEXP (x2, 0, 0);
   11042              :       operands[1] = x4;
   11043              :       switch (GET_MODE (operands[0]))
   11044              :         {
   11045              :         case E_DImode:
   11046              :           if (!register_operand (operands[0], E_DImode)
   11047              :               || GET_MODE (x2) != E_DImode
   11048              :               || !register_operand (operands[1], E_V64QImode)
   11049              :               || !
   11050              : #line 10589 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11051              : (TARGET_AVX512BW))
   11052              :             return -1;
   11053              :           return 5209; /* avx512bw_cvtb2maskv64qi */
   11054              : 
   11055              :         case E_SImode:
   11056              :           if (!register_operand (operands[0], E_SImode)
   11057              :               || GET_MODE (x2) != E_SImode)
   11058              :             return -1;
   11059              :           switch (GET_MODE (operands[1]))
   11060              :             {
   11061              :             case E_V32QImode:
   11062              :               if (!register_operand (operands[1], E_V32QImode)
   11063              :                   || !(
   11064              : #line 10589 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11065              : (TARGET_AVX512BW) && 
   11066              : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11067              : (TARGET_AVX512VL)))
   11068              :                 return -1;
   11069              :               return 5211; /* avx512vl_cvtb2maskv32qi */
   11070              : 
   11071              :             case E_V32HImode:
   11072              :               if (!register_operand (operands[1], E_V32HImode)
   11073              :                   || !
   11074              : #line 10589 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11075              : (TARGET_AVX512BW))
   11076              :                 return -1;
   11077              :               return 5212; /* avx512bw_cvtw2maskv32hi */
   11078              : 
   11079              :             default:
   11080              :               return -1;
   11081              :             }
   11082              : 
   11083              :         default:
   11084              :           return -1;
   11085              :         }
   11086              : 
   11087              :     case 276:
   11088              :       switch (pattern131 (x1))
   11089              :         {
   11090              :         case 0:
   11091              :           if (!
   11092              : #line 33315 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11093              : (TARGET_AVX10_2))
   11094              :             return -1;
   11095              :           return 10956; /* avx10_2_vcvttsd2sissi */
   11096              : 
   11097              :         case 1:
   11098              :           if (!
   11099              : #line 33328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11100              : (TARGET_AVX10_2))
   11101              :             return -1;
   11102              :           return 10964; /* avx10_2_vcvttss2sissi */
   11103              : 
   11104              :         case 2:
   11105              :           if (!(
   11106              : #line 33315 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11107              : (TARGET_AVX10_2) && 
   11108              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   11109              : (TARGET_64BIT)))
   11110              :             return -1;
   11111              :           return 10960; /* avx10_2_vcvttsd2sisdi */
   11112              : 
   11113              :         case 3:
   11114              :           if (!(
   11115              : #line 33328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11116              : (TARGET_AVX10_2) && 
   11117              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   11118              : (TARGET_64BIT)))
   11119              :             return -1;
   11120              :           return 10968; /* avx10_2_vcvttss2sisdi */
   11121              : 
   11122              :         default:
   11123              :           return -1;
   11124              :         }
   11125              : 
   11126              :     case 277:
   11127              :       switch (pattern131 (x1))
   11128              :         {
   11129              :         case 0:
   11130              :           if (!
   11131              : #line 33315 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11132              : (TARGET_AVX10_2))
   11133              :             return -1;
   11134              :           return 10958; /* avx10_2_vcvttsd2usissi */
   11135              : 
   11136              :         case 1:
   11137              :           if (!
   11138              : #line 33328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11139              : (TARGET_AVX10_2))
   11140              :             return -1;
   11141              :           return 10966; /* avx10_2_vcvttss2usissi */
   11142              : 
   11143              :         case 2:
   11144              :           if (!(
   11145              : #line 33315 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11146              : (TARGET_AVX10_2) && 
   11147              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   11148              : (TARGET_64BIT)))
   11149              :             return -1;
   11150              :           return 10962; /* avx10_2_vcvttsd2usisdi */
   11151              : 
   11152              :         case 3:
   11153              :           if (!(
   11154              : #line 33328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11155              : (TARGET_AVX10_2) && 
   11156              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   11157              : (TARGET_64BIT)))
   11158              :             return -1;
   11159              :           return 10970; /* avx10_2_vcvttss2usisdi */
   11160              : 
   11161              :         default:
   11162              :           return -1;
   11163              :         }
   11164              : 
   11165              :     case 284:
   11166              :       if (GET_MODE (x2) != E_BLKmode)
   11167              :         return -1;
   11168              :       x3 = XEXP (x1, 0);
   11169              :       operands[0] = x3;
   11170              :       x4 = XVECEXP (x2, 0, 0);
   11171              :       if (!rtx_equal_p (x4, operands[0])
   11172              :           || !
   11173              : #line 60 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
   11174              : (TARGET_SSE2))
   11175              :         return -1;
   11176              :       return 11060; /* *sse2_lfence */
   11177              : 
   11178              :     case 285:
   11179              :       if (GET_MODE (x2) != E_BLKmode)
   11180              :         return -1;
   11181              :       x3 = XEXP (x1, 0);
   11182              :       operands[0] = x3;
   11183              :       x4 = XVECEXP (x2, 0, 0);
   11184              :       if (!rtx_equal_p (x4, operands[0])
   11185              :           || !
   11186              : #line 79 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
   11187              : (TARGET_SSE || TARGET_3DNOW_A))
   11188              :         return -1;
   11189              :       return 11061; /* *sse_sfence */
   11190              : 
   11191              :     case 286:
   11192              :       if (GET_MODE (x2) != E_BLKmode)
   11193              :         return -1;
   11194              :       x3 = XEXP (x1, 0);
   11195              :       operands[0] = x3;
   11196              :       x4 = XVECEXP (x2, 0, 0);
   11197              :       if (!rtx_equal_p (x4, operands[0]))
   11198              :         return -1;
   11199              :       if (
   11200              : #line 98 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
   11201              : (TARGET_64BIT || TARGET_SSE2))
   11202              :         return 11062; /* mfence_sse2 */
   11203              :       if (pnum_clobbers == NULL)
   11204              :         return -1;
   11205              :       *pnum_clobbers = 1;
   11206              :       return 11063; /* mfence_nosse */
   11207              : 
   11208              :     case 288:
   11209              :       if (GET_MODE (x2) != E_DImode)
   11210              :         return -1;
   11211              :       x3 = XEXP (x1, 0);
   11212              :       operands[0] = x3;
   11213              :       if (!memory_operand (operands[0], E_DImode))
   11214              :         return -1;
   11215              :       x4 = XVECEXP (x2, 0, 0);
   11216              :       operands[1] = x4;
   11217              :       if (!register_operand (operands[1], E_DFmode)
   11218              :           || !
   11219              : #line 356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
   11220              : (TARGET_80387))
   11221              :         return -1;
   11222              :       return 11071; /* storedi_via_fpu */
   11223              : 
   11224              :     case 290:
   11225              :       if (GET_MODE (x2) != E_DImode)
   11226              :         return -1;
   11227              :       x3 = XEXP (x1, 0);
   11228              :       operands[0] = x3;
   11229              :       if (!memory_operand (operands[0], E_DImode))
   11230              :         return -1;
   11231              :       x4 = XVECEXP (x2, 0, 0);
   11232              :       operands[1] = x4;
   11233              :       if (!register_operand (operands[1], E_DFmode)
   11234              :           || !
   11235              : #line 382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
   11236              : (TARGET_SSE))
   11237              :         return -1;
   11238              :       return 11073; /* storedi_via_sse */
   11239              : 
   11240              :     default:
   11241              :       return -1;
   11242              :     }
   11243              : }
   11244              : 
   11245              :  int
   11246              : recog_149 (rtx x1 ATTRIBUTE_UNUSED,
   11247              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   11248              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   11249              : {
   11250              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   11251              :   rtx x2, x3, x4, x5, x6, x7;
   11252              :   int res ATTRIBUTE_UNUSED;
   11253              :   x2 = XEXP (x1, 1);
   11254              :   x3 = XEXP (x2, 0);
   11255              :   switch (XINT (x3, 1))
   11256              :     {
   11257              :     case 64:
   11258              :       switch (pattern461 (x2))
   11259              :         {
   11260              :         case 0:
   11261              :           if (!(
   11262              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11263              : (TARGET_AVX512F) && (
   11264              : #line 3463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11265              : (TARGET_SSE
   11266              :    && (64 == 64 || TARGET_AVX512VL)
   11267              :    && 1) && 
   11268              : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11269              : (TARGET_AVX512FP16))))
   11270              :             return -1;
   11271              :           return 3116; /* ieee_maxv32hf3_mask */
   11272              : 
   11273              :         case 1:
   11274              :           if (!(
   11275              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11276              : (TARGET_AVX512F) && (
   11277              : #line 3463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11278              : (TARGET_SSE
   11279              :    && (32 == 64 || TARGET_AVX512VL)
   11280              :    && 1) && 
   11281              : #line 394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11282              : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
   11283              :             return -1;
   11284              :           return 3123; /* ieee_maxv16hf3_mask */
   11285              : 
   11286              :         case 2:
   11287              :           if (!(
   11288              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11289              : (TARGET_AVX512F) && (
   11290              : #line 3463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11291              : (TARGET_SSE
   11292              :    && (16 == 64 || TARGET_AVX512VL)
   11293              :    && 1) && 
   11294              : #line 395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11295              : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
   11296              :             return -1;
   11297              :           return 3127; /* ieee_maxv8hf3_mask */
   11298              : 
   11299              :         case 3:
   11300              :           if (!(
   11301              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11302              : (TARGET_AVX512F) && (
   11303              : #line 3463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11304              : (TARGET_SSE
   11305              :    && (64 == 64 || TARGET_AVX512VL)
   11306              :    && 1) && 
   11307              : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11308              : (TARGET_AVX512F))))
   11309              :             return -1;
   11310              :           return 3132; /* ieee_maxv16sf3_mask */
   11311              : 
   11312              :         case 4:
   11313              :           if (!(
   11314              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11315              : (TARGET_AVX512F) && (
   11316              : #line 3463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11317              : (TARGET_SSE
   11318              :    && (32 == 64 || TARGET_AVX512VL)
   11319              :    && 1) && 
   11320              : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11321              : (TARGET_AVX))))
   11322              :             return -1;
   11323              :           return 3139; /* ieee_maxv8sf3_mask */
   11324              : 
   11325              :         case 5:
   11326              :           if (!(
   11327              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11328              : (TARGET_AVX512F) && 
   11329              : #line 3463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11330              : (TARGET_SSE
   11331              :    && (16 == 64 || TARGET_AVX512VL)
   11332              :    && 1)))
   11333              :             return -1;
   11334              :           return 3143; /* ieee_maxv4sf3_mask */
   11335              : 
   11336              :         case 6:
   11337              :           if (!(
   11338              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11339              : (TARGET_AVX512F) && (
   11340              : #line 3463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11341              : (TARGET_SSE
   11342              :    && (64 == 64 || TARGET_AVX512VL)
   11343              :    && 1) && 
   11344              : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11345              : (TARGET_AVX512F))))
   11346              :             return -1;
   11347              :           return 3148; /* ieee_maxv8df3_mask */
   11348              : 
   11349              :         case 7:
   11350              :           if (!(
   11351              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11352              : (TARGET_AVX512F) && (
   11353              : #line 3463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11354              : (TARGET_SSE
   11355              :    && (32 == 64 || TARGET_AVX512VL)
   11356              :    && 1) && 
   11357              : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11358              : (TARGET_AVX))))
   11359              :             return -1;
   11360              :           return 3155; /* ieee_maxv4df3_mask */
   11361              : 
   11362              :         case 8:
   11363              :           if (!(
   11364              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11365              : (TARGET_AVX512F) && (
   11366              : #line 3463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11367              : (TARGET_SSE
   11368              :    && (16 == 64 || TARGET_AVX512VL)
   11369              :    && 1) && 
   11370              : #line 398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11371              : (TARGET_SSE2))))
   11372              :             return -1;
   11373              :           return 3159; /* ieee_maxv2df3_mask */
   11374              : 
   11375              :         case 9:
   11376              :           if (!(
   11377              : #line 3555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11378              : (TARGET_SSE) && 
   11379              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11380              : (TARGET_AVX512FP16)))
   11381              :             return -1;
   11382              :           return 3192; /* avx512fp16_ieee_vmmaxv8hf3 */
   11383              : 
   11384              :         case 10:
   11385              :           if (!
   11386              : #line 3555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11387              : (TARGET_SSE))
   11388              :             return -1;
   11389              :           return 3200; /* sse_ieee_vmmaxv4sf3 */
   11390              : 
   11391              :         case 11:
   11392              :           if (!(
   11393              : #line 3555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11394              : (TARGET_SSE) && 
   11395              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11396              : (TARGET_SSE2)))
   11397              :             return -1;
   11398              :           return 3208; /* sse2_ieee_vmmaxv2df3 */
   11399              : 
   11400              :         default:
   11401              :           return -1;
   11402              :         }
   11403              : 
   11404              :     case 63:
   11405              :       switch (pattern461 (x2))
   11406              :         {
   11407              :         case 0:
   11408              :           if (!(
   11409              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11410              : (TARGET_AVX512F) && (
   11411              : #line 3463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11412              : (TARGET_SSE
   11413              :    && (64 == 64 || TARGET_AVX512VL)
   11414              :    && 1) && 
   11415              : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11416              : (TARGET_AVX512FP16))))
   11417              :             return -1;
   11418              :           return 3120; /* ieee_minv32hf3_mask */
   11419              : 
   11420              :         case 1:
   11421              :           if (!(
   11422              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11423              : (TARGET_AVX512F) && (
   11424              : #line 3463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11425              : (TARGET_SSE
   11426              :    && (32 == 64 || TARGET_AVX512VL)
   11427              :    && 1) && 
   11428              : #line 394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11429              : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
   11430              :             return -1;
   11431              :           return 3125; /* ieee_minv16hf3_mask */
   11432              : 
   11433              :         case 2:
   11434              :           if (!(
   11435              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11436              : (TARGET_AVX512F) && (
   11437              : #line 3463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11438              : (TARGET_SSE
   11439              :    && (16 == 64 || TARGET_AVX512VL)
   11440              :    && 1) && 
   11441              : #line 395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11442              : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
   11443              :             return -1;
   11444              :           return 3129; /* ieee_minv8hf3_mask */
   11445              : 
   11446              :         case 3:
   11447              :           if (!(
   11448              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11449              : (TARGET_AVX512F) && (
   11450              : #line 3463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11451              : (TARGET_SSE
   11452              :    && (64 == 64 || TARGET_AVX512VL)
   11453              :    && 1) && 
   11454              : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11455              : (TARGET_AVX512F))))
   11456              :             return -1;
   11457              :           return 3136; /* ieee_minv16sf3_mask */
   11458              : 
   11459              :         case 4:
   11460              :           if (!(
   11461              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11462              : (TARGET_AVX512F) && (
   11463              : #line 3463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11464              : (TARGET_SSE
   11465              :    && (32 == 64 || TARGET_AVX512VL)
   11466              :    && 1) && 
   11467              : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11468              : (TARGET_AVX))))
   11469              :             return -1;
   11470              :           return 3141; /* ieee_minv8sf3_mask */
   11471              : 
   11472              :         case 5:
   11473              :           if (!(
   11474              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11475              : (TARGET_AVX512F) && 
   11476              : #line 3463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11477              : (TARGET_SSE
   11478              :    && (16 == 64 || TARGET_AVX512VL)
   11479              :    && 1)))
   11480              :             return -1;
   11481              :           return 3145; /* ieee_minv4sf3_mask */
   11482              : 
   11483              :         case 6:
   11484              :           if (!(
   11485              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11486              : (TARGET_AVX512F) && (
   11487              : #line 3463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11488              : (TARGET_SSE
   11489              :    && (64 == 64 || TARGET_AVX512VL)
   11490              :    && 1) && 
   11491              : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11492              : (TARGET_AVX512F))))
   11493              :             return -1;
   11494              :           return 3152; /* ieee_minv8df3_mask */
   11495              : 
   11496              :         case 7:
   11497              :           if (!(
   11498              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11499              : (TARGET_AVX512F) && (
   11500              : #line 3463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11501              : (TARGET_SSE
   11502              :    && (32 == 64 || TARGET_AVX512VL)
   11503              :    && 1) && 
   11504              : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11505              : (TARGET_AVX))))
   11506              :             return -1;
   11507              :           return 3157; /* ieee_minv4df3_mask */
   11508              : 
   11509              :         case 8:
   11510              :           if (!(
   11511              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11512              : (TARGET_AVX512F) && (
   11513              : #line 3463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11514              : (TARGET_SSE
   11515              :    && (16 == 64 || TARGET_AVX512VL)
   11516              :    && 1) && 
   11517              : #line 398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11518              : (TARGET_SSE2))))
   11519              :             return -1;
   11520              :           return 3161; /* ieee_minv2df3_mask */
   11521              : 
   11522              :         case 9:
   11523              :           if (!(
   11524              : #line 3555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11525              : (TARGET_SSE) && 
   11526              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11527              : (TARGET_AVX512FP16)))
   11528              :             return -1;
   11529              :           return 3196; /* avx512fp16_ieee_vmminv8hf3 */
   11530              : 
   11531              :         case 10:
   11532              :           if (!
   11533              : #line 3555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11534              : (TARGET_SSE))
   11535              :             return -1;
   11536              :           return 3204; /* sse_ieee_vmminv4sf3 */
   11537              : 
   11538              :         case 11:
   11539              :           if (!(
   11540              : #line 3555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11541              : (TARGET_SSE) && 
   11542              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11543              : (TARGET_SSE2)))
   11544              :             return -1;
   11545              :           return 3212; /* sse2_ieee_vmminv2df3 */
   11546              : 
   11547              :         default:
   11548              :           return -1;
   11549              :         }
   11550              : 
   11551              :     case 193:
   11552              :       x4 = XVECEXP (x3, 0, 0);
   11553              :       operands[1] = x4;
   11554              :       x5 = XVECEXP (x3, 0, 1);
   11555              :       operands[2] = x5;
   11556              :       if (!const_0_to_255_operand (operands[2], E_SImode))
   11557              :         return -1;
   11558              :       x6 = XEXP (x2, 1);
   11559              :       operands[3] = x6;
   11560              :       x7 = XEXP (x2, 2);
   11561              :       operands[4] = x7;
   11562              :       switch (GET_MODE (operands[0]))
   11563              :         {
   11564              :         case E_V32HFmode:
   11565              :           if (pattern1221 (x2, 
   11566              : E_V32HFmode, 
   11567              : E_SImode) != 0
   11568              :               || !(
   11569              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11570              : (TARGET_AVX512F) && (
   11571              : #line 4253 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11572              : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V32HFmode))) && 
   11573              : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11574              : (TARGET_AVX512FP16))))
   11575              :             return -1;
   11576              :           return 3232; /* reducepv32hf_mask */
   11577              : 
   11578              :         case E_V16HFmode:
   11579              :           if (pattern1221 (x2, 
   11580              : E_V16HFmode, 
   11581              : E_HImode) != 0
   11582              :               || !(
   11583              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11584              : (TARGET_AVX512F) && (
   11585              : #line 4253 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11586              : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V16HFmode))) && 
   11587              : #line 515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11588              : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
   11589              :             return -1;
   11590              :           return 3236; /* reducepv16hf_mask */
   11591              : 
   11592              :         case E_V8HFmode:
   11593              :           if (pattern1221 (x2, 
   11594              : E_V8HFmode, 
   11595              : E_QImode) != 0
   11596              :               || !(
   11597              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11598              : (TARGET_AVX512F) && (
   11599              : #line 4253 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11600              : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V8HFmode))) && 
   11601              : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11602              : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
   11603              :             return -1;
   11604              :           return 3240; /* reducepv8hf_mask */
   11605              : 
   11606              :         case E_V16SFmode:
   11607              :           if (pattern1221 (x2, 
   11608              : E_V16SFmode, 
   11609              : E_HImode) != 0
   11610              :               || !(
   11611              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11612              : (TARGET_AVX512F) && 
   11613              : #line 4253 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11614              : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V16SFmode)))))
   11615              :             return -1;
   11616              :           return 3244; /* reducepv16sf_mask */
   11617              : 
   11618              :         case E_V8SFmode:
   11619              :           if (pattern1221 (x2, 
   11620              : E_V8SFmode, 
   11621              : E_QImode) != 0
   11622              :               || !(
   11623              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11624              : (TARGET_AVX512F) && (
   11625              : #line 4253 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11626              : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V8SFmode))) && 
   11627              : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11628              : (TARGET_AVX512VL))))
   11629              :             return -1;
   11630              :           return 3248; /* reducepv8sf_mask */
   11631              : 
   11632              :         case E_V4SFmode:
   11633              :           if (pattern1221 (x2, 
   11634              : E_V4SFmode, 
   11635              : E_QImode) != 0
   11636              :               || !(
   11637              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11638              : (TARGET_AVX512F) && (
   11639              : #line 4253 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11640              : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V4SFmode))) && 
   11641              : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11642              : (TARGET_AVX512VL))))
   11643              :             return -1;
   11644              :           return 3252; /* reducepv4sf_mask */
   11645              : 
   11646              :         case E_V8DFmode:
   11647              :           if (pattern1221 (x2, 
   11648              : E_V8DFmode, 
   11649              : E_QImode) != 0
   11650              :               || !(
   11651              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11652              : (TARGET_AVX512F) && 
   11653              : #line 4253 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11654              : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V8DFmode)))))
   11655              :             return -1;
   11656              :           return 3256; /* reducepv8df_mask */
   11657              : 
   11658              :         case E_V4DFmode:
   11659              :           if (pattern1221 (x2, 
   11660              : E_V4DFmode, 
   11661              : E_QImode) != 0
   11662              :               || !(
   11663              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11664              : (TARGET_AVX512F) && (
   11665              : #line 4253 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11666              : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V4DFmode))) && 
   11667              : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11668              : (TARGET_AVX512VL))))
   11669              :             return -1;
   11670              :           return 3260; /* reducepv4df_mask */
   11671              : 
   11672              :         case E_V2DFmode:
   11673              :           if (pattern1221 (x2, 
   11674              : E_V2DFmode, 
   11675              : E_QImode) != 0
   11676              :               || !(
   11677              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11678              : (TARGET_AVX512F) && (
   11679              : #line 4253 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11680              : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V2DFmode))) && 
   11681              : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11682              : (TARGET_AVX512VL))))
   11683              :             return -1;
   11684              :           return 3264; /* reducepv2df_mask */
   11685              : 
   11686              :         default:
   11687              :           return -1;
   11688              :         }
   11689              : 
   11690              :     case 222:
   11691              :       switch (pattern463 (x2))
   11692              :         {
   11693              :         case 0:
   11694              :           if (!(
   11695              : #line 106 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11696              : (TARGET_AVX512F) && 
   11697              : #line 7665 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11698              : (TARGET_AVX512FP16 && 1)))
   11699              :             return -1;
   11700              :           return 4411; /* avx512bw_fmulc_v32hf_mask */
   11701              : 
   11702              :         case 1:
   11703              :           if (!(
   11704              : #line 106 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11705              : (TARGET_AVX512F) && (
   11706              : #line 7665 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11707              : (TARGET_AVX512FP16 && 1) && 
   11708              : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11709              : (TARGET_AVX512VL))))
   11710              :             return -1;
   11711              :           return 4419; /* avx512vl_fmulc_v16hf_mask */
   11712              : 
   11713              :         case 2:
   11714              :           if (!(
   11715              : #line 106 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11716              : (TARGET_AVX512F) && (
   11717              : #line 7665 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11718              : (TARGET_AVX512FP16 && 1) && 
   11719              : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11720              : (TARGET_AVX512VL))))
   11721              :             return -1;
   11722              :           return 4423; /* avx512fp16_fmulc_v8hf_mask */
   11723              : 
   11724              :         case 3:
   11725              :           if (!
   11726              : #line 7869 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11727              : (TARGET_AVX512FP16))
   11728              :             return -1;
   11729              :           return 4438; /* avx512fp16_fmulcsh_v8hf */
   11730              : 
   11731              :         default:
   11732              :           return -1;
   11733              :         }
   11734              : 
   11735              :     case 223:
   11736              :       switch (pattern463 (x2))
   11737              :         {
   11738              :         case 0:
   11739              :           if (!(
   11740              : #line 106 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11741              : (TARGET_AVX512F) && 
   11742              : #line 7665 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11743              : (TARGET_AVX512FP16 && 1)))
   11744              :             return -1;
   11745              :           return 4415; /* avx512bw_fcmulc_v32hf_mask */
   11746              : 
   11747              :         case 1:
   11748              :           if (!(
   11749              : #line 106 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11750              : (TARGET_AVX512F) && (
   11751              : #line 7665 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11752              : (TARGET_AVX512FP16 && 1) && 
   11753              : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11754              : (TARGET_AVX512VL))))
   11755              :             return -1;
   11756              :           return 4421; /* avx512vl_fcmulc_v16hf_mask */
   11757              : 
   11758              :         case 2:
   11759              :           if (!(
   11760              : #line 106 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11761              : (TARGET_AVX512F) && (
   11762              : #line 7665 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11763              : (TARGET_AVX512FP16 && 1) && 
   11764              : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11765              : (TARGET_AVX512VL))))
   11766              :             return -1;
   11767              :           return 4425; /* avx512fp16_fcmulc_v8hf_mask */
   11768              : 
   11769              :         case 3:
   11770              :           if (!
   11771              : #line 7869 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11772              : (TARGET_AVX512FP16))
   11773              :             return -1;
   11774              :           return 4442; /* avx512fp16_fcmulcsh_v8hf */
   11775              : 
   11776              :         default:
   11777              :           return -1;
   11778              :         }
   11779              : 
   11780              :     case 59:
   11781              :       return recog_134 (x1, insn, pnum_clobbers);
   11782              : 
   11783              :     case 166:
   11784              :       x7 = XEXP (x2, 2);
   11785              :       if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   11786              :         return -1;
   11787              :       x4 = XVECEXP (x3, 0, 0);
   11788              :       operands[1] = x4;
   11789              :       x5 = XVECEXP (x3, 0, 1);
   11790              :       operands[2] = x5;
   11791              :       switch (pattern460 (x2))
   11792              :         {
   11793              :         case 0:
   11794              :           if (!(
   11795              : #line 14370 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11796              : (TARGET_AVX512F) && 
   11797              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11798              : (TARGET_AVX512FP16)))
   11799              :             return -1;
   11800              :           return 7092; /* avx512f_sgetexpv8hf */
   11801              : 
   11802              :         case 1:
   11803              :           if (!
   11804              : #line 14370 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11805              : (TARGET_AVX512F))
   11806              :             return -1;
   11807              :           return 7096; /* avx512f_sgetexpv4sf */
   11808              : 
   11809              :         case 2:
   11810              :           if (!(
   11811              : #line 14370 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11812              : (TARGET_AVX512F) && 
   11813              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11814              : (TARGET_SSE2)))
   11815              :             return -1;
   11816              :           return 7100; /* avx512f_sgetexpv2df */
   11817              : 
   11818              :         default:
   11819              :           return -1;
   11820              :         }
   11821              : 
   11822              :     case 95:
   11823              :       return recog_133 (x1, insn, pnum_clobbers);
   11824              : 
   11825              :     case 189:
   11826              :       x4 = XVECEXP (x3, 0, 0);
   11827              :       operands[1] = x4;
   11828              :       x5 = XVECEXP (x3, 0, 1);
   11829              :       operands[2] = x5;
   11830              :       x6 = XEXP (x2, 1);
   11831              :       operands[3] = x6;
   11832              :       x7 = XEXP (x2, 2);
   11833              :       operands[4] = x7;
   11834              :       switch (GET_MODE (operands[0]))
   11835              :         {
   11836              :         case E_V16SImode:
   11837              :           if (pattern466 (x2, 
   11838              : E_HImode, 
   11839              : E_V16SImode, 
   11840              : E_V32HImode) != 0
   11841              :               || !(
   11842              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11843              : (TARGET_AVX512F) && (
   11844              : #line 16996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11845              : (TARGET_AVX512BW && (64 == 64 || TARGET_AVX512VL)) && 
   11846              : #line 646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11847              : (TARGET_AVX512BW))))
   11848              :             return -1;
   11849              :           return 7626; /* avx512bw_pmaddwd512v32hi_mask */
   11850              : 
   11851              :         case E_V8SImode:
   11852              :           if (pattern466 (x2, 
   11853              : E_QImode, 
   11854              : E_V8SImode, 
   11855              : E_V16HImode) != 0
   11856              :               || !(
   11857              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11858              : (TARGET_AVX512F) && (
   11859              : #line 16996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11860              : (TARGET_AVX512BW && (32 == 64 || TARGET_AVX512VL)) && 
   11861              : #line 646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11862              : (TARGET_AVX2))))
   11863              :             return -1;
   11864              :           return 7628; /* avx512bw_pmaddwd512v16hi_mask */
   11865              : 
   11866              :         case E_V4SImode:
   11867              :           if (pattern466 (x2, 
   11868              : E_QImode, 
   11869              : E_V4SImode, 
   11870              : E_V8HImode) != 0
   11871              :               || !(
   11872              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11873              : (TARGET_AVX512F) && 
   11874              : #line 16996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11875              : (TARGET_AVX512BW && (16 == 64 || TARGET_AVX512VL))))
   11876              :             return -1;
   11877              :           return 7630; /* avx512bw_pmaddwd512v8hi_mask */
   11878              : 
   11879              :         default:
   11880              :           return -1;
   11881              :         }
   11882              : 
   11883              :     case 58:
   11884              :       x4 = XVECEXP (x3, 0, 0);
   11885              :       operands[1] = x4;
   11886              :       x5 = XVECEXP (x3, 0, 1);
   11887              :       operands[2] = x5;
   11888              :       x6 = XEXP (x2, 1);
   11889              :       operands[3] = x6;
   11890              :       x7 = XEXP (x2, 2);
   11891              :       operands[4] = x7;
   11892              :       switch (GET_MODE (operands[0]))
   11893              :         {
   11894              :         case E_V64QImode:
   11895              :           if (pattern1116 (x2, 
   11896              : E_DImode, 
   11897              : E_V64QImode, 
   11898              : E_V32HImode) != 0
   11899              :               || !(
   11900              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11901              : (TARGET_AVX512F) && (
   11902              : #line 19714 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11903              : (TARGET_SSE2 && (64 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW) && 
   11904              : #line 626 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11905              : (TARGET_AVX512BW))))
   11906              :             return -1;
   11907              :           return 8359; /* avx512bw_packuswb_mask */
   11908              : 
   11909              :         case E_V32QImode:
   11910              :           if (pattern1116 (x2, 
   11911              : E_SImode, 
   11912              : E_V32QImode, 
   11913              : E_V16HImode) != 0
   11914              :               || !(
   11915              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11916              : (TARGET_AVX512F) && (
   11917              : #line 19714 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11918              : (TARGET_SSE2 && (32 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW) && 
   11919              : #line 626 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11920              : (TARGET_AVX2))))
   11921              :             return -1;
   11922              :           return 8361; /* avx2_packuswb_mask */
   11923              : 
   11924              :         case E_V16QImode:
   11925              :           if (pattern1116 (x2, 
   11926              : E_HImode, 
   11927              : E_V16QImode, 
   11928              : E_V8HImode) != 0
   11929              :               || !(
   11930              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11931              : (TARGET_AVX512F) && 
   11932              : #line 19714 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11933              : (TARGET_SSE2 && (16 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW)))
   11934              :             return -1;
   11935              :           return 8363; /* sse2_packuswb_mask */
   11936              : 
   11937              :         case E_V32HImode:
   11938              :           if (pattern1116 (x2, 
   11939              : E_SImode, 
   11940              : E_V32HImode, 
   11941              : E_V16SImode) != 0
   11942              :               || !(
   11943              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11944              : (TARGET_AVX512F) && (
   11945              : #line 24189 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11946              : (TARGET_SSE4_1 && (64 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW) && 
   11947              : #line 646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11948              : (TARGET_AVX512BW))))
   11949              :             return -1;
   11950              :           return 8774; /* avx512bw_packusdw_mask */
   11951              : 
   11952              :         case E_V16HImode:
   11953              :           if (pattern1116 (x2, 
   11954              : E_HImode, 
   11955              : E_V16HImode, 
   11956              : E_V8SImode) != 0
   11957              :               || !(
   11958              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11959              : (TARGET_AVX512F) && (
   11960              : #line 24189 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11961              : (TARGET_SSE4_1 && (32 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW) && 
   11962              : #line 646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11963              : (TARGET_AVX2))))
   11964              :             return -1;
   11965              :           return 8776; /* avx2_packusdw_mask */
   11966              : 
   11967              :         case E_V8HImode:
   11968              :           if (pattern1116 (x2, 
   11969              : E_QImode, 
   11970              : E_V8HImode, 
   11971              : E_V4SImode) != 0
   11972              :               || !(
   11973              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11974              : (TARGET_AVX512F) && 
   11975              : #line 24189 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11976              : (TARGET_SSE4_1 && (16 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW)))
   11977              :             return -1;
   11978              :           return 8778; /* sse4_1_packusdw_mask */
   11979              : 
   11980              :         default:
   11981              :           return -1;
   11982              :         }
   11983              : 
   11984              :     case 191:
   11985              :       if (pattern464 (x2) != 0
   11986              :           || !(
   11987              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11988              : (TARGET_AVX512F) && 
   11989              : #line 21053 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11990              : (TARGET_AVX512BW)))
   11991              :         return -1;
   11992              :       return 8489; /* avx512bw_pshuflwv32hi_mask */
   11993              : 
   11994              :     case 190:
   11995              :       if (pattern464 (x2) != 0
   11996              :           || !(
   11997              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11998              : (TARGET_AVX512F) && 
   11999              : #line 21229 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12000              : (TARGET_AVX512BW)))
   12001              :         return -1;
   12002              :       return 8495; /* avx512bw_pshufhwv32hi_mask */
   12003              : 
   12004              :     case 188:
   12005              :       x4 = XVECEXP (x3, 0, 0);
   12006              :       operands[1] = x4;
   12007              :       x5 = XVECEXP (x3, 0, 1);
   12008              :       operands[2] = x5;
   12009              :       x6 = XEXP (x2, 1);
   12010              :       operands[3] = x6;
   12011              :       x7 = XEXP (x2, 2);
   12012              :       operands[4] = x7;
   12013              :       switch (GET_MODE (operands[0]))
   12014              :         {
   12015              :         case E_V8HImode:
   12016              :           if (pattern466 (x2, 
   12017              : E_QImode, 
   12018              : E_V8HImode, 
   12019              : E_V16QImode) != 0
   12020              :               || !(
   12021              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12022              : (TARGET_AVX512F) && (
   12023              : #line 23147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12024              : (TARGET_AVX512BW) && 
   12025              : #line 679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12026              : (TARGET_AVX512VL))))
   12027              :             return -1;
   12028              :           return 8652; /* avx512bw_pmaddubsw512v8hi_mask */
   12029              : 
   12030              :         case E_V16HImode:
   12031              :           if (pattern466 (x2, 
   12032              : E_HImode, 
   12033              : E_V16HImode, 
   12034              : E_V32QImode) != 0
   12035              :               || !(
   12036              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12037              : (TARGET_AVX512F) && (
   12038              : #line 23147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12039              : (TARGET_AVX512BW) && 
   12040              : #line 679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12041              : (TARGET_AVX512VL))))
   12042              :             return -1;
   12043              :           return 8654; /* avx512bw_pmaddubsw512v16hi_mask */
   12044              : 
   12045              :         case E_V32HImode:
   12046              :           if (pattern466 (x2, 
   12047              : E_SImode, 
   12048              : E_V32HImode, 
   12049              : E_V64QImode) != 0
   12050              :               || !(
   12051              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12052              : (TARGET_AVX512F) && 
   12053              : #line 23147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12054              : (TARGET_AVX512BW)))
   12055              :             return -1;
   12056              :           return 8656; /* avx512bw_pmaddubsw512v32hi_mask */
   12057              : 
   12058              :         default:
   12059              :           return -1;
   12060              :         }
   12061              : 
   12062              :     case 53:
   12063              :       switch (pattern465 (x2))
   12064              :         {
   12065              :         case 0:
   12066              :           if (!(
   12067              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12068              : (TARGET_AVX512F) && (
   12069              : #line 23472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12070              : (TARGET_SSSE3 && (64 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW) && 
   12071              : #line 626 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12072              : (TARGET_AVX512BW))))
   12073              :             return -1;
   12074              :           return 8670; /* avx512bw_pshufbv64qi3_mask */
   12075              : 
   12076              :         case 1:
   12077              :           if (!(
   12078              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12079              : (TARGET_AVX512F) && (
   12080              : #line 23472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12081              : (TARGET_SSSE3 && (32 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW) && 
   12082              : #line 626 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12083              : (TARGET_AVX2))))
   12084              :             return -1;
   12085              :           return 8672; /* avx2_pshufbv32qi3_mask */
   12086              : 
   12087              :         case 2:
   12088              :           if (!(
   12089              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12090              : (TARGET_AVX512F) && 
   12091              : #line 23472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12092              : (TARGET_SSSE3 && (16 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW)))
   12093              :             return -1;
   12094              :           return 8674; /* ssse3_pshufbv16qi3_mask */
   12095              : 
   12096              :         default:
   12097              :           return -1;
   12098              :         }
   12099              : 
   12100              :     case 152:
   12101              :       return recog_132 (x1, insn, pnum_clobbers);
   12102              : 
   12103              :     case 145:
   12104              :       x4 = XVECEXP (x3, 0, 0);
   12105              :       operands[1] = x4;
   12106              :       x5 = XVECEXP (x3, 0, 1);
   12107              :       operands[2] = x5;
   12108              :       x6 = XEXP (x2, 1);
   12109              :       operands[3] = x6;
   12110              :       x7 = XEXP (x2, 2);
   12111              :       operands[4] = x7;
   12112              :       switch (GET_MODE (operands[0]))
   12113              :         {
   12114              :         case E_V16SFmode:
   12115              :           if (pattern1119 (x2, 
   12116              : E_V16SFmode, 
   12117              : E_V16SImode, 
   12118              : E_HImode) != 0
   12119              :               || !(
   12120              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12121              : (TARGET_AVX512F) && (
   12122              : #line 28825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12123              : (TARGET_AVX && (64 == 64 || TARGET_AVX512VL)) && 
   12124              : #line 382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12125              : (TARGET_AVX512F))))
   12126              :             return -1;
   12127              :           return 9427; /* avx512f_vpermilvarv16sf3_mask */
   12128              : 
   12129              :         case E_V8SFmode:
   12130              :           if (pattern1119 (x2, 
   12131              : E_V8SFmode, 
   12132              : E_V8SImode, 
   12133              : E_QImode) != 0
   12134              :               || !(
   12135              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12136              : (TARGET_AVX512F) && (
   12137              : #line 28825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12138              : (TARGET_AVX && (32 == 64 || TARGET_AVX512VL)) && 
   12139              : #line 382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12140              : (TARGET_AVX))))
   12141              :             return -1;
   12142              :           return 9429; /* avx_vpermilvarv8sf3_mask */
   12143              : 
   12144              :         case E_V4SFmode:
   12145              :           if (pattern1119 (x2, 
   12146              : E_V4SFmode, 
   12147              : E_V4SImode, 
   12148              : E_QImode) != 0
   12149              :               || !(
   12150              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12151              : (TARGET_AVX512F) && 
   12152              : #line 28825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12153              : (TARGET_AVX && (16 == 64 || TARGET_AVX512VL))))
   12154              :             return -1;
   12155              :           return 9431; /* avx_vpermilvarv4sf3_mask */
   12156              : 
   12157              :         case E_V8DFmode:
   12158              :           if (pattern1119 (x2, 
   12159              : E_V8DFmode, 
   12160              : E_V8DImode, 
   12161              : E_QImode) != 0
   12162              :               || !(
   12163              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12164              : (TARGET_AVX512F) && (
   12165              : #line 28825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12166              : (TARGET_AVX && (64 == 64 || TARGET_AVX512VL)) && 
   12167              : #line 383 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12168              : (TARGET_AVX512F))))
   12169              :             return -1;
   12170              :           return 9433; /* avx512f_vpermilvarv8df3_mask */
   12171              : 
   12172              :         case E_V4DFmode:
   12173              :           if (pattern1119 (x2, 
   12174              : E_V4DFmode, 
   12175              : E_V4DImode, 
   12176              : E_QImode) != 0
   12177              :               || !(
   12178              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12179              : (TARGET_AVX512F) && (
   12180              : #line 28825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12181              : (TARGET_AVX && (32 == 64 || TARGET_AVX512VL)) && 
   12182              : #line 383 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12183              : (TARGET_AVX))))
   12184              :             return -1;
   12185              :           return 9435; /* avx_vpermilvarv4df3_mask */
   12186              : 
   12187              :         case E_V2DFmode:
   12188              :           if (pattern1119 (x2, 
   12189              : E_V2DFmode, 
   12190              : E_V2DImode, 
   12191              : E_QImode) != 0
   12192              :               || !(
   12193              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12194              : (TARGET_AVX512F) && (
   12195              : #line 28825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12196              : (TARGET_AVX && (16 == 64 || TARGET_AVX512VL)) && 
   12197              : #line 384 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12198              : (TARGET_SSE2))))
   12199              :             return -1;
   12200              :           return 9437; /* avx_vpermilvarv2df3_mask */
   12201              : 
   12202              :         default:
   12203              :           return -1;
   12204              :         }
   12205              : 
   12206              :     case 151:
   12207              :       x4 = XVECEXP (x3, 0, 0);
   12208              :       operands[1] = x4;
   12209              :       x5 = XVECEXP (x3, 0, 1);
   12210              :       operands[2] = x5;
   12211              :       if (!const_0_to_255_operand (operands[2], E_SImode))
   12212              :         return -1;
   12213              :       switch (GET_MODE (operands[0]))
   12214              :         {
   12215              :         case E_V8HImode:
   12216              :           if (pattern1005 (x2, 
   12217              : E_QImode, 
   12218              : E_V8SFmode, 
   12219              : E_V8HImode) != 0)
   12220              :             return -1;
   12221              :           x7 = XEXP (x2, 2);
   12222              :           operands[4] = x7;
   12223              :           if (register_operand (operands[0], E_V8HImode))
   12224              :             {
   12225              :               x6 = XEXP (x2, 1);
   12226              :               operands[3] = x6;
   12227              :               if (nonimm_or_0_operand (operands[3], E_V8HImode)
   12228              :                   && (
   12229              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12230              : (TARGET_AVX512F) && 
   12231              : #line 29868 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12232              : (TARGET_F16C || TARGET_AVX512VL)))
   12233              :                 return 9735; /* vcvtps2ph256_mask */
   12234              :             }
   12235              :           operands[3] = x7;
   12236              :           if (!memory_operand (operands[0], E_V8HImode))
   12237              :             return -1;
   12238              :           x6 = XEXP (x2, 1);
   12239              :           if (!rtx_equal_p (x6, operands[0])
   12240              :               || !(
   12241              : #line 96 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12242              : (TARGET_AVX512F) && 
   12243              : #line 29880 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12244              : (TARGET_F16C || TARGET_AVX512VL)))
   12245              :             return -1;
   12246              :           return 9737; /* *vcvtps2ph256_merge_mask */
   12247              : 
   12248              :         case E_V16HImode:
   12249              :           if (pattern1005 (x2, 
   12250              : E_HImode, 
   12251              : E_V16SFmode, 
   12252              : E_V16HImode) != 0)
   12253              :             return -1;
   12254              :           x7 = XEXP (x2, 2);
   12255              :           operands[4] = x7;
   12256              :           if (register_operand (operands[0], E_V16HImode))
   12257              :             {
   12258              :               x6 = XEXP (x2, 1);
   12259              :               operands[3] = x6;
   12260              :               if (nonimm_or_0_operand (operands[3], E_V16HImode)
   12261              :                   && 
   12262              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12263              : (TARGET_AVX512F))
   12264              :                 return 9740; /* avx512f_vcvtps2ph512_mask */
   12265              :             }
   12266              :           operands[3] = x7;
   12267              :           if (!memory_operand (operands[0], E_V16HImode))
   12268              :             return -1;
   12269              :           x6 = XEXP (x2, 1);
   12270              :           if (!rtx_equal_p (x6, operands[0])
   12271              :               || !
   12272              : #line 96 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12273              : (TARGET_AVX512F))
   12274              :             return -1;
   12275              :           return 9743; /* *avx512f_vcvtps2ph512_merge_mask */
   12276              : 
   12277              :         default:
   12278              :           return -1;
   12279              :         }
   12280              : 
   12281              :     case 167:
   12282              :       return recog_135 (x1, insn, pnum_clobbers);
   12283              : 
   12284              :     case 198:
   12285              :       x4 = XVECEXP (x3, 0, 0);
   12286              :       operands[1] = x4;
   12287              :       x5 = XVECEXP (x3, 0, 1);
   12288              :       operands[2] = x5;
   12289              :       x6 = XEXP (x2, 1);
   12290              :       operands[3] = x6;
   12291              :       x7 = XEXP (x2, 2);
   12292              :       operands[4] = x7;
   12293              :       switch (GET_MODE (operands[0]))
   12294              :         {
   12295              :         case E_V64QImode:
   12296              :           if (pattern1120 (x2, 
   12297              : E_V64QImode, 
   12298              : E_DImode) != 0
   12299              :               || !(
   12300              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12301              : (TARGET_AVX512F) && 
   12302              : #line 30971 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12303              : (TARGET_AVX512VBMI)))
   12304              :             return -1;
   12305              :           return 10202; /* vpmultishiftqbv64qi_mask */
   12306              : 
   12307              :         case E_V16QImode:
   12308              :           if (pattern1120 (x2, 
   12309              : E_V16QImode, 
   12310              : E_HImode) != 0
   12311              :               || !(
   12312              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12313              : (TARGET_AVX512F) && (
   12314              : #line 30971 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12315              : (TARGET_AVX512VBMI) && 
   12316              : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12317              : (TARGET_AVX512VL))))
   12318              :             return -1;
   12319              :           return 10204; /* vpmultishiftqbv16qi_mask */
   12320              : 
   12321              :         case E_V32QImode:
   12322              :           if (pattern1120 (x2, 
   12323              : E_V32QImode, 
   12324              : E_SImode) != 0
   12325              :               || !(
   12326              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12327              : (TARGET_AVX512F) && (
   12328              : #line 30971 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12329              : (TARGET_AVX512VBMI) && 
   12330              : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12331              : (TARGET_AVX512VL))))
   12332              :             return -1;
   12333              :           return 10206; /* vpmultishiftqbv32qi_mask */
   12334              : 
   12335              :         default:
   12336              :           return -1;
   12337              :         }
   12338              : 
   12339              :     case 201:
   12340              :       switch (pattern465 (x2))
   12341              :         {
   12342              :         case 0:
   12343              :           if (!(
   12344              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12345              : (TARGET_AVX512F) && (
   12346              : #line 31080 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12347              : (TARGET_GFNI) && 
   12348              : #line 629 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12349              : (TARGET_AVX512F))))
   12350              :             return -1;
   12351              :           return 10252; /* vgf2p8mulb_v64qi_mask */
   12352              : 
   12353              :         case 1:
   12354              :           if (!(
   12355              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12356              : (TARGET_AVX512F) && (
   12357              : #line 31080 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12358              : (TARGET_GFNI) && 
   12359              : #line 629 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12360              : (TARGET_AVX))))
   12361              :             return -1;
   12362              :           return 10254; /* vgf2p8mulb_v32qi_mask */
   12363              : 
   12364              :         case 2:
   12365              :           if (!(
   12366              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12367              : (TARGET_AVX512F) && 
   12368              : #line 31080 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12369              : (TARGET_GFNI)))
   12370              :             return -1;
   12371              :           return 10256; /* vgf2p8mulb_v16qi_mask */
   12372              : 
   12373              :         default:
   12374              :           return -1;
   12375              :         }
   12376              : 
   12377              :     case 250:
   12378              :       switch (pattern467 (x2))
   12379              :         {
   12380              :         case 0:
   12381              :           if (!(
   12382              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12383              : (TARGET_AVX512F) && 
   12384              : #line 32446 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12385              : (TARGET_AVX10_2)))
   12386              :             return -1;
   12387              :           return 10520; /* vcvt2ph2bf8v32hf_mask */
   12388              : 
   12389              :         case 1:
   12390              :           if (!(
   12391              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12392              : (TARGET_AVX512F) && (
   12393              : #line 32446 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12394              : (TARGET_AVX10_2) && 
   12395              : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12396              : (TARGET_AVX512VL))))
   12397              :             return -1;
   12398              :           return 10528; /* vcvt2ph2bf8v16hf_mask */
   12399              : 
   12400              :         case 2:
   12401              :           if (!(
   12402              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12403              : (TARGET_AVX512F) && (
   12404              : #line 32446 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12405              : (TARGET_AVX10_2) && 
   12406              : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12407              : (TARGET_AVX512VL))))
   12408              :             return -1;
   12409              :           return 10536; /* vcvt2ph2bf8v8hf_mask */
   12410              : 
   12411              :         default:
   12412              :           return -1;
   12413              :         }
   12414              : 
   12415              :     case 251:
   12416              :       switch (pattern467 (x2))
   12417              :         {
   12418              :         case 0:
   12419              :           if (!(
   12420              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12421              : (TARGET_AVX512F) && 
   12422              : #line 32446 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12423              : (TARGET_AVX10_2)))
   12424              :             return -1;
   12425              :           return 10522; /* vcvt2ph2bf8sv32hf_mask */
   12426              : 
   12427              :         case 1:
   12428              :           if (!(
   12429              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12430              : (TARGET_AVX512F) && (
   12431              : #line 32446 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12432              : (TARGET_AVX10_2) && 
   12433              : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12434              : (TARGET_AVX512VL))))
   12435              :             return -1;
   12436              :           return 10530; /* vcvt2ph2bf8sv16hf_mask */
   12437              : 
   12438              :         case 2:
   12439              :           if (!(
   12440              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12441              : (TARGET_AVX512F) && (
   12442              : #line 32446 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12443              : (TARGET_AVX10_2) && 
   12444              : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12445              : (TARGET_AVX512VL))))
   12446              :             return -1;
   12447              :           return 10538; /* vcvt2ph2bf8sv8hf_mask */
   12448              : 
   12449              :         default:
   12450              :           return -1;
   12451              :         }
   12452              : 
   12453              :     case 252:
   12454              :       switch (pattern467 (x2))
   12455              :         {
   12456              :         case 0:
   12457              :           if (!(
   12458              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12459              : (TARGET_AVX512F) && 
   12460              : #line 32446 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12461              : (TARGET_AVX10_2)))
   12462              :             return -1;
   12463              :           return 10524; /* vcvt2ph2hf8v32hf_mask */
   12464              : 
   12465              :         case 1:
   12466              :           if (!(
   12467              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12468              : (TARGET_AVX512F) && (
   12469              : #line 32446 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12470              : (TARGET_AVX10_2) && 
   12471              : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12472              : (TARGET_AVX512VL))))
   12473              :             return -1;
   12474              :           return 10532; /* vcvt2ph2hf8v16hf_mask */
   12475              : 
   12476              :         case 2:
   12477              :           if (!(
   12478              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12479              : (TARGET_AVX512F) && (
   12480              : #line 32446 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12481              : (TARGET_AVX10_2) && 
   12482              : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12483              : (TARGET_AVX512VL))))
   12484              :             return -1;
   12485              :           return 10540; /* vcvt2ph2hf8v8hf_mask */
   12486              : 
   12487              :         default:
   12488              :           return -1;
   12489              :         }
   12490              : 
   12491              :     case 253:
   12492              :       switch (pattern467 (x2))
   12493              :         {
   12494              :         case 0:
   12495              :           if (!(
   12496              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12497              : (TARGET_AVX512F) && 
   12498              : #line 32446 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12499              : (TARGET_AVX10_2)))
   12500              :             return -1;
   12501              :           return 10526; /* vcvt2ph2hf8sv32hf_mask */
   12502              : 
   12503              :         case 1:
   12504              :           if (!(
   12505              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12506              : (TARGET_AVX512F) && (
   12507              : #line 32446 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12508              : (TARGET_AVX10_2) && 
   12509              : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12510              : (TARGET_AVX512VL))))
   12511              :             return -1;
   12512              :           return 10534; /* vcvt2ph2hf8sv16hf_mask */
   12513              : 
   12514              :         case 2:
   12515              :           if (!(
   12516              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12517              : (TARGET_AVX512F) && (
   12518              : #line 32446 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12519              : (TARGET_AVX10_2) && 
   12520              : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12521              : (TARGET_AVX512VL))))
   12522              :             return -1;
   12523              :           return 10542; /* vcvt2ph2hf8sv8hf_mask */
   12524              : 
   12525              :         default:
   12526              :           return -1;
   12527              :         }
   12528              : 
   12529              :     case 246:
   12530              :       switch (pattern469 (x2))
   12531              :         {
   12532              :         case 0:
   12533              :           if (!(
   12534              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12535              : (TARGET_AVX512F) && 
   12536              : #line 32535 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12537              : (TARGET_AVX10_2)))
   12538              :             return -1;
   12539              :           return 10552; /* vcvtbiasph2bf8v32hf_mask */
   12540              : 
   12541              :         case 1:
   12542              :           if (!(
   12543              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12544              : (TARGET_AVX512F) && 
   12545              : #line 32535 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12546              : (TARGET_AVX10_2)))
   12547              :             return -1;
   12548              :           return 10560; /* vcvtbiasph2bf8v16hf_mask */
   12549              : 
   12550              :         default:
   12551              :           return -1;
   12552              :         }
   12553              : 
   12554              :     case 247:
   12555              :       switch (pattern469 (x2))
   12556              :         {
   12557              :         case 0:
   12558              :           if (!(
   12559              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12560              : (TARGET_AVX512F) && 
   12561              : #line 32535 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12562              : (TARGET_AVX10_2)))
   12563              :             return -1;
   12564              :           return 10554; /* vcvtbiasph2bf8sv32hf_mask */
   12565              : 
   12566              :         case 1:
   12567              :           if (!(
   12568              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12569              : (TARGET_AVX512F) && 
   12570              : #line 32535 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12571              : (TARGET_AVX10_2)))
   12572              :             return -1;
   12573              :           return 10562; /* vcvtbiasph2bf8sv16hf_mask */
   12574              : 
   12575              :         default:
   12576              :           return -1;
   12577              :         }
   12578              : 
   12579              :     case 248:
   12580              :       switch (pattern469 (x2))
   12581              :         {
   12582              :         case 0:
   12583              :           if (!(
   12584              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12585              : (TARGET_AVX512F) && 
   12586              : #line 32535 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12587              : (TARGET_AVX10_2)))
   12588              :             return -1;
   12589              :           return 10556; /* vcvtbiasph2hf8v32hf_mask */
   12590              : 
   12591              :         case 1:
   12592              :           if (!(
   12593              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12594              : (TARGET_AVX512F) && 
   12595              : #line 32535 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12596              : (TARGET_AVX10_2)))
   12597              :             return -1;
   12598              :           return 10564; /* vcvtbiasph2hf8v16hf_mask */
   12599              : 
   12600              :         default:
   12601              :           return -1;
   12602              :         }
   12603              : 
   12604              :     case 249:
   12605              :       switch (pattern469 (x2))
   12606              :         {
   12607              :         case 0:
   12608              :           if (!(
   12609              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12610              : (TARGET_AVX512F) && 
   12611              : #line 32535 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12612              : (TARGET_AVX10_2)))
   12613              :             return -1;
   12614              :           return 10558; /* vcvtbiasph2hf8sv32hf_mask */
   12615              : 
   12616              :         case 1:
   12617              :           if (!(
   12618              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12619              : (TARGET_AVX512F) && 
   12620              : #line 32535 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12621              : (TARGET_AVX10_2)))
   12622              :             return -1;
   12623              :           return 10566; /* vcvtbiasph2hf8sv16hf_mask */
   12624              : 
   12625              :         default:
   12626              :           return -1;
   12627              :         }
   12628              : 
   12629              :     case 259:
   12630              :       x4 = XVECEXP (x3, 0, 0);
   12631              :       operands[1] = x4;
   12632              :       x5 = XVECEXP (x3, 0, 1);
   12633              :       operands[2] = x5;
   12634              :       x6 = XEXP (x2, 1);
   12635              :       operands[3] = x6;
   12636              :       x7 = XEXP (x2, 2);
   12637              :       operands[4] = x7;
   12638              :       switch (GET_MODE (operands[0]))
   12639              :         {
   12640              :         case E_V32BFmode:
   12641              :           if (pattern1120 (x2, 
   12642              : E_V32BFmode, 
   12643              : E_SImode) != 0
   12644              :               || !(
   12645              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12646              : (TARGET_AVX512F) && 
   12647              : #line 32802 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12648              : (TARGET_AVX10_2)))
   12649              :             return -1;
   12650              :           return 10661; /* avx10_2_scalefbf16_v32bf_mask */
   12651              : 
   12652              :         case E_V16BFmode:
   12653              :           if (pattern1120 (x2, 
   12654              : E_V16BFmode, 
   12655              : E_HImode) != 0
   12656              :               || !(
   12657              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12658              : (TARGET_AVX512F) && 
   12659              : #line 32802 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12660              : (TARGET_AVX10_2)))
   12661              :             return -1;
   12662              :           return 10663; /* avx10_2_scalefbf16_v16bf_mask */
   12663              : 
   12664              :         case E_V8BFmode:
   12665              :           if (pattern1120 (x2, 
   12666              : E_V8BFmode, 
   12667              : E_QImode) != 0
   12668              :               || !(
   12669              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12670              : (TARGET_AVX512F) && 
   12671              : #line 32802 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12672              : (TARGET_AVX10_2)))
   12673              :             return -1;
   12674              :           return 10665; /* avx10_2_scalefbf16_v8bf_mask */
   12675              : 
   12676              :         default:
   12677              :           return -1;
   12678              :         }
   12679              : 
   12680              :     case 260:
   12681              :       switch (pattern471 (x2))
   12682              :         {
   12683              :         case 0:
   12684              :           if (!(
   12685              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12686              : (TARGET_AVX512F) && 
   12687              : #line 33143 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12688              : (TARGET_AVX10_2)))
   12689              :             return -1;
   12690              :           return 10775; /* avx10_2_rndscalebf16_v32bf_mask */
   12691              : 
   12692              :         case 1:
   12693              :           if (!(
   12694              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12695              : (TARGET_AVX512F) && 
   12696              : #line 33143 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12697              : (TARGET_AVX10_2)))
   12698              :             return -1;
   12699              :           return 10781; /* avx10_2_rndscalebf16_v16bf_mask */
   12700              : 
   12701              :         case 2:
   12702              :           if (!(
   12703              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12704              : (TARGET_AVX512F) && 
   12705              : #line 33143 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12706              : (TARGET_AVX10_2)))
   12707              :             return -1;
   12708              :           return 10787; /* avx10_2_rndscalebf16_v8bf_mask */
   12709              : 
   12710              :         default:
   12711              :           return -1;
   12712              :         }
   12713              : 
   12714              :     case 261:
   12715              :       switch (pattern471 (x2))
   12716              :         {
   12717              :         case 0:
   12718              :           if (!(
   12719              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12720              : (TARGET_AVX512F) && 
   12721              : #line 33143 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12722              : (TARGET_AVX10_2)))
   12723              :             return -1;
   12724              :           return 10777; /* avx10_2_reducebf16_v32bf_mask */
   12725              : 
   12726              :         case 1:
   12727              :           if (!(
   12728              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12729              : (TARGET_AVX512F) && 
   12730              : #line 33143 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12731              : (TARGET_AVX10_2)))
   12732              :             return -1;
   12733              :           return 10783; /* avx10_2_reducebf16_v16bf_mask */
   12734              : 
   12735              :         case 2:
   12736              :           if (!(
   12737              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12738              : (TARGET_AVX512F) && 
   12739              : #line 33143 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12740              : (TARGET_AVX10_2)))
   12741              :             return -1;
   12742              :           return 10789; /* avx10_2_reducebf16_v8bf_mask */
   12743              : 
   12744              :         default:
   12745              :           return -1;
   12746              :         }
   12747              : 
   12748              :     case 262:
   12749              :       switch (pattern471 (x2))
   12750              :         {
   12751              :         case 0:
   12752              :           if (!(
   12753              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12754              : (TARGET_AVX512F) && 
   12755              : #line 33143 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12756              : (TARGET_AVX10_2)))
   12757              :             return -1;
   12758              :           return 10779; /* avx10_2_getmantbf16_v32bf_mask */
   12759              : 
   12760              :         case 1:
   12761              :           if (!(
   12762              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12763              : (TARGET_AVX512F) && 
   12764              : #line 33143 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12765              : (TARGET_AVX10_2)))
   12766              :             return -1;
   12767              :           return 10785; /* avx10_2_getmantbf16_v16bf_mask */
   12768              : 
   12769              :         case 2:
   12770              :           if (!(
   12771              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12772              : (TARGET_AVX512F) && 
   12773              : #line 33143 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12774              : (TARGET_AVX10_2)))
   12775              :             return -1;
   12776              :           return 10791; /* avx10_2_getmantbf16_v8bf_mask */
   12777              : 
   12778              :         default:
   12779              :           return -1;
   12780              :         }
   12781              : 
   12782              :     default:
   12783              :       return -1;
   12784              :     }
   12785              : }
   12786              : 
   12787              :  int
   12788              : recog_185 (rtx x1 ATTRIBUTE_UNUSED,
   12789              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   12790              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   12791              : {
   12792              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   12793              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   12794              :   rtx x10, x11, x12, x13, x14, x15;
   12795              :   int res ATTRIBUTE_UNUSED;
   12796              :   x2 = XEXP (x1, 1);
   12797              :   x3 = XEXP (x2, 0);
   12798              :   x4 = XEXP (x3, 0);
   12799              :   switch (GET_CODE (x4))
   12800              :     {
   12801              :     case REG:
   12802              :     case SUBREG:
   12803              :       x5 = XEXP (x3, 1);
   12804              :       switch (GET_CODE (x5))
   12805              :         {
   12806              :         case CONST_INT:
   12807              :         case CONST_DOUBLE:
   12808              :         case CONST_VECTOR:
   12809              :         case REG:
   12810              :         case SUBREG:
   12811              :         case MEM:
   12812              :           operands[3] = x5;
   12813              :           x6 = XEXP (x2, 2);
   12814              :           if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   12815              :             return -1;
   12816              :           operands[2] = x4;
   12817              :           x7 = XEXP (x3, 2);
   12818              :           operands[4] = x7;
   12819              :           if (!register_operand (operands[4], E_QImode))
   12820              :             return -1;
   12821              :           x8 = XEXP (x2, 1);
   12822              :           operands[1] = x8;
   12823              :           switch (GET_MODE (operands[0]))
   12824              :             {
   12825              :             case E_V8HFmode:
   12826              :               if (pattern1286 (x2, 
   12827              : E_V8HFmode) != 0
   12828              :                   || !(
   12829              : #line 1717 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12830              : (TARGET_AVX512F) && 
   12831              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12832              : (TARGET_AVX512FP16)))
   12833              :                 return -1;
   12834              :               return 2560; /* avx512f_movhf_mask */
   12835              : 
   12836              :             case E_V4SFmode:
   12837              :               if (pattern1286 (x2, 
   12838              : E_V4SFmode) != 0
   12839              :                   || !
   12840              : #line 1717 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12841              : (TARGET_AVX512F))
   12842              :                 return -1;
   12843              :               return 2561; /* avx512f_movsf_mask */
   12844              : 
   12845              :             case E_V2DFmode:
   12846              :               if (pattern1286 (x2, 
   12847              : E_V2DFmode) != 0
   12848              :                   || !(
   12849              : #line 1717 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12850              : (TARGET_AVX512F) && 
   12851              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12852              : (TARGET_SSE2)))
   12853              :                 return -1;
   12854              :               return 2562; /* avx512f_movdf_mask */
   12855              : 
   12856              :             default:
   12857              :               return -1;
   12858              :             }
   12859              : 
   12860              :         case VEC_DUPLICATE:
   12861              :           operands[1] = x4;
   12862              :           x9 = XEXP (x5, 0);
   12863              :           operands[2] = x9;
   12864              :           x7 = XEXP (x3, 2);
   12865              :           operands[3] = x7;
   12866              :           if (!const_int_operand (operands[3], E_SImode))
   12867              :             return -1;
   12868              :           x8 = XEXP (x2, 1);
   12869              :           operands[4] = x8;
   12870              :           x6 = XEXP (x2, 2);
   12871              :           operands[5] = x6;
   12872              :           switch (GET_MODE (operands[0]))
   12873              :             {
   12874              :             case E_V8DFmode:
   12875              :               if (pattern1287 (x2, 
   12876              : E_V8DFmode, 
   12877              : E_V2DFmode, 
   12878              : E_QImode) != 0
   12879              :                   || !(
   12880              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12881              : (TARGET_AVX512F) && (
   12882              : #line 20377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12883              : (TARGET_AVX512F) && 
   12884              : #line 12722 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12885              : (TARGET_AVX512DQ))))
   12886              :                 return -1;
   12887              :               return 8435; /* avx512dq_vinsertf64x2_1_mask */
   12888              : 
   12889              :             case E_V8DImode:
   12890              :               if (pattern1287 (x2, 
   12891              : E_V8DImode, 
   12892              : E_V2DImode, 
   12893              : E_QImode) != 0
   12894              :                   || !(
   12895              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12896              : (TARGET_AVX512F) && (
   12897              : #line 20377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12898              : (TARGET_AVX512F) && 
   12899              : #line 12722 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12900              : (TARGET_AVX512DQ))))
   12901              :                 return -1;
   12902              :               return 8437; /* avx512dq_vinserti64x2_1_mask */
   12903              : 
   12904              :             case E_V16SFmode:
   12905              :               if (pattern1287 (x2, 
   12906              : E_V16SFmode, 
   12907              : E_V4SFmode, 
   12908              : E_HImode) != 0
   12909              :                   || !
   12910              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12911              : (TARGET_AVX512F))
   12912              :                 return -1;
   12913              :               return 8439; /* avx512f_vinsertf32x4_1_mask */
   12914              : 
   12915              :             case E_V16SImode:
   12916              :               if (pattern1287 (x2, 
   12917              : E_V16SImode, 
   12918              : E_V4SImode, 
   12919              : E_HImode) != 0
   12920              :                   || !
   12921              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12922              : (TARGET_AVX512F))
   12923              :                 return -1;
   12924              :               return 8441; /* avx512f_vinserti32x4_1_mask */
   12925              : 
   12926              :             default:
   12927              :               return -1;
   12928              :             }
   12929              : 
   12930              :         default:
   12931              :           return -1;
   12932              :         }
   12933              : 
   12934              :     case VEC_DUPLICATE:
   12935              :       x10 = XEXP (x4, 0);
   12936              :       switch (GET_CODE (x10))
   12937              :         {
   12938              :         case SUBREG:
   12939              :         case MEM:
   12940              :           operands[1] = x10;
   12941              :           x6 = XEXP (x2, 2);
   12942              :           if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   12943              :             return -1;
   12944              :           x5 = XEXP (x3, 1);
   12945              :           operands[2] = x5;
   12946              :           x7 = XEXP (x3, 2);
   12947              :           operands[3] = x7;
   12948              :           if (!register_operand (operands[3], E_QImode))
   12949              :             return -1;
   12950              :           x8 = XEXP (x2, 1);
   12951              :           operands[4] = x8;
   12952              :           switch (GET_MODE (operands[0]))
   12953              :             {
   12954              :             case E_V8HFmode:
   12955              :               if (pattern1288 (x2, 
   12956              : E_V8HFmode, 
   12957              : E_HFmode) != 0
   12958              :                   || !(
   12959              : #line 1746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12960              : (TARGET_AVX512F) && 
   12961              : #line 1356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   12962              : (TARGET_AVX512FP16)))
   12963              :                 return -1;
   12964              :               return 2563; /* *avx512f_loadhf_mask */
   12965              : 
   12966              :             case E_V4SFmode:
   12967              :               if (pattern1288 (x2, 
   12968              : E_V4SFmode, 
   12969              : E_SFmode) != 0
   12970              :                   || !
   12971              : #line 1746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12972              : (TARGET_AVX512F))
   12973              :                 return -1;
   12974              :               return 2564; /* *avx512f_loadsf_mask */
   12975              : 
   12976              :             case E_V2DFmode:
   12977              :               if (pattern1288 (x2, 
   12978              : E_V2DFmode, 
   12979              : E_DFmode) != 0
   12980              :                   || !
   12981              : #line 1746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12982              : (TARGET_AVX512F))
   12983              :                 return -1;
   12984              :               return 2565; /* *avx512f_loaddf_mask */
   12985              : 
   12986              :             default:
   12987              :               return -1;
   12988              :             }
   12989              : 
   12990              :         case SQRT:
   12991              :           x6 = XEXP (x2, 2);
   12992              :           if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   12993              :             return -1;
   12994              :           x11 = XEXP (x10, 0);
   12995              :           operands[1] = x11;
   12996              :           x5 = XEXP (x3, 1);
   12997              :           operands[3] = x5;
   12998              :           x7 = XEXP (x3, 2);
   12999              :           operands[4] = x7;
   13000              :           if (!register_operand (operands[4], E_QImode))
   13001              :             return -1;
   13002              :           x8 = XEXP (x2, 1);
   13003              :           operands[2] = x8;
   13004              :           switch (GET_MODE (operands[0]))
   13005              :             {
   13006              :             case E_V8HFmode:
   13007              :               if (pattern1289 (x2, 
   13008              : E_V8HFmode, 
   13009              : E_HFmode) != 0
   13010              :                   || !(
   13011              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13012              : (TARGET_AVX512F) && (
   13013              : #line 3125 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13014              : (TARGET_SSE) && 
   13015              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13016              : (TARGET_AVX512FP16))))
   13017              :                 return -1;
   13018              :               return 3005; /* *avx512fp16_vmsqrtv8hf2_mask */
   13019              : 
   13020              :             case E_V4SFmode:
   13021              :               if (pattern1289 (x2, 
   13022              : E_V4SFmode, 
   13023              : E_SFmode) != 0
   13024              :                   || !(
   13025              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13026              : (TARGET_AVX512F) && 
   13027              : #line 3125 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13028              : (TARGET_SSE)))
   13029              :                 return -1;
   13030              :               return 3009; /* *sse_vmsqrtv4sf2_mask */
   13031              : 
   13032              :             case E_V2DFmode:
   13033              :               if (pattern1289 (x2, 
   13034              : E_V2DFmode, 
   13035              : E_DFmode) != 0
   13036              :                   || !(
   13037              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13038              : (TARGET_AVX512F) && (
   13039              : #line 3125 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13040              : (TARGET_SSE) && 
   13041              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13042              : (TARGET_SSE2))))
   13043              :                 return -1;
   13044              :               return 3013; /* *sse2_vmsqrtv2df2_mask */
   13045              : 
   13046              :             default:
   13047              :               return -1;
   13048              :             }
   13049              : 
   13050              :         case UNSPEC:
   13051              :           if (XVECLEN (x10, 0) != 1
   13052              :               || XINT (x10, 1) != 56
   13053              :               || GET_MODE (x10) != E_HFmode)
   13054              :             return -1;
   13055              :           x6 = XEXP (x2, 2);
   13056              :           if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
   13057              :               || pattern1007 (x2, 
   13058              : E_V8HFmode) != 0)
   13059              :             return -1;
   13060              :           x12 = XVECEXP (x10, 0, 0);
   13061              :           operands[1] = x12;
   13062              :           if (!nonimmediate_operand (operands[1], E_HFmode))
   13063              :             return -1;
   13064              :           x5 = XEXP (x3, 1);
   13065              :           operands[3] = x5;
   13066              :           if (!nonimm_or_0_operand (operands[3], E_V8HFmode))
   13067              :             return -1;
   13068              :           x7 = XEXP (x3, 2);
   13069              :           operands[4] = x7;
   13070              :           if (!register_operand (operands[4], E_QImode))
   13071              :             return -1;
   13072              :           x8 = XEXP (x2, 1);
   13073              :           operands[2] = x8;
   13074              :           if (!register_operand (operands[2], E_V8HFmode)
   13075              :               || !(
   13076              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13077              : (TARGET_AVX512F) && 
   13078              : #line 3274 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13079              : (TARGET_AVX512FP16)))
   13080              :             return -1;
   13081              :           return 3044; /* *avx512fp16_vmrsqrtv8hf2 */
   13082              : 
   13083              :         case FLOAT_EXTEND:
   13084              :           x6 = XEXP (x2, 2);
   13085              :           if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   13086              :             return -1;
   13087              :           x5 = XEXP (x3, 1);
   13088              :           operands[3] = x5;
   13089              :           x7 = XEXP (x3, 2);
   13090              :           operands[4] = x7;
   13091              :           if (!register_operand (operands[4], E_QImode))
   13092              :             return -1;
   13093              :           x8 = XEXP (x2, 1);
   13094              :           operands[2] = x8;
   13095              :           x11 = XEXP (x10, 0);
   13096              :           switch (GET_CODE (x11))
   13097              :             {
   13098              :             case VEC_SELECT:
   13099              :               if (GET_MODE (x11) != E_HFmode)
   13100              :                 return -1;
   13101              :               x13 = XEXP (x11, 1);
   13102              :               if (GET_CODE (x13) != PARALLEL
   13103              :                   || XVECLEN (x13, 0) != 1)
   13104              :                 return -1;
   13105              :               x14 = XVECEXP (x13, 0, 0);
   13106              :               if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   13107              :                 return -1;
   13108              :               x15 = XEXP (x11, 0);
   13109              :               operands[1] = x15;
   13110              :               if (!register_operand (operands[1], E_V8HFmode))
   13111              :                 return -1;
   13112              :               switch (GET_MODE (operands[0]))
   13113              :                 {
   13114              :                 case E_V2DFmode:
   13115              :                   if (pattern1470 (x2, 
   13116              : E_V2DFmode, 
   13117              : E_DFmode) != 0
   13118              :                       || !(
   13119              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13120              : (TARGET_AVX512F) && 
   13121              : #line 8632 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13122              : (TARGET_AVX512FP16)))
   13123              :                     return -1;
   13124              :                   return 4802; /* avx512fp16_vcvtsh2sd_mask */
   13125              : 
   13126              :                 case E_V4SFmode:
   13127              :                   if (pattern1470 (x2, 
   13128              : E_V4SFmode, 
   13129              : E_SFmode) != 0
   13130              :                       || !(
   13131              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13132              : (TARGET_AVX512F) && 
   13133              : #line 8632 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13134              : (TARGET_AVX512FP16)))
   13135              :                     return -1;
   13136              :                   return 4806; /* avx512fp16_vcvtsh2ss_mask */
   13137              : 
   13138              :                 default:
   13139              :                   return -1;
   13140              :                 }
   13141              : 
   13142              :             case SUBREG:
   13143              :             case MEM:
   13144              :               operands[1] = x11;
   13145              :               if (!memory_operand (operands[1], E_HFmode))
   13146              :                 return -1;
   13147              :               switch (GET_MODE (operands[0]))
   13148              :                 {
   13149              :                 case E_V2DFmode:
   13150              :                   if (pattern1470 (x2, 
   13151              : E_V2DFmode, 
   13152              : E_DFmode) != 0
   13153              :                       || !(
   13154              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13155              : (TARGET_AVX512F) && 
   13156              : #line 8646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13157              : (TARGET_AVX512FP16)))
   13158              :                     return -1;
   13159              :                   return 4810; /* avx512fp16_vcvtsh2sd_mask_mem */
   13160              : 
   13161              :                 case E_V4SFmode:
   13162              :                   if (pattern1470 (x2, 
   13163              : E_V4SFmode, 
   13164              : E_SFmode) != 0
   13165              :                       || !(
   13166              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13167              : (TARGET_AVX512F) && 
   13168              : #line 8646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13169              : (TARGET_AVX512FP16)))
   13170              :                     return -1;
   13171              :                   return 4812; /* avx512fp16_vcvtsh2ss_mask_mem */
   13172              : 
   13173              :                 default:
   13174              :                   return -1;
   13175              :                 }
   13176              : 
   13177              :             default:
   13178              :               return -1;
   13179              :             }
   13180              : 
   13181              :         case FLOAT_TRUNCATE:
   13182              :           x11 = XEXP (x10, 0);
   13183              :           switch (GET_CODE (x11))
   13184              :             {
   13185              :             case VEC_SELECT:
   13186              :               x13 = XEXP (x11, 1);
   13187              :               if (GET_CODE (x13) != PARALLEL
   13188              :                   || XVECLEN (x13, 0) != 1)
   13189              :                 return -1;
   13190              :               x14 = XVECEXP (x13, 0, 0);
   13191              :               if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   13192              :                 return -1;
   13193              :               x6 = XEXP (x2, 2);
   13194              :               if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
   13195              :                   || pattern893 (x2, 
   13196              : E_HFmode, 
   13197              : E_V8HFmode) != 0)
   13198              :                 return -1;
   13199              :               x15 = XEXP (x11, 0);
   13200              :               operands[1] = x15;
   13201              :               x5 = XEXP (x3, 1);
   13202              :               operands[3] = x5;
   13203              :               if (!nonimm_or_0_operand (operands[3], E_V8HFmode))
   13204              :                 return -1;
   13205              :               x7 = XEXP (x3, 2);
   13206              :               operands[4] = x7;
   13207              :               if (!register_operand (operands[4], E_QImode))
   13208              :                 return -1;
   13209              :               x8 = XEXP (x2, 1);
   13210              :               operands[2] = x8;
   13211              :               if (!register_operand (operands[2], E_V8HFmode))
   13212              :                 return -1;
   13213              :               switch (GET_MODE (x11))
   13214              :                 {
   13215              :                 case E_DFmode:
   13216              :                   if (!register_operand (operands[1], E_V2DFmode)
   13217              :                       || !(
   13218              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13219              : (TARGET_AVX512F) && 
   13220              : #line 8662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13221              : (TARGET_AVX512FP16)))
   13222              :                     return -1;
   13223              :                   return 4815; /* avx512fp16_vcvtsd2sh_mask */
   13224              : 
   13225              :                 case E_SFmode:
   13226              :                   if (!register_operand (operands[1], E_V4SFmode)
   13227              :                       || !(
   13228              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13229              : (TARGET_AVX512F) && 
   13230              : #line 8662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13231              : (TARGET_AVX512FP16)))
   13232              :                     return -1;
   13233              :                   return 4819; /* avx512fp16_vcvtss2sh_mask */
   13234              : 
   13235              :                 default:
   13236              :                   return -1;
   13237              :                 }
   13238              : 
   13239              :             case REG:
   13240              :             case SUBREG:
   13241              :             case MEM:
   13242              :               x7 = XEXP (x3, 2);
   13243              :               switch (GET_CODE (x7))
   13244              :                 {
   13245              :                 case REG:
   13246              :                 case SUBREG:
   13247              :                   operands[4] = x7;
   13248              :                   if (!register_operand (operands[4], E_QImode))
   13249              :                     return -1;
   13250              :                   x6 = XEXP (x2, 2);
   13251              :                   if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
   13252              :                       || pattern893 (x2, 
   13253              : E_HFmode, 
   13254              : E_V8HFmode) != 0)
   13255              :                     return -1;
   13256              :                   operands[1] = x11;
   13257              :                   x5 = XEXP (x3, 1);
   13258              :                   operands[3] = x5;
   13259              :                   if (!nonimm_or_0_operand (operands[3], E_V8HFmode))
   13260              :                     return -1;
   13261              :                   x8 = XEXP (x2, 1);
   13262              :                   operands[2] = x8;
   13263              :                   if (!register_operand (operands[2], E_V8HFmode))
   13264              :                     return -1;
   13265              :                   switch (GET_MODE (operands[1]))
   13266              :                     {
   13267              :                     case E_SFmode:
   13268              :                       if (!memory_operand (operands[1], E_SFmode)
   13269              :                           || !(
   13270              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13271              : (TARGET_AVX512F) && 
   13272              : #line 8676 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13273              : (TARGET_AVX512FP16)))
   13274              :                         return -1;
   13275              :                       return 4822; /* avx512fp16_vcvtss2sh_mask_mem */
   13276              : 
   13277              :                     case E_DFmode:
   13278              :                       if (!memory_operand (operands[1], E_DFmode)
   13279              :                           || !(
   13280              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13281              : (TARGET_AVX512F) && 
   13282              : #line 8676 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13283              : (TARGET_AVX512FP16)))
   13284              :                         return -1;
   13285              :                       return 4824; /* avx512fp16_vcvtsd2sh_mask_mem */
   13286              : 
   13287              :                     default:
   13288              :                       return -1;
   13289              :                     }
   13290              : 
   13291              :                 case CONST_INT:
   13292              :                   if (XWINT (x7, 0) != 1L
   13293              :                       || pattern893 (x2, 
   13294              : E_V2SFmode, 
   13295              : E_V4SFmode) != 0
   13296              :                       || pattern1381 (x2, 
   13297              : E_V4SFmode, 
   13298              : E_V2DFmode) != 0
   13299              :                       || !(
   13300              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13301              : (TARGET_AVX512F) && 
   13302              : #line 10333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13303              : (TARGET_SSE2)))
   13304              :                     return -1;
   13305              :                   return 5183; /* sse2_cvtsd2ss_mask */
   13306              : 
   13307              :                 default:
   13308              :                   return -1;
   13309              :                 }
   13310              : 
   13311              :             default:
   13312              :               return -1;
   13313              :             }
   13314              : 
   13315              :         default:
   13316              :           return -1;
   13317              :         }
   13318              : 
   13319              :     case PLUS:
   13320              :       switch (pattern309 (x2))
   13321              :         {
   13322              :         case 0:
   13323              :           if (!(
   13324              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13325              : (TARGET_AVX512F) && (
   13326              : #line 2733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13327              : (TARGET_SSE) && 
   13328              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13329              : (TARGET_AVX512FP16))))
   13330              :             return -1;
   13331              :           return 2826; /* avx512fp16_vmaddv8hf3_mask */
   13332              : 
   13333              :         case 1:
   13334              :           if (!(
   13335              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13336              : (TARGET_AVX512F) && 
   13337              : #line 2733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13338              : (TARGET_SSE)))
   13339              :             return -1;
   13340              :           return 2834; /* sse_vmaddv4sf3_mask */
   13341              : 
   13342              :         case 2:
   13343              :           if (!(
   13344              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13345              : (TARGET_AVX512F) && (
   13346              : #line 2733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13347              : (TARGET_SSE) && 
   13348              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13349              : (TARGET_SSE2))))
   13350              :             return -1;
   13351              :           return 2842; /* sse2_vmaddv2df3_mask */
   13352              : 
   13353              :         default:
   13354              :           return -1;
   13355              :         }
   13356              : 
   13357              :     case MINUS:
   13358              :       switch (pattern309 (x2))
   13359              :         {
   13360              :         case 0:
   13361              :           if (!(
   13362              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13363              : (TARGET_AVX512F) && (
   13364              : #line 2733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13365              : (TARGET_SSE) && 
   13366              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13367              : (TARGET_AVX512FP16))))
   13368              :             return -1;
   13369              :           return 2830; /* avx512fp16_vmsubv8hf3_mask */
   13370              : 
   13371              :         case 1:
   13372              :           if (!(
   13373              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13374              : (TARGET_AVX512F) && 
   13375              : #line 2733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13376              : (TARGET_SSE)))
   13377              :             return -1;
   13378              :           return 2838; /* sse_vmsubv4sf3_mask */
   13379              : 
   13380              :         case 2:
   13381              :           if (!(
   13382              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13383              : (TARGET_AVX512F) && (
   13384              : #line 2733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13385              : (TARGET_SSE) && 
   13386              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13387              : (TARGET_SSE2))))
   13388              :             return -1;
   13389              :           return 2846; /* sse2_vmsubv2df3_mask */
   13390              : 
   13391              :         default:
   13392              :           return -1;
   13393              :         }
   13394              : 
   13395              :     case MULT:
   13396              :       switch (pattern309 (x2))
   13397              :         {
   13398              :         case 0:
   13399              :           if (!(
   13400              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13401              : (TARGET_AVX512F) && (
   13402              : #line 2824 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13403              : (TARGET_SSE) && 
   13404              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13405              : (TARGET_AVX512FP16))))
   13406              :             return -1;
   13407              :           return 2892; /* avx512fp16_vmmulv8hf3_mask */
   13408              : 
   13409              :         case 1:
   13410              :           if (!(
   13411              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13412              : (TARGET_AVX512F) && 
   13413              : #line 2824 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13414              : (TARGET_SSE)))
   13415              :             return -1;
   13416              :           return 2900; /* sse_vmmulv4sf3_mask */
   13417              : 
   13418              :         case 2:
   13419              :           if (!(
   13420              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13421              : (TARGET_AVX512F) && (
   13422              : #line 2824 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13423              : (TARGET_SSE) && 
   13424              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13425              : (TARGET_SSE2))))
   13426              :             return -1;
   13427              :           return 2908; /* sse2_vmmulv2df3_mask */
   13428              : 
   13429              :         default:
   13430              :           return -1;
   13431              :         }
   13432              : 
   13433              :     case DIV:
   13434              :       switch (pattern309 (x2))
   13435              :         {
   13436              :         case 0:
   13437              :           if (!(
   13438              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13439              : (TARGET_AVX512F) && (
   13440              : #line 2824 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13441              : (TARGET_SSE) && 
   13442              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13443              : (TARGET_AVX512FP16))))
   13444              :             return -1;
   13445              :           return 2896; /* avx512fp16_vmdivv8hf3_mask */
   13446              : 
   13447              :         case 1:
   13448              :           if (!(
   13449              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13450              : (TARGET_AVX512F) && 
   13451              : #line 2824 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13452              : (TARGET_SSE)))
   13453              :             return -1;
   13454              :           return 2904; /* sse_vmdivv4sf3_mask */
   13455              : 
   13456              :         case 2:
   13457              :           if (!(
   13458              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13459              : (TARGET_AVX512F) && (
   13460              : #line 2824 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13461              : (TARGET_SSE) && 
   13462              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13463              : (TARGET_SSE2))))
   13464              :             return -1;
   13465              :           return 2912; /* sse2_vmdivv2df3_mask */
   13466              : 
   13467              :         default:
   13468              :           return -1;
   13469              :         }
   13470              : 
   13471              :     case UNSPEC:
   13472              :       return recog_151 (x1, insn, pnum_clobbers);
   13473              : 
   13474              :     case SQRT:
   13475              :       x6 = XEXP (x2, 2);
   13476              :       if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   13477              :         return -1;
   13478              :       x10 = XEXP (x4, 0);
   13479              :       operands[1] = x10;
   13480              :       x5 = XEXP (x3, 1);
   13481              :       operands[3] = x5;
   13482              :       x7 = XEXP (x3, 2);
   13483              :       operands[4] = x7;
   13484              :       if (!register_operand (operands[4], E_QImode))
   13485              :         return -1;
   13486              :       x8 = XEXP (x2, 1);
   13487              :       operands[2] = x8;
   13488              :       switch (GET_MODE (operands[0]))
   13489              :         {
   13490              :         case E_V8HFmode:
   13491              :           if (pattern1223 (x2, 
   13492              : E_V8HFmode) != 0
   13493              :               || !(
   13494              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13495              : (TARGET_AVX512F) && (
   13496              : #line 3106 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13497              : (TARGET_SSE) && 
   13498              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13499              : (TARGET_AVX512FP16))))
   13500              :             return -1;
   13501              :           return 2993; /* avx512fp16_vmsqrtv8hf2_mask */
   13502              : 
   13503              :         case E_V4SFmode:
   13504              :           if (pattern1223 (x2, 
   13505              : E_V4SFmode) != 0
   13506              :               || !(
   13507              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13508              : (TARGET_AVX512F) && 
   13509              : #line 3106 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13510              : (TARGET_SSE)))
   13511              :             return -1;
   13512              :           return 2997; /* sse_vmsqrtv4sf2_mask */
   13513              : 
   13514              :         case E_V2DFmode:
   13515              :           if (pattern1223 (x2, 
   13516              : E_V2DFmode) != 0
   13517              :               || !(
   13518              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13519              : (TARGET_AVX512F) && (
   13520              : #line 3106 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13521              : (TARGET_SSE) && 
   13522              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13523              : (TARGET_SSE2))))
   13524              :             return -1;
   13525              :           return 3001; /* sse2_vmsqrtv2df2_mask */
   13526              : 
   13527              :         default:
   13528              :           return -1;
   13529              :         }
   13530              : 
   13531              :     case SMAX:
   13532              :       switch (pattern309 (x2))
   13533              :         {
   13534              :         case 0:
   13535              :           if (!(
   13536              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13537              : (TARGET_AVX512F) && (
   13538              : #line 3536 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13539              : (TARGET_SSE) && 
   13540              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13541              : (TARGET_AVX512FP16))))
   13542              :             return -1;
   13543              :           return 3169; /* *avx512fp16_vmsmaxv8hf3_mask */
   13544              : 
   13545              :         case 1:
   13546              :           if (!(
   13547              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13548              : (TARGET_AVX512F) && 
   13549              : #line 3536 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13550              : (TARGET_SSE)))
   13551              :             return -1;
   13552              :           return 3177; /* *sse_vmsmaxv4sf3_mask */
   13553              : 
   13554              :         case 2:
   13555              :           if (!(
   13556              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13557              : (TARGET_AVX512F) && (
   13558              : #line 3536 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13559              : (TARGET_SSE) && 
   13560              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13561              : (TARGET_SSE2))))
   13562              :             return -1;
   13563              :           return 3185; /* *sse2_vmsmaxv2df3_mask */
   13564              : 
   13565              :         default:
   13566              :           return -1;
   13567              :         }
   13568              : 
   13569              :     case SMIN:
   13570              :       switch (pattern309 (x2))
   13571              :         {
   13572              :         case 0:
   13573              :           if (!(
   13574              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13575              : (TARGET_AVX512F) && (
   13576              : #line 3536 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13577              : (TARGET_SSE) && 
   13578              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13579              : (TARGET_AVX512FP16))))
   13580              :             return -1;
   13581              :           return 3173; /* *avx512fp16_vmsminv8hf3_mask */
   13582              : 
   13583              :         case 1:
   13584              :           if (!(
   13585              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13586              : (TARGET_AVX512F) && 
   13587              : #line 3536 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13588              : (TARGET_SSE)))
   13589              :             return -1;
   13590              :           return 3181; /* *sse_vmsminv4sf3_mask */
   13591              : 
   13592              :         case 2:
   13593              :           if (!(
   13594              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13595              : (TARGET_AVX512F) && (
   13596              : #line 3536 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13597              : (TARGET_SSE) && 
   13598              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13599              : (TARGET_SSE2))))
   13600              :             return -1;
   13601              :           return 3189; /* *sse2_vmsminv2df3_mask */
   13602              : 
   13603              :         default:
   13604              :           return -1;
   13605              :         }
   13606              : 
   13607              :     case FMA:
   13608              :       return recog_150 (x1, insn, pnum_clobbers);
   13609              : 
   13610              :     case FLOAT_EXTEND:
   13611              :       if (pattern310 (x4, 
   13612              : 1, 
   13613              : E_V2SFmode, 
   13614              : E_V2DFmode) != 0)
   13615              :         return -1;
   13616              :       x7 = XEXP (x3, 2);
   13617              :       if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
   13618              :           || !register_operand (operands[0], E_V2DFmode)
   13619              :           || GET_MODE (x2) != E_V2DFmode
   13620              :           || GET_MODE (x3) != E_V2DFmode
   13621              :           || pattern1381 (x2, 
   13622              : E_V2DFmode, 
   13623              : E_V4SFmode) != 0
   13624              :           || !(
   13625              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13626              : (TARGET_AVX512F) && 
   13627              : #line 10377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13628              : (TARGET_SSE2)))
   13629              :         return -1;
   13630              :       return 5188; /* sse2_cvtss2sd_mask */
   13631              : 
   13632              :     default:
   13633              :       return -1;
   13634              :     }
   13635              : }
   13636              : 
   13637              :  int
   13638              : recog_201 (rtx x1 ATTRIBUTE_UNUSED,
   13639              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   13640              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   13641              : {
   13642              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   13643              :   rtx x2;
   13644              :   int res ATTRIBUTE_UNUSED;
   13645              :   x2 = XEXP (x1, 1);
   13646              :   switch (pattern139 (x2))
   13647              :     {
   13648              :     case 0:
   13649              :       if (!(
   13650              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13651              : (TARGET_AVX512F) && (
   13652              : #line 3329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13653              : (TARGET_SSE
   13654              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))
   13655              :    && (64 == 64 || TARGET_AVX512VL)
   13656              :    && 1) && 
   13657              : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13658              : (TARGET_AVX512FP16))))
   13659              :         return -1;
   13660              :       return 3051; /* *sminv32hf3_mask */
   13661              : 
   13662              :     case 1:
   13663              :       if (!(
   13664              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13665              : (TARGET_AVX512F) && (
   13666              : #line 3329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13667              : (TARGET_SSE
   13668              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))
   13669              :    && (32 == 64 || TARGET_AVX512VL)
   13670              :    && 1) && 
   13671              : #line 394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13672              : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
   13673              :         return -1;
   13674              :       return 3056; /* *sminv16hf3_mask */
   13675              : 
   13676              :     case 2:
   13677              :       if (!(
   13678              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13679              : (TARGET_AVX512F) && (
   13680              : #line 3329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13681              : (TARGET_SSE
   13682              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))
   13683              :    && (16 == 64 || TARGET_AVX512VL)
   13684              :    && 1) && 
   13685              : #line 395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13686              : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
   13687              :         return -1;
   13688              :       return 3060; /* *sminv8hf3_mask */
   13689              : 
   13690              :     case 3:
   13691              :       if (!(
   13692              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13693              : (TARGET_AVX512F) && (
   13694              : #line 3329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13695              : (TARGET_SSE
   13696              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))
   13697              :    && (64 == 64 || TARGET_AVX512VL)
   13698              :    && 1) && 
   13699              : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13700              : (TARGET_AVX512F))))
   13701              :         return -1;
   13702              :       return 3067; /* *sminv16sf3_mask */
   13703              : 
   13704              :     case 4:
   13705              :       if (!(
   13706              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13707              : (TARGET_AVX512F) && (
   13708              : #line 3329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13709              : (TARGET_SSE
   13710              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))
   13711              :    && (32 == 64 || TARGET_AVX512VL)
   13712              :    && 1) && 
   13713              : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13714              : (TARGET_AVX))))
   13715              :         return -1;
   13716              :       return 3072; /* *sminv8sf3_mask */
   13717              : 
   13718              :     case 5:
   13719              :       if (!(
   13720              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13721              : (TARGET_AVX512F) && 
   13722              : #line 3329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13723              : (TARGET_SSE
   13724              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))
   13725              :    && (16 == 64 || TARGET_AVX512VL)
   13726              :    && 1)))
   13727              :         return -1;
   13728              :       return 3076; /* *sminv4sf3_mask */
   13729              : 
   13730              :     case 6:
   13731              :       if (!(
   13732              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13733              : (TARGET_AVX512F) && (
   13734              : #line 3329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13735              : (TARGET_SSE
   13736              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))
   13737              :    && (64 == 64 || TARGET_AVX512VL)
   13738              :    && 1) && 
   13739              : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13740              : (TARGET_AVX512F))))
   13741              :         return -1;
   13742              :       return 3083; /* *sminv8df3_mask */
   13743              : 
   13744              :     case 7:
   13745              :       if (!(
   13746              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13747              : (TARGET_AVX512F) && (
   13748              : #line 3329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13749              : (TARGET_SSE
   13750              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))
   13751              :    && (32 == 64 || TARGET_AVX512VL)
   13752              :    && 1) && 
   13753              : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13754              : (TARGET_AVX))))
   13755              :         return -1;
   13756              :       return 3088; /* *sminv4df3_mask */
   13757              : 
   13758              :     case 8:
   13759              :       if (!(
   13760              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13761              : (TARGET_AVX512F) && (
   13762              : #line 3329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13763              : (TARGET_SSE
   13764              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))
   13765              :    && (16 == 64 || TARGET_AVX512VL)
   13766              :    && 1) && 
   13767              : #line 398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13768              : (TARGET_SSE2))))
   13769              :         return -1;
   13770              :       return 3092; /* *sminv2df3_mask */
   13771              : 
   13772              :     case 9:
   13773              :       if (!(
   13774              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13775              : (TARGET_AVX512F) && 
   13776              : #line 18033 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13777              : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
   13778              :         return -1;
   13779              :       return 7810; /* *avx512f_sminv16si3_mask */
   13780              : 
   13781              :     case 10:
   13782              :       if (!(
   13783              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13784              : (TARGET_AVX512F) && (
   13785              : #line 18033 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13786              : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
   13787              : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13788              : (TARGET_AVX512VL))))
   13789              :         return -1;
   13790              :       return 7818; /* *avx512f_sminv8si3_mask */
   13791              : 
   13792              :     case 11:
   13793              :       if (nonimmediate_operand (operands[1], E_V4SImode)
   13794              :           && nonimmediate_operand (operands[2], E_V4SImode)
   13795              :           && (
   13796              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13797              : (TARGET_AVX512F) && (
   13798              : #line 18033 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13799              : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
   13800              : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13801              : (TARGET_AVX512VL))))
   13802              :         return 7826; /* *avx512f_sminv4si3_mask */
   13803              :       if (!vector_operand (operands[1], E_V4SImode)
   13804              :           || !vector_operand (operands[2], E_V4SImode)
   13805              :           || !(
   13806              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13807              : (TARGET_AVX512F) && 
   13808              : #line 18136 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13809              : (TARGET_SSE4_1
   13810              :    && (16 == 64 || TARGET_AVX512VL)
   13811              :    && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
   13812              :         return -1;
   13813              :       return 7910; /* *sse4_1_sminv4si3_mask */
   13814              : 
   13815              :     case 12:
   13816              :       if (!(
   13817              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13818              : (TARGET_AVX512F) && 
   13819              : #line 18033 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13820              : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
   13821              :         return -1;
   13822              :       return 7834; /* *avx512f_sminv8di3_mask */
   13823              : 
   13824              :     case 13:
   13825              :       if (!(
   13826              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13827              : (TARGET_AVX512F) && (
   13828              : #line 18033 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13829              : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
   13830              : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13831              : (TARGET_AVX512VL))))
   13832              :         return -1;
   13833              :       return 7842; /* *avx512f_sminv4di3_mask */
   13834              : 
   13835              :     case 14:
   13836              :       if (!(
   13837              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13838              : (TARGET_AVX512F) && (
   13839              : #line 18033 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13840              : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
   13841              : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13842              : (TARGET_AVX512VL))))
   13843              :         return -1;
   13844              :       return 7850; /* *avx512f_sminv2di3_mask */
   13845              : 
   13846              :     case 15:
   13847              :       if (!(
   13848              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13849              : (TARGET_AVX512F) && 
   13850              : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13851              : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
   13852              :         return -1;
   13853              :       return 7858; /* *avx512bw_sminv64qi3_mask */
   13854              : 
   13855              :     case 16:
   13856              :       if (nonimmediate_operand (operands[1], E_V16QImode)
   13857              :           && nonimmediate_operand (operands[2], E_V16QImode)
   13858              :           && (
   13859              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13860              : (TARGET_AVX512F) && (
   13861              : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13862              : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
   13863              : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13864              : (TARGET_AVX512VL))))
   13865              :         return 7866; /* *avx512bw_sminv16qi3_mask */
   13866              :       if (!vector_operand (operands[1], E_V16QImode)
   13867              :           || !vector_operand (operands[2], E_V16QImode)
   13868              :           || !(
   13869              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13870              : (TARGET_AVX512F) && 
   13871              : #line 18136 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13872              : (TARGET_SSE4_1
   13873              :    && (16 == 64 || TARGET_AVX512VL)
   13874              :    && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
   13875              :         return -1;
   13876              :       return 7906; /* *sse4_1_sminv16qi3_mask */
   13877              : 
   13878              :     case 17:
   13879              :       if (!(
   13880              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13881              : (TARGET_AVX512F) && (
   13882              : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13883              : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
   13884              : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13885              : (TARGET_AVX512VL))))
   13886              :         return -1;
   13887              :       return 7874; /* *avx512bw_sminv32qi3_mask */
   13888              : 
   13889              :     case 18:
   13890              :       if (!(
   13891              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13892              : (TARGET_AVX512F) && 
   13893              : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13894              : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
   13895              :         return -1;
   13896              :       return 7882; /* *avx512bw_sminv32hi3_mask */
   13897              : 
   13898              :     case 19:
   13899              :       if (!(
   13900              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13901              : (TARGET_AVX512F) && (
   13902              : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13903              : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
   13904              : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13905              : (TARGET_AVX512VL))))
   13906              :         return -1;
   13907              :       return 7890; /* *avx512bw_sminv16hi3_mask */
   13908              : 
   13909              :     case 20:
   13910              :       if (!(
   13911              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13912              : (TARGET_AVX512F) && (
   13913              : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13914              : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
   13915              : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13916              : (TARGET_AVX512VL))))
   13917              :         return -1;
   13918              :       return 7898; /* *avx512bw_sminv8hi3_mask */
   13919              : 
   13920              :     case 21:
   13921              :       if (!(
   13922              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13923              : (TARGET_AVX512F) && 
   13924              : #line 32818 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13925              : (TARGET_AVX10_2)))
   13926              :         return -1;
   13927              :       return 10669; /* avx10_2_sminbf16_v32bf_mask */
   13928              : 
   13929              :     case 22:
   13930              :       if (!(
   13931              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13932              : (TARGET_AVX512F) && 
   13933              : #line 32818 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13934              : (TARGET_AVX10_2)))
   13935              :         return -1;
   13936              :       return 10673; /* avx10_2_sminbf16_v16bf_mask */
   13937              : 
   13938              :     case 23:
   13939              :       if (!(
   13940              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13941              : (TARGET_AVX512F) && 
   13942              : #line 32818 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13943              : (TARGET_AVX10_2)))
   13944              :         return -1;
   13945              :       return 10677; /* avx10_2_sminbf16_v8bf_mask */
   13946              : 
   13947              :     case 24:
   13948              :       if (!(
   13949              : #line 3536 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13950              : (TARGET_SSE) && 
   13951              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13952              : (TARGET_AVX512FP16)))
   13953              :         return -1;
   13954              :       return 3172; /* *avx512fp16_vmsminv8hf3 */
   13955              : 
   13956              :     case 25:
   13957              :       if (!
   13958              : #line 3536 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13959              : (TARGET_SSE))
   13960              :         return -1;
   13961              :       return 3180; /* *sse_vmsminv4sf3 */
   13962              : 
   13963              :     case 26:
   13964              :       if (!(
   13965              : #line 3536 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13966              : (TARGET_SSE) && 
   13967              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13968              : (TARGET_SSE2)))
   13969              :         return -1;
   13970              :       return 3188; /* *sse2_vmsminv2df3 */
   13971              : 
   13972              :     default:
   13973              :       return -1;
   13974              :     }
   13975              : }
   13976              : 
   13977              :  int
   13978              : recog_214 (rtx x1 ATTRIBUTE_UNUSED,
   13979              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   13980              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   13981              : {
   13982              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   13983              :   rtx x2;
   13984              :   int res ATTRIBUTE_UNUSED;
   13985              :   x2 = XEXP (x1, 1);
   13986              :   switch (pattern326 (x2))
   13987              :     {
   13988              :     case 0:
   13989              :       if (!register_operand (operands[0], E_V32HImode)
   13990              :           || GET_MODE (x2) != E_V32HImode
   13991              :           || !vector_operand (operands[1], E_V32HFmode)
   13992              :           || !
   13993              : #line 7977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13994              : (TARGET_AVX512FP16))
   13995              :         return -1;
   13996              :       return 4446; /* avx512fp16_vcvtph2uw_v32hi */
   13997              : 
   13998              :     case 1:
   13999              :       if (!register_operand (operands[0], E_V16SImode)
   14000              :           || GET_MODE (x2) != E_V16SImode)
   14001              :         return -1;
   14002              :       switch (GET_MODE (operands[1]))
   14003              :         {
   14004              :         case E_V16HFmode:
   14005              :           if (!vector_operand (operands[1], E_V16HFmode)
   14006              :               || !
   14007              : #line 7977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14008              : (TARGET_AVX512FP16))
   14009              :             return -1;
   14010              :           return 4454; /* avx512fp16_vcvtph2udq_v16si */
   14011              : 
   14012              :         case E_V16SFmode:
   14013              :           if (!nonimmediate_operand (operands[1], E_V16SFmode)
   14014              :               || !
   14015              : #line 9040 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14016              : (TARGET_AVX512F))
   14017              :             return -1;
   14018              :           return 4882; /* *avx512f_fixuns_notruncv16sfv16si */
   14019              : 
   14020              :         default:
   14021              :           return -1;
   14022              :         }
   14023              : 
   14024              :     case 2:
   14025              :       switch (pattern779 (x2, 
   14026              : E_V8DImode))
   14027              :         {
   14028              :         case 0:
   14029              :           if (!
   14030              : #line 7977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14031              : (TARGET_AVX512FP16))
   14032              :             return -1;
   14033              :           return 4462; /* avx512fp16_vcvtph2uqq_v8di */
   14034              : 
   14035              :         case 1:
   14036              :           if (!
   14037              : #line 9073 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14038              : (TARGET_AVX512DQ && 1))
   14039              :             return -1;
   14040              :           return 4902; /* *avx512dq_cvtps2uqqv8di */
   14041              : 
   14042              :         case 2:
   14043              :           if (!
   14044              : #line 10051 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14045              : (TARGET_AVX512DQ && 1))
   14046              :             return -1;
   14047              :           return 5128; /* fixuns_notruncv8dfv8di2 */
   14048              : 
   14049              :         default:
   14050              :           return -1;
   14051              :         }
   14052              : 
   14053              :     case 3:
   14054              :       if (!register_operand (operands[0], E_V16HImode)
   14055              :           || GET_MODE (x2) != E_V16HImode
   14056              :           || !vector_operand (operands[1], E_V16HFmode)
   14057              :           || !(
   14058              : #line 7977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14059              : (TARGET_AVX512FP16) && 
   14060              : #line 751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14061              : (TARGET_AVX512VL)))
   14062              :         return -1;
   14063              :       return 4470; /* avx512fp16_vcvtph2uw_v16hi */
   14064              : 
   14065              :     case 4:
   14066              :       switch (pattern779 (x2, 
   14067              : E_V8SImode))
   14068              :         {
   14069              :         case 0:
   14070              :           if (!(
   14071              : #line 7977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14072              : (TARGET_AVX512FP16) && 
   14073              : #line 751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14074              : (TARGET_AVX512VL)))
   14075              :             return -1;
   14076              :           return 4478; /* avx512fp16_vcvtph2udq_v8si */
   14077              : 
   14078              :         case 1:
   14079              :           if (!(
   14080              : #line 9040 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14081              : (TARGET_AVX512F) && 
   14082              : #line 668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14083              : (TARGET_AVX512VL)))
   14084              :             return -1;
   14085              :           return 4886; /* *avx512vl_fixuns_notruncv8sfv8si */
   14086              : 
   14087              :         case 2:
   14088              :           if (!
   14089              : #line 9832 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14090              : (TARGET_AVX512F))
   14091              :             return -1;
   14092              :           return 5048; /* fixuns_notruncv8dfv8si2 */
   14093              : 
   14094              :         default:
   14095              :           return -1;
   14096              :         }
   14097              : 
   14098              :     case 5:
   14099              :       switch (pattern780 (x2, 
   14100              : E_V4DImode))
   14101              :         {
   14102              :         case 0:
   14103              :           if (!(
   14104              : #line 7977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14105              : (TARGET_AVX512FP16) && 
   14106              : #line 752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14107              : (TARGET_AVX512VL)))
   14108              :             return -1;
   14109              :           return 4486; /* avx512fp16_vcvtph2uqq_v4di */
   14110              : 
   14111              :         case 1:
   14112              :           if (!(
   14113              : #line 9073 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14114              : (TARGET_AVX512DQ && 1) && 
   14115              : #line 620 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14116              : (TARGET_AVX512VL)))
   14117              :             return -1;
   14118              :           return 4906; /* *avx512dq_cvtps2uqqv4di */
   14119              : 
   14120              :         case 2:
   14121              :           if (!(
   14122              : #line 10051 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14123              : (TARGET_AVX512DQ && 1) && 
   14124              : #line 531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14125              : (TARGET_AVX512VL)))
   14126              :             return -1;
   14127              :           return 5132; /* fixuns_notruncv4dfv4di2 */
   14128              : 
   14129              :         default:
   14130              :           return -1;
   14131              :         }
   14132              : 
   14133              :     case 6:
   14134              :       if (!register_operand (operands[0], E_V8HImode)
   14135              :           || GET_MODE (x2) != E_V8HImode
   14136              :           || !vector_operand (operands[1], E_V8HFmode)
   14137              :           || !(
   14138              : #line 7977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14139              : (TARGET_AVX512FP16) && 
   14140              : #line 752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14141              : (TARGET_AVX512VL)))
   14142              :         return -1;
   14143              :       return 4494; /* avx512fp16_vcvtph2uw_v8hi */
   14144              : 
   14145              :     case 7:
   14146              :       switch (pattern780 (x2, 
   14147              : E_V4SImode))
   14148              :         {
   14149              :         case 0:
   14150              :           if (!(
   14151              : #line 7977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14152              : (TARGET_AVX512FP16) && 
   14153              : #line 753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14154              : (TARGET_AVX512VL)))
   14155              :             return -1;
   14156              :           return 4502; /* avx512fp16_vcvtph2udq_v4si */
   14157              : 
   14158              :         case 1:
   14159              :           if (!(
   14160              : #line 9040 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14161              : (TARGET_AVX512F) && 
   14162              : #line 668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14163              : (TARGET_AVX512VL)))
   14164              :             return -1;
   14165              :           return 4890; /* *avx512vl_fixuns_notruncv4sfv4si */
   14166              : 
   14167              :         case 2:
   14168              :           if (!(
   14169              : #line 9832 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14170              : (TARGET_AVX512F) && 
   14171              : #line 469 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14172              : (TARGET_AVX512VL)))
   14173              :             return -1;
   14174              :           return 5052; /* fixuns_notruncv4dfv4si2 */
   14175              : 
   14176              :         default:
   14177              :           return -1;
   14178              :         }
   14179              : 
   14180              :     case 8:
   14181              :       if (!register_operand (operands[0], E_V2DImode)
   14182              :           || GET_MODE (x2) != E_V2DImode)
   14183              :         return -1;
   14184              :       switch (GET_MODE (operands[1]))
   14185              :         {
   14186              :         case E_V8HFmode:
   14187              :           if (!vector_operand (operands[1], E_V8HFmode)
   14188              :               || !(
   14189              : #line 7977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14190              : (TARGET_AVX512FP16) && 
   14191              : #line 753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14192              : (TARGET_AVX512VL)))
   14193              :             return -1;
   14194              :           return 4510; /* avx512fp16_vcvtph2uqq_v2di */
   14195              : 
   14196              :         case E_V2DFmode:
   14197              :           if (!nonimmediate_operand (operands[1], E_V2DFmode)
   14198              :               || !(
   14199              : #line 10051 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14200              : (TARGET_AVX512DQ && 1) && 
   14201              : #line 531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14202              : (TARGET_AVX512VL)))
   14203              :             return -1;
   14204              :           return 5134; /* fixuns_notruncv2dfv2di2 */
   14205              : 
   14206              :         default:
   14207              :           return -1;
   14208              :         }
   14209              : 
   14210              :     case 9:
   14211              :       if (!
   14212              : #line 9086 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14213              : (TARGET_AVX512DQ && TARGET_AVX512VL))
   14214              :         return -1;
   14215              :       return 4908; /* *avx512dq_cvtps2uqqv2di */
   14216              : 
   14217              :     default:
   14218              :       return -1;
   14219              :     }
   14220              : }
   14221              : 
   14222              :  int
   14223              : recog_229 (rtx x1 ATTRIBUTE_UNUSED,
   14224              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   14225              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   14226              : {
   14227              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   14228              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   14229              :   rtx x10, x11;
   14230              :   int res ATTRIBUTE_UNUSED;
   14231              :   x2 = XEXP (x1, 1);
   14232              :   x3 = XVECEXP (x2, 0, 0);
   14233              :   x4 = XEXP (x3, 0);
   14234              :   switch (XVECLEN (x4, 0))
   14235              :     {
   14236              :     case 2:
   14237              :       return recog_224 (x1, insn, pnum_clobbers);
   14238              : 
   14239              :     case 3:
   14240              :       x5 = XVECEXP (x4, 0, 0);
   14241              :       operands[1] = x5;
   14242              :       x6 = XVECEXP (x4, 0, 1);
   14243              :       operands[2] = x6;
   14244              :       switch (XINT (x4, 1))
   14245              :         {
   14246              :         case 193:
   14247              :           x7 = XEXP (x3, 2);
   14248              :           if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   14249              :             return -1;
   14250              :           x8 = XVECEXP (x4, 0, 2);
   14251              :           operands[3] = x8;
   14252              :           if (!const_0_to_255_operand (operands[3], E_SImode))
   14253              :             return -1;
   14254              :           switch (pattern1418 (x2))
   14255              :             {
   14256              :             case 0:
   14257              :               if (!(
   14258              : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14259              : (TARGET_AVX512F) && (
   14260              : #line 4269 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14261              : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V8HFmode))) && 
   14262              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14263              : (TARGET_AVX512FP16))))
   14264              :                 return -1;
   14265              :               return 3268; /* reducesv8hf_round */
   14266              : 
   14267              :             case 1:
   14268              :               if (!(
   14269              : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14270              : (TARGET_AVX512F) && 
   14271              : #line 4269 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14272              : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V4SFmode)))))
   14273              :                 return -1;
   14274              :               return 3272; /* reducesv4sf_round */
   14275              : 
   14276              :             case 2:
   14277              :               if (!(
   14278              : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14279              : (TARGET_AVX512F) && (
   14280              : #line 4269 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14281              : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V2DFmode))) && 
   14282              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14283              : (TARGET_SSE2))))
   14284              :                 return -1;
   14285              :               return 3276; /* reducesv2df_round */
   14286              : 
   14287              :             default:
   14288              :               return -1;
   14289              :             }
   14290              : 
   14291              :         case 134:
   14292              :           return recog_223 (x1, insn, pnum_clobbers);
   14293              : 
   14294              :         case 218:
   14295              :           switch (pattern1142 (x2))
   14296              :             {
   14297              :             case 0:
   14298              :               if (!(
   14299              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14300              : (TARGET_AVX512F) && 
   14301              : #line 7507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14302              : (TARGET_AVX512FP16 && (64 == 64 || TARGET_AVX512VL) && (V32HFmode == V16SFmode
   14303              :                                                               || V32HFmode == V8DFmode
   14304              :                                                               || V32HFmode == V8DImode
   14305              :                                                               || V32HFmode == V16SImode
   14306              :                                                               || V32HFmode == V32HFmode))))
   14307              :                 return -1;
   14308              :               return 4365; /* fma_fmaddc_v32hf_maskz_1_round */
   14309              : 
   14310              :             case 1:
   14311              :               if (!(
   14312              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14313              : (TARGET_AVX512F) && 
   14314              : #line 7645 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14315              : (TARGET_AVX512FP16 && (V32HFmode == V16SFmode
   14316              :                                                               || V32HFmode == V8DFmode
   14317              :                                                               || V32HFmode == V8DImode
   14318              :                                                               || V32HFmode == V16SImode
   14319              :                                                               || V32HFmode == V32HFmode))))
   14320              :                 return -1;
   14321              :               return 4403; /* avx512bw_fmaddc_v32hf_mask_round */
   14322              : 
   14323              :             case 2:
   14324              :               if (!(
   14325              : #line 437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14326              : (TARGET_AVX512F) && 
   14327              : #line 7834 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14328              : (TARGET_AVX512FP16)))
   14329              :                 return -1;
   14330              :               return 4428; /* avx512fp16_fma_fmaddcsh_v8hf_round */
   14331              : 
   14332              :             default:
   14333              :               return -1;
   14334              :             }
   14335              : 
   14336              :         case 220:
   14337              :           switch (pattern1142 (x2))
   14338              :             {
   14339              :             case 0:
   14340              :               if (!(
   14341              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14342              : (TARGET_AVX512F) && 
   14343              : #line 7507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14344              : (TARGET_AVX512FP16 && (64 == 64 || TARGET_AVX512VL) && (V32HFmode == V16SFmode
   14345              :                                                               || V32HFmode == V8DFmode
   14346              :                                                               || V32HFmode == V8DImode
   14347              :                                                               || V32HFmode == V16SImode
   14348              :                                                               || V32HFmode == V32HFmode))))
   14349              :                 return -1;
   14350              :               return 4369; /* fma_fcmaddc_v32hf_maskz_1_round */
   14351              : 
   14352              :             case 1:
   14353              :               if (!(
   14354              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14355              : (TARGET_AVX512F) && 
   14356              : #line 7645 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14357              : (TARGET_AVX512FP16 && (V32HFmode == V16SFmode
   14358              :                                                               || V32HFmode == V8DFmode
   14359              :                                                               || V32HFmode == V8DImode
   14360              :                                                               || V32HFmode == V16SImode
   14361              :                                                               || V32HFmode == V32HFmode))))
   14362              :                 return -1;
   14363              :               return 4405; /* avx512bw_fcmaddc_v32hf_mask_round */
   14364              : 
   14365              :             case 2:
   14366              :               if (!(
   14367              : #line 437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14368              : (TARGET_AVX512F) && 
   14369              : #line 7834 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14370              : (TARGET_AVX512FP16)))
   14371              :                 return -1;
   14372              :               return 4432; /* avx512fp16_fma_fcmaddcsh_v8hf_round */
   14373              : 
   14374              :             default:
   14375              :               return -1;
   14376              :             }
   14377              : 
   14378              :         case 195:
   14379              :           x8 = XVECEXP (x4, 0, 2);
   14380              :           operands[3] = x8;
   14381              :           if (!const_0_to_15_operand (operands[3], E_SImode))
   14382              :             return -1;
   14383              :           x9 = XVECEXP (x2, 0, 1);
   14384              :           if (!const48_operand (x9, E_SImode))
   14385              :             return -1;
   14386              :           x7 = XEXP (x3, 2);
   14387              :           switch (GET_CODE (x7))
   14388              :             {
   14389              :             case REG:
   14390              :             case SUBREG:
   14391              :               operands[5] = x7;
   14392              :               x10 = XEXP (x3, 1);
   14393              :               operands[4] = x10;
   14394              :               operands[6] = x9;
   14395              :               switch (GET_MODE (operands[0]))
   14396              :                 {
   14397              :                 case E_V16SFmode:
   14398              :                   if (pattern1665 (x2, 
   14399              : E_V16SFmode, 
   14400              : E_HImode) != 0
   14401              :                       || !(
   14402              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14403              : (TARGET_AVX512F) && (
   14404              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14405              : (TARGET_AVX512F) && 
   14406              : #line 30513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14407              : (TARGET_AVX512DQ && (V16SFmode == V16SFmode
   14408              :                                                                               || V16SFmode == V8DFmode
   14409              :                                                                               || V16SFmode == V8DImode
   14410              :                                                                               || V16SFmode == V16SImode
   14411              :                                                                               || V16SFmode == V32HFmode)))))
   14412              :                     return -1;
   14413              :                   return 10035; /* avx512dq_rangepv16sf_mask_round */
   14414              : 
   14415              :                 case E_V8DFmode:
   14416              :                   if (pattern1665 (x2, 
   14417              : E_V8DFmode, 
   14418              : E_QImode) != 0
   14419              :                       || !(
   14420              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14421              : (TARGET_AVX512F) && (
   14422              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14423              : (TARGET_AVX512F) && 
   14424              : #line 30513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14425              : (TARGET_AVX512DQ && (V8DFmode == V16SFmode
   14426              :                                                                               || V8DFmode == V8DFmode
   14427              :                                                                               || V8DFmode == V8DImode
   14428              :                                                                               || V8DFmode == V16SImode
   14429              :                                                                               || V8DFmode == V32HFmode)))))
   14430              :                     return -1;
   14431              :                   return 10043; /* avx512dq_rangepv8df_mask_round */
   14432              : 
   14433              :                 default:
   14434              :                   return -1;
   14435              :                 }
   14436              : 
   14437              :             case CONST_INT:
   14438              :               if (XWINT (x7, 0) != 1L)
   14439              :                 return -1;
   14440              :               operands[4] = x9;
   14441              :               x10 = XEXP (x3, 1);
   14442              :               if (!rtx_equal_p (x10, operands[1]))
   14443              :                 return -1;
   14444              :               switch (GET_MODE (operands[0]))
   14445              :                 {
   14446              :                 case E_V4SFmode:
   14447              :                   if (pattern1416 (x2, 
   14448              : E_V4SFmode) != 0
   14449              :                       || !(
   14450              : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14451              : (TARGET_AVX512F) && 
   14452              : #line 30536 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14453              : (TARGET_AVX512DQ)))
   14454              :                     return -1;
   14455              :                   return 10050; /* avx512dq_rangesv4sf_round */
   14456              : 
   14457              :                 case E_V2DFmode:
   14458              :                   if (pattern1416 (x2, 
   14459              : E_V2DFmode) != 0
   14460              :                       || !(
   14461              : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14462              : (TARGET_AVX512F) && (
   14463              : #line 30536 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14464              : (TARGET_AVX512DQ) && 
   14465              : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14466              : (TARGET_SSE2))))
   14467              :                     return -1;
   14468              :                   return 10054; /* avx512dq_rangesv2df_round */
   14469              : 
   14470              :                 default:
   14471              :                   return -1;
   14472              :                 }
   14473              : 
   14474              :             default:
   14475              :               return -1;
   14476              :             }
   14477              : 
   14478              :         case 167:
   14479              :           x7 = XEXP (x3, 2);
   14480              :           if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   14481              :             return -1;
   14482              :           x8 = XVECEXP (x4, 0, 2);
   14483              :           operands[3] = x8;
   14484              :           if (!const_0_to_15_operand (operands[3], E_SImode))
   14485              :             return -1;
   14486              :           switch (pattern1418 (x2))
   14487              :             {
   14488              :             case 0:
   14489              :               if (!(
   14490              : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14491              : (TARGET_AVX512F) && (
   14492              : #line 30604 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14493              : (TARGET_AVX512F) && 
   14494              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14495              : (TARGET_AVX512FP16))))
   14496              :                 return -1;
   14497              :               return 10118; /* avx512f_vgetmantv8hf_round */
   14498              : 
   14499              :             case 1:
   14500              :               if (!
   14501              : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14502              : (TARGET_AVX512F))
   14503              :                 return -1;
   14504              :               return 10122; /* avx512f_vgetmantv4sf_round */
   14505              : 
   14506              :             case 2:
   14507              :               if (!(
   14508              : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14509              : (TARGET_AVX512F) && (
   14510              : #line 30604 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14511              : (TARGET_AVX512F) && 
   14512              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14513              : (TARGET_SSE2))))
   14514              :                 return -1;
   14515              :               return 10126; /* avx512f_vgetmantv2df_round */
   14516              : 
   14517              :             default:
   14518              :               return -1;
   14519              :             }
   14520              : 
   14521              :         case 279:
   14522              :           x8 = XVECEXP (x4, 0, 2);
   14523              :           operands[3] = x8;
   14524              :           if (!const_0_to_255_operand (operands[3], E_SImode))
   14525              :             return -1;
   14526              :           x9 = XVECEXP (x2, 0, 1);
   14527              :           if (!const48_operand (x9, E_SImode))
   14528              :             return -1;
   14529              :           x7 = XEXP (x3, 2);
   14530              :           switch (GET_CODE (x7))
   14531              :             {
   14532              :             case REG:
   14533              :             case SUBREG:
   14534              :               operands[5] = x7;
   14535              :               x10 = XEXP (x3, 1);
   14536              :               operands[4] = x10;
   14537              :               operands[6] = x9;
   14538              :               switch (GET_MODE (operands[0]))
   14539              :                 {
   14540              :                 case E_V32HFmode:
   14541              :                   if (pattern1665 (x2, 
   14542              : E_V32HFmode, 
   14543              : E_SImode) != 0
   14544              :                       || !(
   14545              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14546              : (TARGET_AVX512F) && (
   14547              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14548              : (TARGET_AVX512F) && (
   14549              : #line 33353 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14550              : (TARGET_AVX10_2) && 
   14551              : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14552              : (TARGET_AVX512FP16)))))
   14553              :                     return -1;
   14554              :                   return 10981; /* avx10_2_minmaxpv32hf_mask_round */
   14555              : 
   14556              :                 case E_V16HFmode:
   14557              :                   if (pattern1665 (x2, 
   14558              : E_V16HFmode, 
   14559              : E_HImode) != 0
   14560              :                       || !(
   14561              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14562              : (TARGET_AVX512F) && (
   14563              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14564              : (TARGET_AVX512F) && (
   14565              : #line 33353 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14566              : (TARGET_AVX10_2) && 
   14567              : #line 515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14568              : (TARGET_AVX512FP16 && TARGET_AVX512VL)))))
   14569              :                     return -1;
   14570              :                   return 10985; /* avx10_2_minmaxpv16hf_mask_round */
   14571              : 
   14572              :                 case E_V8HFmode:
   14573              :                   if (pattern1665 (x2, 
   14574              : E_V8HFmode, 
   14575              : E_QImode) != 0
   14576              :                       || !(
   14577              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14578              : (TARGET_AVX512F) && (
   14579              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14580              : (TARGET_AVX512F) && (
   14581              : #line 33353 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14582              : (TARGET_AVX10_2) && 
   14583              : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14584              : (TARGET_AVX512FP16 && TARGET_AVX512VL)))))
   14585              :                     return -1;
   14586              :                   return 10989; /* avx10_2_minmaxpv8hf_mask_round */
   14587              : 
   14588              :                 case E_V16SFmode:
   14589              :                   if (pattern1665 (x2, 
   14590              : E_V16SFmode, 
   14591              : E_HImode) != 0
   14592              :                       || !(
   14593              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14594              : (TARGET_AVX512F) && (
   14595              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14596              : (TARGET_AVX512F) && 
   14597              : #line 33353 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14598              : (TARGET_AVX10_2))))
   14599              :                     return -1;
   14600              :                   return 10993; /* avx10_2_minmaxpv16sf_mask_round */
   14601              : 
   14602              :                 case E_V8SFmode:
   14603              :                   if (pattern1665 (x2, 
   14604              : E_V8SFmode, 
   14605              : E_QImode) != 0
   14606              :                       || !(
   14607              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14608              : (TARGET_AVX512F) && (
   14609              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14610              : (TARGET_AVX512F) && (
   14611              : #line 33353 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14612              : (TARGET_AVX10_2) && 
   14613              : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14614              : (TARGET_AVX512VL)))))
   14615              :                     return -1;
   14616              :                   return 10997; /* avx10_2_minmaxpv8sf_mask_round */
   14617              : 
   14618              :                 case E_V4SFmode:
   14619              :                   if (pattern1665 (x2, 
   14620              : E_V4SFmode, 
   14621              : E_QImode) != 0
   14622              :                       || !(
   14623              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14624              : (TARGET_AVX512F) && (
   14625              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14626              : (TARGET_AVX512F) && (
   14627              : #line 33353 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14628              : (TARGET_AVX10_2) && 
   14629              : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14630              : (TARGET_AVX512VL)))))
   14631              :                     return -1;
   14632              :                   return 11001; /* avx10_2_minmaxpv4sf_mask_round */
   14633              : 
   14634              :                 case E_V8DFmode:
   14635              :                   if (pattern1665 (x2, 
   14636              : E_V8DFmode, 
   14637              : E_QImode) != 0
   14638              :                       || !(
   14639              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14640              : (TARGET_AVX512F) && (
   14641              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14642              : (TARGET_AVX512F) && 
   14643              : #line 33353 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14644              : (TARGET_AVX10_2))))
   14645              :                     return -1;
   14646              :                   return 11005; /* avx10_2_minmaxpv8df_mask_round */
   14647              : 
   14648              :                 case E_V4DFmode:
   14649              :                   if (pattern1665 (x2, 
   14650              : E_V4DFmode, 
   14651              : E_QImode) != 0
   14652              :                       || !(
   14653              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14654              : (TARGET_AVX512F) && (
   14655              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14656              : (TARGET_AVX512F) && (
   14657              : #line 33353 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14658              : (TARGET_AVX10_2) && 
   14659              : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14660              : (TARGET_AVX512VL)))))
   14661              :                     return -1;
   14662              :                   return 11009; /* avx10_2_minmaxpv4df_mask_round */
   14663              : 
   14664              :                 case E_V2DFmode:
   14665              :                   if (pattern1665 (x2, 
   14666              : E_V2DFmode, 
   14667              : E_QImode) != 0
   14668              :                       || !(
   14669              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14670              : (TARGET_AVX512F) && (
   14671              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14672              : (TARGET_AVX512F) && (
   14673              : #line 33353 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14674              : (TARGET_AVX10_2) && 
   14675              : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14676              : (TARGET_AVX512VL)))))
   14677              :                     return -1;
   14678              :                   return 11013; /* avx10_2_minmaxpv2df_mask_round */
   14679              : 
   14680              :                 default:
   14681              :                   return -1;
   14682              :                 }
   14683              : 
   14684              :             case CONST_INT:
   14685              :               if (XWINT (x7, 0) != 1L)
   14686              :                 return -1;
   14687              :               operands[4] = x9;
   14688              :               switch (pattern1417 (x2))
   14689              :                 {
   14690              :                 case 0:
   14691              :                   if (!(
   14692              : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14693              : (TARGET_AVX512F) && (
   14694              : #line 33368 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14695              : (TARGET_AVX10_2) && 
   14696              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14697              : (TARGET_AVX512FP16))))
   14698              :                     return -1;
   14699              :                   return 11016; /* avx10_2_minmaxsv8hf_round */
   14700              : 
   14701              :                 case 1:
   14702              :                   if (!(
   14703              : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14704              : (TARGET_AVX512F) && 
   14705              : #line 33368 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14706              : (TARGET_AVX10_2)))
   14707              :                     return -1;
   14708              :                   return 11020; /* avx10_2_minmaxsv4sf_round */
   14709              : 
   14710              :                 case 2:
   14711              :                   if (!(
   14712              : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14713              : (TARGET_AVX512F) && (
   14714              : #line 33368 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14715              : (TARGET_AVX10_2) && 
   14716              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14717              : (TARGET_SSE2))))
   14718              :                     return -1;
   14719              :                   return 11024; /* avx10_2_minmaxsv2df_round */
   14720              : 
   14721              :                 default:
   14722              :                   return -1;
   14723              :                 }
   14724              : 
   14725              :             default:
   14726              :               return -1;
   14727              :             }
   14728              : 
   14729              :         default:
   14730              :           return -1;
   14731              :         }
   14732              : 
   14733              :     case 1:
   14734              :       return recog_225 (x1, insn, pnum_clobbers);
   14735              : 
   14736              :     case 4:
   14737              :       if (XINT (x4, 1) != 164)
   14738              :         return -1;
   14739              :       x5 = XVECEXP (x4, 0, 0);
   14740              :       operands[1] = x5;
   14741              :       x6 = XVECEXP (x4, 0, 1);
   14742              :       operands[2] = x6;
   14743              :       x8 = XVECEXP (x4, 0, 2);
   14744              :       operands[3] = x8;
   14745              :       x11 = XVECEXP (x4, 0, 3);
   14746              :       operands[4] = x11;
   14747              :       if (!const_0_to_255_operand (operands[4], E_SImode))
   14748              :         return -1;
   14749              :       x9 = XVECEXP (x2, 0, 1);
   14750              :       if (!const48_operand (x9, E_SImode))
   14751              :         return -1;
   14752              :       x10 = XEXP (x3, 1);
   14753              :       switch (GET_CODE (x10))
   14754              :         {
   14755              :         case CONST_INT:
   14756              :         case CONST_DOUBLE:
   14757              :         case CONST_VECTOR:
   14758              :           operands[5] = x10;
   14759              :           x7 = XEXP (x3, 2);
   14760              :           operands[6] = x7;
   14761              :           operands[7] = x9;
   14762              :           switch (GET_MODE (operands[0]))
   14763              :             {
   14764              :             case E_V16SFmode:
   14765              :               if (pattern1694 (x2, 
   14766              : E_V16SFmode, 
   14767              : E_V16SImode, 
   14768              : E_HImode) != 0
   14769              :                   || !
   14770              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14771              : (TARGET_AVX512F))
   14772              :                 return -1;
   14773              :               return 7127; /* avx512f_fixupimmv16sf_maskz_1_round */
   14774              : 
   14775              :             case E_V8SFmode:
   14776              :               if (pattern1694 (x2, 
   14777              : E_V8SFmode, 
   14778              : E_V8SImode, 
   14779              : E_QImode) != 0
   14780              :                   || !(
   14781              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14782              : (TARGET_AVX512F) && (
   14783              : #line 14471 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14784              : (TARGET_AVX512F) && 
   14785              : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14786              : (TARGET_AVX512VL))))
   14787              :                 return -1;
   14788              :               return 7131; /* avx512vl_fixupimmv8sf_maskz_1_round */
   14789              : 
   14790              :             case E_V4SFmode:
   14791              :               if (pattern1694 (x2, 
   14792              : E_V4SFmode, 
   14793              : E_V4SImode, 
   14794              : E_QImode) != 0
   14795              :                   || !(
   14796              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14797              : (TARGET_AVX512F) && (
   14798              : #line 14471 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14799              : (TARGET_AVX512F) && 
   14800              : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14801              : (TARGET_AVX512VL))))
   14802              :                 return -1;
   14803              :               return 7135; /* avx512vl_fixupimmv4sf_maskz_1_round */
   14804              : 
   14805              :             case E_V8DFmode:
   14806              :               if (pattern1694 (x2, 
   14807              : E_V8DFmode, 
   14808              : E_V8DImode, 
   14809              : E_QImode) != 0
   14810              :                   || !
   14811              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14812              : (TARGET_AVX512F))
   14813              :                 return -1;
   14814              :               return 7139; /* avx512f_fixupimmv8df_maskz_1_round */
   14815              : 
   14816              :             case E_V4DFmode:
   14817              :               if (pattern1694 (x2, 
   14818              : E_V4DFmode, 
   14819              : E_V4DImode, 
   14820              : E_QImode) != 0
   14821              :                   || !(
   14822              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14823              : (TARGET_AVX512F) && (
   14824              : #line 14471 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14825              : (TARGET_AVX512F) && 
   14826              : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14827              : (TARGET_AVX512VL))))
   14828              :                 return -1;
   14829              :               return 7143; /* avx512vl_fixupimmv4df_maskz_1_round */
   14830              : 
   14831              :             case E_V2DFmode:
   14832              :               if (pattern1694 (x2, 
   14833              : E_V2DFmode, 
   14834              : E_V2DImode, 
   14835              : E_QImode) != 0
   14836              :                   || !(
   14837              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14838              : (TARGET_AVX512F) && (
   14839              : #line 14471 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14840              : (TARGET_AVX512F) && 
   14841              : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14842              : (TARGET_AVX512VL))))
   14843              :                 return -1;
   14844              :               return 7147; /* avx512vl_fixupimmv2df_maskz_1_round */
   14845              : 
   14846              :             default:
   14847              :               return -1;
   14848              :             }
   14849              : 
   14850              :         case REG:
   14851              :         case SUBREG:
   14852              :           x7 = XEXP (x3, 2);
   14853              :           switch (GET_CODE (x7))
   14854              :             {
   14855              :             case REG:
   14856              :             case SUBREG:
   14857              :               operands[5] = x7;
   14858              :               operands[6] = x9;
   14859              :               if (!rtx_equal_p (x10, operands[1]))
   14860              :                 return -1;
   14861              :               switch (GET_MODE (operands[0]))
   14862              :                 {
   14863              :                 case E_V16SFmode:
   14864              :                   if (pattern1718 (x2, 
   14865              : E_V16SImode, 
   14866              : E_V16SFmode, 
   14867              : E_HImode) != 0
   14868              :                       || !
   14869              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14870              : (TARGET_AVX512F))
   14871              :                     return -1;
   14872              :                   return 7149; /* avx512f_fixupimmv16sf_mask_round */
   14873              : 
   14874              :                 case E_V8SFmode:
   14875              :                   if (pattern1718 (x2, 
   14876              : E_V8SImode, 
   14877              : E_V8SFmode, 
   14878              : E_QImode) != 0
   14879              :                       || !(
   14880              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14881              : (TARGET_AVX512F) && (
   14882              : #line 14487 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14883              : (TARGET_AVX512F) && 
   14884              : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14885              : (TARGET_AVX512VL))))
   14886              :                     return -1;
   14887              :                   return 7151; /* avx512vl_fixupimmv8sf_mask_round */
   14888              : 
   14889              :                 case E_V4SFmode:
   14890              :                   if (pattern1718 (x2, 
   14891              : E_V4SImode, 
   14892              : E_V4SFmode, 
   14893              : E_QImode) != 0
   14894              :                       || !(
   14895              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14896              : (TARGET_AVX512F) && (
   14897              : #line 14487 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14898              : (TARGET_AVX512F) && 
   14899              : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14900              : (TARGET_AVX512VL))))
   14901              :                     return -1;
   14902              :                   return 7153; /* avx512vl_fixupimmv4sf_mask_round */
   14903              : 
   14904              :                 case E_V8DFmode:
   14905              :                   if (pattern1718 (x2, 
   14906              : E_V8DImode, 
   14907              : E_V8DFmode, 
   14908              : E_QImode) != 0
   14909              :                       || !
   14910              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14911              : (TARGET_AVX512F))
   14912              :                     return -1;
   14913              :                   return 7155; /* avx512f_fixupimmv8df_mask_round */
   14914              : 
   14915              :                 case E_V4DFmode:
   14916              :                   if (pattern1718 (x2, 
   14917              : E_V4DImode, 
   14918              : E_V4DFmode, 
   14919              : E_QImode) != 0
   14920              :                       || !(
   14921              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14922              : (TARGET_AVX512F) && (
   14923              : #line 14487 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14924              : (TARGET_AVX512F) && 
   14925              : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14926              : (TARGET_AVX512VL))))
   14927              :                     return -1;
   14928              :                   return 7157; /* avx512vl_fixupimmv4df_mask_round */
   14929              : 
   14930              :                 case E_V2DFmode:
   14931              :                   if (pattern1718 (x2, 
   14932              : E_V2DImode, 
   14933              : E_V2DFmode, 
   14934              : E_QImode) != 0
   14935              :                       || !(
   14936              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14937              : (TARGET_AVX512F) && (
   14938              : #line 14487 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14939              : (TARGET_AVX512F) && 
   14940              : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14941              : (TARGET_AVX512VL))))
   14942              :                     return -1;
   14943              :                   return 7159; /* avx512vl_fixupimmv2df_mask_round */
   14944              : 
   14945              :                 default:
   14946              :                   return -1;
   14947              :                 }
   14948              : 
   14949              :             case CONST_INT:
   14950              :               if (XWINT (x7, 0) != 1L)
   14951              :                 return -1;
   14952              :               operands[5] = x9;
   14953              :               if (!rtx_equal_p (x10, operands[2]))
   14954              :                 return -1;
   14955              :               switch (GET_MODE (operands[0]))
   14956              :                 {
   14957              :                 case E_V4SFmode:
   14958              :                   if (pattern1719 (x2, 
   14959              : E_V4SImode, 
   14960              : E_V4SFmode) != 0
   14961              :                       || !
   14962              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14963              : (TARGET_AVX512F))
   14964              :                     return -1;
   14965              :                   return 7161; /* avx512f_sfixupimmv4sf_round */
   14966              : 
   14967              :                 case E_V2DFmode:
   14968              :                   if (pattern1719 (x2, 
   14969              : E_V2DImode, 
   14970              : E_V2DFmode) != 0
   14971              :                       || !(
   14972              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14973              : (TARGET_AVX512F) && (
   14974              : #line 14519 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14975              : (TARGET_AVX512F) && 
   14976              : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14977              : (TARGET_SSE2))))
   14978              :                     return -1;
   14979              :                   return 7165; /* avx512f_sfixupimmv2df_round */
   14980              : 
   14981              :                 default:
   14982              :                   return -1;
   14983              :                 }
   14984              : 
   14985              :             default:
   14986              :               return -1;
   14987              :             }
   14988              : 
   14989              :         default:
   14990              :           return -1;
   14991              :         }
   14992              : 
   14993              :     default:
   14994              :       return -1;
   14995              :     }
   14996              : }
   14997              : 
   14998              :  int
   14999              : recog_237 (rtx x1 ATTRIBUTE_UNUSED,
   15000              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   15001              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   15002              : {
   15003              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   15004              :   rtx x2, x3, x4, x5;
   15005              :   int res ATTRIBUTE_UNUSED;
   15006              :   x2 = XEXP (x1, 0);
   15007              :   if (GET_CODE (x2) != REG
   15008              :       || REGNO (x2) != 17)
   15009              :     return -1;
   15010              :   x3 = XEXP (x1, 1);
   15011              :   x4 = XVECEXP (x3, 0, 0);
   15012              :   operands[0] = x4;
   15013              :   x5 = XVECEXP (x3, 0, 1);
   15014              :   operands[1] = x5;
   15015              :   switch (GET_MODE (operands[0]))
   15016              :     {
   15017              :     case E_V16QImode:
   15018              :       if (!register_operand (operands[0], E_V16QImode)
   15019              :           || !vector_operand (operands[1], E_V16QImode)
   15020              :           || !
   15021              : #line 25902 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15022              : (TARGET_SSE4_1 && ix86_match_ptest_ccmode (insn)))
   15023              :         return -1;
   15024              :       return 8985; /* *sse4_1_ptestv16qi */
   15025              : 
   15026              :     case E_V8HImode:
   15027              :       if (!register_operand (operands[0], E_V8HImode)
   15028              :           || !vector_operand (operands[1], E_V8HImode)
   15029              :           || !
   15030              : #line 25902 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15031              : (TARGET_SSE4_1 && ix86_match_ptest_ccmode (insn)))
   15032              :         return -1;
   15033              :       return 8986; /* *sse4_1_ptestv8hi */
   15034              : 
   15035              :     case E_V4SImode:
   15036              :       if (!register_operand (operands[0], E_V4SImode)
   15037              :           || !vector_operand (operands[1], E_V4SImode)
   15038              :           || !
   15039              : #line 25902 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15040              : (TARGET_SSE4_1 && ix86_match_ptest_ccmode (insn)))
   15041              :         return -1;
   15042              :       return 8987; /* *sse4_1_ptestv4si */
   15043              : 
   15044              :     case E_V2DImode:
   15045              :       if (!register_operand (operands[0], E_V2DImode)
   15046              :           || !vector_operand (operands[1], E_V2DImode)
   15047              :           || !
   15048              : #line 25902 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15049              : (TARGET_SSE4_1 && ix86_match_ptest_ccmode (insn)))
   15050              :         return -1;
   15051              :       return 8988; /* *sse4_1_ptestv2di */
   15052              : 
   15053              :     case E_V1TImode:
   15054              :       if (!register_operand (operands[0], E_V1TImode)
   15055              :           || !vector_operand (operands[1], E_V1TImode)
   15056              :           || !
   15057              : #line 25902 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15058              : (TARGET_SSE4_1 && ix86_match_ptest_ccmode (insn)))
   15059              :         return -1;
   15060              :       return 8989; /* *sse4_1_ptestv1ti */
   15061              : 
   15062              :     case E_V4SFmode:
   15063              :       if (!register_operand (operands[0], E_V4SFmode)
   15064              :           || !vector_operand (operands[1], E_V4SFmode)
   15065              :           || !
   15066              : #line 25902 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15067              : (TARGET_SSE4_1 && ix86_match_ptest_ccmode (insn)))
   15068              :         return -1;
   15069              :       return 8990; /* *sse4_1_ptestv4sf */
   15070              : 
   15071              :     case E_V2DFmode:
   15072              :       if (!register_operand (operands[0], E_V2DFmode)
   15073              :           || !vector_operand (operands[1], E_V2DFmode)
   15074              :           || !
   15075              : #line 25902 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15076              : (TARGET_SSE4_1 && ix86_match_ptest_ccmode (insn)))
   15077              :         return -1;
   15078              :       return 8991; /* *sse4_1_ptestv2df */
   15079              : 
   15080              :     case E_V32QImode:
   15081              :       if (!register_operand (operands[0], E_V32QImode)
   15082              :           || !vector_operand (operands[1], E_V32QImode)
   15083              :           || !(
   15084              : #line 25902 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15085              : (TARGET_SSE4_1 && ix86_match_ptest_ccmode (insn)) && 
   15086              : #line 602 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15087              : (TARGET_AVX)))
   15088              :         return -1;
   15089              :       return 8992; /* *avx_ptestv32qi */
   15090              : 
   15091              :     case E_V16HImode:
   15092              :       if (!register_operand (operands[0], E_V16HImode)
   15093              :           || !vector_operand (operands[1], E_V16HImode)
   15094              :           || !(
   15095              : #line 25902 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15096              : (TARGET_SSE4_1 && ix86_match_ptest_ccmode (insn)) && 
   15097              : #line 602 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15098              : (TARGET_AVX)))
   15099              :         return -1;
   15100              :       return 8993; /* *avx_ptestv16hi */
   15101              : 
   15102              :     case E_V8SImode:
   15103              :       if (!register_operand (operands[0], E_V8SImode)
   15104              :           || !vector_operand (operands[1], E_V8SImode)
   15105              :           || !(
   15106              : #line 25902 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15107              : (TARGET_SSE4_1 && ix86_match_ptest_ccmode (insn)) && 
   15108              : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15109              : (TARGET_AVX)))
   15110              :         return -1;
   15111              :       return 8994; /* *avx_ptestv8si */
   15112              : 
   15113              :     case E_V4DImode:
   15114              :       if (!register_operand (operands[0], E_V4DImode)
   15115              :           || !vector_operand (operands[1], E_V4DImode)
   15116              :           || !(
   15117              : #line 25902 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15118              : (TARGET_SSE4_1 && ix86_match_ptest_ccmode (insn)) && 
   15119              : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15120              : (TARGET_AVX)))
   15121              :         return -1;
   15122              :       return 8995; /* *avx_ptestv4di */
   15123              : 
   15124              :     case E_V2TImode:
   15125              :       if (!register_operand (operands[0], E_V2TImode)
   15126              :           || !vector_operand (operands[1], E_V2TImode)
   15127              :           || !(
   15128              : #line 25902 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15129              : (TARGET_SSE4_1 && ix86_match_ptest_ccmode (insn)) && 
   15130              : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15131              : (TARGET_AVX)))
   15132              :         return -1;
   15133              :       return 8996; /* *avx_ptestv2ti */
   15134              : 
   15135              :     case E_V8SFmode:
   15136              :       if (!register_operand (operands[0], E_V8SFmode)
   15137              :           || !vector_operand (operands[1], E_V8SFmode)
   15138              :           || !(
   15139              : #line 25902 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15140              : (TARGET_SSE4_1 && ix86_match_ptest_ccmode (insn)) && 
   15141              : #line 604 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15142              : (TARGET_AVX)))
   15143              :         return -1;
   15144              :       return 8997; /* *avx_ptestv8sf */
   15145              : 
   15146              :     case E_V4DFmode:
   15147              :       if (!register_operand (operands[0], E_V4DFmode)
   15148              :           || !vector_operand (operands[1], E_V4DFmode)
   15149              :           || !(
   15150              : #line 25902 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15151              : (TARGET_SSE4_1 && ix86_match_ptest_ccmode (insn)) && 
   15152              : #line 604 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15153              : (TARGET_AVX)))
   15154              :         return -1;
   15155              :       return 8998; /* *avx_ptestv4df */
   15156              : 
   15157              :     default:
   15158              :       return -1;
   15159              :     }
   15160              : }
   15161              : 
   15162              :  int
   15163              : recog_239 (rtx x1 ATTRIBUTE_UNUSED,
   15164              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   15165              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   15166              : {
   15167              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   15168              :   rtx x2, x3, x4, x5;
   15169              :   int res ATTRIBUTE_UNUSED;
   15170              :   x2 = XEXP (x1, 0);
   15171              :   operands[0] = x2;
   15172              :   x3 = XEXP (x1, 1);
   15173              :   x4 = XVECEXP (x3, 0, 0);
   15174              :   operands[1] = x4;
   15175              :   x5 = XVECEXP (x3, 0, 1);
   15176              :   operands[2] = x5;
   15177              :   switch (GET_MODE (operands[0]))
   15178              :     {
   15179              :     case E_V8SImode:
   15180              :       if (pattern787 (x3, 
   15181              : E_V8SImode) != 0
   15182              :           || !
   15183              : #line 28004 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15184              : (TARGET_AVX2 && 1))
   15185              :         return -1;
   15186              :       return 9169; /* avx2_permvarv8si */
   15187              : 
   15188              :     case E_V8SFmode:
   15189              :       if (pattern788 (x3, 
   15190              : E_V8SImode, 
   15191              : E_V8SFmode) != 0
   15192              :           || !
   15193              : #line 28004 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15194              : (TARGET_AVX2 && 1))
   15195              :         return -1;
   15196              :       return 9171; /* avx2_permvarv8sf */
   15197              : 
   15198              :     case E_V16SImode:
   15199              :       if (pattern787 (x3, 
   15200              : E_V16SImode) != 0
   15201              :           || !(
   15202              : #line 28004 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15203              : (TARGET_AVX2 && 1) && 
   15204              : #line 982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15205              : (TARGET_AVX512F)))
   15206              :         return -1;
   15207              :       return 9173; /* avx512f_permvarv16si */
   15208              : 
   15209              :     case E_V16SFmode:
   15210              :       if (pattern788 (x3, 
   15211              : E_V16SImode, 
   15212              : E_V16SFmode) != 0
   15213              :           || !(
   15214              : #line 28004 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15215              : (TARGET_AVX2 && 1) && 
   15216              : #line 982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15217              : (TARGET_AVX512F)))
   15218              :         return -1;
   15219              :       return 9175; /* avx512f_permvarv16sf */
   15220              : 
   15221              :     case E_V8DImode:
   15222              :       if (pattern787 (x3, 
   15223              : E_V8DImode) != 0
   15224              :           || !(
   15225              : #line 28004 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15226              : (TARGET_AVX2 && 1) && 
   15227              : #line 983 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15228              : (TARGET_AVX512F)))
   15229              :         return -1;
   15230              :       return 9177; /* avx512f_permvarv8di */
   15231              : 
   15232              :     case E_V8DFmode:
   15233              :       if (pattern788 (x3, 
   15234              : E_V8DImode, 
   15235              : E_V8DFmode) != 0
   15236              :           || !(
   15237              : #line 28004 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15238              : (TARGET_AVX2 && 1) && 
   15239              : #line 983 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15240              : (TARGET_AVX512F)))
   15241              :         return -1;
   15242              :       return 9179; /* avx512f_permvarv8df */
   15243              : 
   15244              :     case E_V4DImode:
   15245              :       if (pattern787 (x3, 
   15246              : E_V4DImode) != 0
   15247              :           || !(
   15248              : #line 28004 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15249              : (TARGET_AVX2 && 1) && 
   15250              : #line 984 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15251              : (TARGET_AVX512VL)))
   15252              :         return -1;
   15253              :       return 9181; /* avx2_permvarv4di */
   15254              : 
   15255              :     case E_V4DFmode:
   15256              :       if (pattern788 (x3, 
   15257              : E_V4DImode, 
   15258              : E_V4DFmode) != 0
   15259              :           || !(
   15260              : #line 28004 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15261              : (TARGET_AVX2 && 1) && 
   15262              : #line 984 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15263              : (TARGET_AVX512VL)))
   15264              :         return -1;
   15265              :       return 9183; /* avx2_permvarv4df */
   15266              : 
   15267              :     case E_V64QImode:
   15268              :       if (pattern787 (x3, 
   15269              : E_V64QImode) != 0
   15270              :           || !
   15271              : #line 28023 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15272              : (TARGET_AVX512VBMI && 1))
   15273              :         return -1;
   15274              :       return 9185; /* avx512bw_permvarv64qi */
   15275              : 
   15276              :     case E_V16QImode:
   15277              :       if (pattern787 (x3, 
   15278              : E_V16QImode) != 0
   15279              :           || !(
   15280              : #line 28023 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15281              : (TARGET_AVX512VBMI && 1) && 
   15282              : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15283              : (TARGET_AVX512VL)))
   15284              :         return -1;
   15285              :       return 9187; /* avx512vl_permvarv16qi */
   15286              : 
   15287              :     case E_V32QImode:
   15288              :       if (pattern787 (x3, 
   15289              : E_V32QImode) != 0
   15290              :           || !(
   15291              : #line 28023 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15292              : (TARGET_AVX512VBMI && 1) && 
   15293              : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15294              : (TARGET_AVX512VL)))
   15295              :         return -1;
   15296              :       return 9189; /* avx512vl_permvarv32qi */
   15297              : 
   15298              :     case E_V8HImode:
   15299              :       if (pattern787 (x3, 
   15300              : E_V8HImode) != 0
   15301              :           || !(
   15302              : #line 28035 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15303              : (TARGET_AVX512BW && 1) && 
   15304              : #line 682 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15305              : (TARGET_AVX512VL)))
   15306              :         return -1;
   15307              :       return 9191; /* avx512vl_permvarv8hi */
   15308              : 
   15309              :     case E_V16HImode:
   15310              :       if (pattern787 (x3, 
   15311              : E_V16HImode) != 0
   15312              :           || !(
   15313              : #line 28035 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15314              : (TARGET_AVX512BW && 1) && 
   15315              : #line 682 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15316              : (TARGET_AVX512VL)))
   15317              :         return -1;
   15318              :       return 9193; /* avx512vl_permvarv16hi */
   15319              : 
   15320              :     case E_V32HImode:
   15321              :       if (pattern787 (x3, 
   15322              : E_V32HImode) != 0
   15323              :           || !
   15324              : #line 28035 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15325              : (TARGET_AVX512BW && 1))
   15326              :         return -1;
   15327              :       return 9195; /* avx512bw_permvarv32hi */
   15328              : 
   15329              :     case E_V8HFmode:
   15330              :       if (pattern788 (x3, 
   15331              : E_V8HImode, 
   15332              : E_V8HFmode) != 0
   15333              :           || !(
   15334              : #line 28035 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15335              : (TARGET_AVX512BW && 1) && 
   15336              : #line 683 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15337              : (TARGET_AVX512VL)))
   15338              :         return -1;
   15339              :       return 9197; /* avx512fp16_permvarv8hf */
   15340              : 
   15341              :     case E_V16HFmode:
   15342              :       if (pattern788 (x3, 
   15343              : E_V16HImode, 
   15344              : E_V16HFmode) != 0
   15345              :           || !(
   15346              : #line 28035 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15347              : (TARGET_AVX512BW && 1) && 
   15348              : #line 683 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15349              : (TARGET_AVX512VL)))
   15350              :         return -1;
   15351              :       return 9199; /* avx512vl_permvarv16hf */
   15352              : 
   15353              :     case E_V32HFmode:
   15354              :       if (pattern788 (x3, 
   15355              : E_V32HImode, 
   15356              : E_V32HFmode) != 0
   15357              :           || !
   15358              : #line 28035 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15359              : (TARGET_AVX512BW && 1))
   15360              :         return -1;
   15361              :       return 9201; /* avx512bw_permvarv32hf */
   15362              : 
   15363              :     case E_V8BFmode:
   15364              :       if (pattern788 (x3, 
   15365              : E_V8HImode, 
   15366              : E_V8BFmode) != 0
   15367              :           || !(
   15368              : #line 28035 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15369              : (TARGET_AVX512BW && 1) && 
   15370              : #line 684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15371              : (TARGET_AVX512VL)))
   15372              :         return -1;
   15373              :       return 9203; /* avx512vl_permvarv8bf */
   15374              : 
   15375              :     case E_V16BFmode:
   15376              :       if (pattern788 (x3, 
   15377              : E_V16HImode, 
   15378              : E_V16BFmode) != 0
   15379              :           || !(
   15380              : #line 28035 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15381              : (TARGET_AVX512BW && 1) && 
   15382              : #line 684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15383              : (TARGET_AVX512VL)))
   15384              :         return -1;
   15385              :       return 9205; /* avx512vl_permvarv16bf */
   15386              : 
   15387              :     case E_V32BFmode:
   15388              :       if (pattern788 (x3, 
   15389              : E_V32HImode, 
   15390              : E_V32BFmode) != 0
   15391              :           || !
   15392              : #line 28035 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15393              : (TARGET_AVX512BW && 1))
   15394              :         return -1;
   15395              :       return 9207; /* avx512bw_permvarv32bf */
   15396              : 
   15397              :     default:
   15398              :       return -1;
   15399              :     }
   15400              : }
   15401              : 
   15402              :  int
   15403              : recog_242 (rtx x1 ATTRIBUTE_UNUSED,
   15404              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   15405              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   15406              : {
   15407              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   15408              :   rtx x2, x3, x4, x5;
   15409              :   int res ATTRIBUTE_UNUSED;
   15410              :   x2 = XEXP (x1, 0);
   15411              :   if (GET_CODE (x2) != REG
   15412              :       || REGNO (x2) != 17)
   15413              :     return -1;
   15414              :   x3 = XEXP (x1, 1);
   15415              :   x4 = XVECEXP (x3, 0, 0);
   15416              :   operands[0] = x4;
   15417              :   x5 = XVECEXP (x3, 0, 1);
   15418              :   operands[1] = x5;
   15419              :   switch (GET_MODE (operands[0]))
   15420              :     {
   15421              :     case E_QImode:
   15422              :       if (register_operand (operands[0], E_QImode)
   15423              :           && register_operand (operands[1], E_QImode)
   15424              :           && (
   15425              : #line 2370 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15426              : (TARGET_AVX512F) && 
   15427              : #line 2093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15428              : (TARGET_AVX512DQ)))
   15429              :         return 2677; /* *kortestqi */
   15430              :       break;
   15431              : 
   15432              :     case E_HImode:
   15433              :       if (register_operand (operands[0], E_HImode)
   15434              :           && register_operand (operands[1], E_HImode)
   15435              :           && 
   15436              : #line 2370 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15437              : (TARGET_AVX512F))
   15438              :         return 2678; /* *kortesthi */
   15439              :       break;
   15440              : 
   15441              :     case E_SImode:
   15442              :       if (register_operand (operands[0], E_SImode)
   15443              :           && register_operand (operands[1], E_SImode)
   15444              :           && (
   15445              : #line 2370 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15446              : (TARGET_AVX512F) && 
   15447              : #line 2093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15448              : (TARGET_AVX512BW)))
   15449              :         return 2679; /* *kortestsi */
   15450              :       break;
   15451              : 
   15452              :     case E_DImode:
   15453              :       if (register_operand (operands[0], E_DImode)
   15454              :           && register_operand (operands[1], E_DImode)
   15455              :           && (
   15456              : #line 2370 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15457              : (TARGET_AVX512F) && 
   15458              : #line 2093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15459              : (TARGET_AVX512BW)))
   15460              :         return 2680; /* *kortestdi */
   15461              :       break;
   15462              : 
   15463              :     default:
   15464              :       break;
   15465              :     }
   15466              :   switch (GET_MODE (x2))
   15467              :     {
   15468              :     case E_CCCmode:
   15469              :       if (GET_MODE (x3) != E_CCCmode)
   15470              :         return -1;
   15471              :       switch (pattern966 ())
   15472              :         {
   15473              :         case 0:
   15474              :           if (!(
   15475              : #line 2382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15476              : (TARGET_AVX512F) && 
   15477              : #line 2093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15478              : (TARGET_AVX512DQ)))
   15479              :             return -1;
   15480              :           return 2681; /* kortestqi_ccc */
   15481              : 
   15482              :         case 1:
   15483              :           if (!
   15484              : #line 2382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15485              : (TARGET_AVX512F))
   15486              :             return -1;
   15487              :           return 2682; /* kortesthi_ccc */
   15488              : 
   15489              :         case 2:
   15490              :           if (!(
   15491              : #line 2382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15492              : (TARGET_AVX512F) && 
   15493              : #line 2093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15494              : (TARGET_AVX512BW)))
   15495              :             return -1;
   15496              :           return 2683; /* kortestsi_ccc */
   15497              : 
   15498              :         case 3:
   15499              :           if (!(
   15500              : #line 2382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15501              : (TARGET_AVX512F) && 
   15502              : #line 2093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15503              : (TARGET_AVX512BW)))
   15504              :             return -1;
   15505              :           return 2684; /* kortestdi_ccc */
   15506              : 
   15507              :         default:
   15508              :           return -1;
   15509              :         }
   15510              : 
   15511              :     case E_CCZmode:
   15512              :       if (GET_MODE (x3) != E_CCZmode)
   15513              :         return -1;
   15514              :       switch (pattern966 ())
   15515              :         {
   15516              :         case 0:
   15517              :           if (!(
   15518              : #line 2390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15519              : (TARGET_AVX512F) && 
   15520              : #line 2093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15521              : (TARGET_AVX512DQ)))
   15522              :             return -1;
   15523              :           return 2685; /* kortestqi_ccz */
   15524              : 
   15525              :         case 1:
   15526              :           if (!
   15527              : #line 2390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15528              : (TARGET_AVX512F))
   15529              :             return -1;
   15530              :           return 2686; /* kortesthi_ccz */
   15531              : 
   15532              :         case 2:
   15533              :           if (!(
   15534              : #line 2390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15535              : (TARGET_AVX512F) && 
   15536              : #line 2093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15537              : (TARGET_AVX512BW)))
   15538              :             return -1;
   15539              :           return 2687; /* kortestsi_ccz */
   15540              : 
   15541              :         case 3:
   15542              :           if (!(
   15543              : #line 2390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15544              : (TARGET_AVX512F) && 
   15545              : #line 2093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15546              : (TARGET_AVX512BW)))
   15547              :             return -1;
   15548              :           return 2688; /* kortestdi_ccz */
   15549              : 
   15550              :         default:
   15551              :           return -1;
   15552              :         }
   15553              : 
   15554              :     default:
   15555              :       return -1;
   15556              :     }
   15557              : }
   15558              : 
   15559              :  int
   15560              : recog_251 (rtx x1 ATTRIBUTE_UNUSED,
   15561              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   15562              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   15563              : {
   15564              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   15565              :   rtx x2, x3, x4, x5, x6, x7, x8;
   15566              :   int res ATTRIBUTE_UNUSED;
   15567              :   x2 = XEXP (x1, 0);
   15568              :   operands[0] = x2;
   15569              :   x3 = XEXP (x1, 1);
   15570              :   x4 = XVECEXP (x3, 0, 2);
   15571              :   switch (GET_CODE (x4))
   15572              :     {
   15573              :     case LT:
   15574              :       x5 = XVECEXP (x3, 0, 0);
   15575              :       operands[1] = x5;
   15576              :       switch (pattern668 (x3))
   15577              :         {
   15578              :         case 0:
   15579              :           if ((
   15580              : #line 3386 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15581              : (TARGET_SSE && ix86_pre_reload_split ()
   15582              :    && ((rtx_equal_p (operands[1], operands[3])
   15583              :         && rtx_equal_p (operands[2], operands[4]))
   15584              :        || (rtx_equal_p (operands[1], operands[4])
   15585              :            && rtx_equal_p (operands[2], operands[3])))) && 
   15586              : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15587              : (TARGET_AVX)))
   15588              :             return 3102; /* *minmaxv8sf3_2 */
   15589              :           break;
   15590              : 
   15591              :         case 1:
   15592              :           if (
   15593              : #line 3386 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15594              : (TARGET_SSE && ix86_pre_reload_split ()
   15595              :    && ((rtx_equal_p (operands[1], operands[3])
   15596              :         && rtx_equal_p (operands[2], operands[4]))
   15597              :        || (rtx_equal_p (operands[1], operands[4])
   15598              :            && rtx_equal_p (operands[2], operands[3])))))
   15599              :             return 3103; /* *minmaxv4sf3_2 */
   15600              :           break;
   15601              : 
   15602              :         case 2:
   15603              :           if ((
   15604              : #line 3386 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15605              : (TARGET_SSE && ix86_pre_reload_split ()
   15606              :    && ((rtx_equal_p (operands[1], operands[3])
   15607              :         && rtx_equal_p (operands[2], operands[4]))
   15608              :        || (rtx_equal_p (operands[1], operands[4])
   15609              :            && rtx_equal_p (operands[2], operands[3])))) && 
   15610              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15611              : (TARGET_AVX)))
   15612              :             return 3104; /* *minmaxv4df3_2 */
   15613              :           break;
   15614              : 
   15615              :         case 3:
   15616              :           if ((
   15617              : #line 3386 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15618              : (TARGET_SSE && ix86_pre_reload_split ()
   15619              :    && ((rtx_equal_p (operands[1], operands[3])
   15620              :         && rtx_equal_p (operands[2], operands[4]))
   15621              :        || (rtx_equal_p (operands[1], operands[4])
   15622              :            && rtx_equal_p (operands[2], operands[3])))) && 
   15623              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15624              : (TARGET_SSE2)))
   15625              :             return 3105; /* *minmaxv2df3_2 */
   15626              :           break;
   15627              : 
   15628              :         case 4:
   15629              :           if ((
   15630              : #line 23936 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15631              : (TARGET_SSE4_1) && 
   15632              : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15633              : (TARGET_AVX)))
   15634              :             return 8734; /* *avx_blendvps256_lt */
   15635              :           break;
   15636              : 
   15637              :         case 5:
   15638              :           if (
   15639              : #line 23936 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15640              : (TARGET_SSE4_1))
   15641              :             return 8735; /* *sse4_1_blendvps_lt */
   15642              :           break;
   15643              : 
   15644              :         case 6:
   15645              :           if ((
   15646              : #line 23936 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15647              : (TARGET_SSE4_1) && 
   15648              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15649              : (TARGET_AVX)))
   15650              :             return 8736; /* *avx_blendvpd256_lt */
   15651              :           break;
   15652              : 
   15653              :         case 7:
   15654              :           if ((
   15655              : #line 23936 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15656              : (TARGET_SSE4_1) && 
   15657              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15658              : (TARGET_SSE2)))
   15659              :             return 8737; /* *sse4_1_blendvpd_lt */
   15660              :           break;
   15661              : 
   15662              :         case 8:
   15663              :           if ((
   15664              : #line 24259 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15665              : (TARGET_SSE4_1) && 
   15666              : #line 623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15667              : (TARGET_AVX2)))
   15668              :             return 8781; /* *avx2_pblendvb_lt */
   15669              :           break;
   15670              : 
   15671              :         case 9:
   15672              :           if (
   15673              : #line 24259 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15674              : (TARGET_SSE4_1))
   15675              :             return 8782; /* *sse4_1_pblendvb_lt */
   15676              :           break;
   15677              : 
   15678              :         default:
   15679              :           break;
   15680              :         }
   15681              :       x6 = XEXP (x4, 0);
   15682              :       if (GET_CODE (x6) != SUBREG)
   15683              :         return -1;
   15684              :       switch (pattern670 (x3))
   15685              :         {
   15686              :         case 0:
   15687              :           if (!(
   15688              : #line 24309 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15689              : (TARGET_SSE4_1
   15690              :    && GET_MODE_CLASS (GET_MODE (operands[3])) == MODE_VECTOR_INT
   15691              :    && GET_MODE_SIZE (GET_MODE (operands[3])) == 32
   15692              :    && ix86_pre_reload_split ()) && 
   15693              : #line 623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15694              : (TARGET_AVX2)))
   15695              :             return -1;
   15696              :           return 8785; /* *avx2_pblendvb_lt_subreg_not */
   15697              : 
   15698              :         case 1:
   15699              :           if (!
   15700              : #line 24309 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15701              : (TARGET_SSE4_1
   15702              :    && GET_MODE_CLASS (GET_MODE (operands[3])) == MODE_VECTOR_INT
   15703              :    && GET_MODE_SIZE (GET_MODE (operands[3])) == 16
   15704              :    && ix86_pre_reload_split ()))
   15705              :             return -1;
   15706              :           return 8786; /* *sse4_1_pblendvb_lt_subreg_not */
   15707              : 
   15708              :         default:
   15709              :           return -1;
   15710              :         }
   15711              : 
   15712              :     case REG:
   15713              :     case SUBREG:
   15714              :       operands[3] = x4;
   15715              :       x5 = XVECEXP (x3, 0, 0);
   15716              :       operands[1] = x5;
   15717              :       x7 = XVECEXP (x3, 0, 1);
   15718              :       operands[2] = x7;
   15719              :       switch (GET_MODE (operands[0]))
   15720              :         {
   15721              :         case E_V8SFmode:
   15722              :           if (pattern1035 (x3, 
   15723              : E_V8SFmode) == 0
   15724              :               && (
   15725              : #line 23872 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15726              : (TARGET_SSE4_1) && 
   15727              : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15728              : (TARGET_AVX)))
   15729              :             return 8728; /* avx_blendvps256 */
   15730              :           break;
   15731              : 
   15732              :         case E_V4SFmode:
   15733              :           if (pattern1035 (x3, 
   15734              : E_V4SFmode) == 0
   15735              :               && 
   15736              : #line 23872 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15737              : (TARGET_SSE4_1))
   15738              :             return 8729; /* sse4_1_blendvps */
   15739              :           break;
   15740              : 
   15741              :         case E_V4DFmode:
   15742              :           if (pattern1035 (x3, 
   15743              : E_V4DFmode) == 0
   15744              :               && (
   15745              : #line 23872 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15746              : (TARGET_SSE4_1) && 
   15747              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15748              : (TARGET_AVX)))
   15749              :             return 8730; /* avx_blendvpd256 */
   15750              :           break;
   15751              : 
   15752              :         case E_V2DFmode:
   15753              :           if (pattern1035 (x3, 
   15754              : E_V2DFmode) == 0
   15755              :               && (
   15756              : #line 23872 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15757              : (TARGET_SSE4_1) && 
   15758              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15759              : (TARGET_SSE2)))
   15760              :             return 8731; /* sse4_1_blendvpd */
   15761              :           break;
   15762              : 
   15763              :         default:
   15764              :           break;
   15765              :         }
   15766              :       operands[1] = x5;
   15767              :       operands[2] = x7;
   15768              :       if (GET_CODE (x4) == SUBREG
   15769              :           && known_eq (SUBREG_BYTE (x4), 0))
   15770              :         {
   15771              :           x6 = XEXP (x4, 0);
   15772              :           switch (GET_CODE (x6))
   15773              :             {
   15774              :             case LT:
   15775              :               x8 = XEXP (x6, 0);
   15776              :               operands[3] = x8;
   15777              :               switch (pattern1233 (x3))
   15778              :                 {
   15779              :                 case 0:
   15780              :                   if (
   15781              : #line 23989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15782              : (TARGET_SSE4_1))
   15783              :                     return 8742; /* *sse4_1_blendvps_ltint */
   15784              :                   break;
   15785              : 
   15786              :                 case 1:
   15787              :                   if (
   15788              : #line 23989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15789              : (TARGET_SSE4_1))
   15790              :                     return 8743; /* *sse4_1_blendvpd_ltint */
   15791              :                   break;
   15792              : 
   15793              :                 case 2:
   15794              :                   if ((
   15795              : #line 23989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15796              : (TARGET_SSE4_1) && 
   15797              : #line 608 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15798              : (TARGET_AVX)))
   15799              :                     return 8744; /* *avx_blendvps256_ltint */
   15800              :                   break;
   15801              : 
   15802              :                 case 3:
   15803              :                   if ((
   15804              : #line 23989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15805              : (TARGET_SSE4_1) && 
   15806              : #line 608 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15807              : (TARGET_AVX)))
   15808              :                     return 8745; /* *avx_blendvpd256_ltint */
   15809              :                   break;
   15810              : 
   15811              :                 default:
   15812              :                   break;
   15813              :                 }
   15814              :               if (GET_CODE (x8) == SUBREG)
   15815              :                 {
   15816              :                   switch (pattern1234 (x3))
   15817              :                     {
   15818              :                     case 0:
   15819              :                       if (
   15820              : #line 24056 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15821              : (TARGET_SSE4_1 && ix86_pre_reload_split ()))
   15822              :                         return 8750; /* *sse4_1_blendvps_not_ltint */
   15823              :                       break;
   15824              : 
   15825              :                     case 1:
   15826              :                       if (
   15827              : #line 24056 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15828              : (TARGET_SSE4_1 && ix86_pre_reload_split ()))
   15829              :                         return 8751; /* *sse4_1_blendvpd_not_ltint */
   15830              :                       break;
   15831              : 
   15832              :                     case 2:
   15833              :                       if ((
   15834              : #line 24056 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15835              : (TARGET_SSE4_1 && ix86_pre_reload_split ()) && 
   15836              : #line 608 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15837              : (TARGET_AVX)))
   15838              :                         return 8752; /* *avx_blendvps256_not_ltint */
   15839              :                       break;
   15840              : 
   15841              :                     case 3:
   15842              :                       if ((
   15843              : #line 24056 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15844              : (TARGET_SSE4_1 && ix86_pre_reload_split ()) && 
   15845              : #line 608 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15846              : (TARGET_AVX)))
   15847              :                         return 8753; /* *avx_blendvpd256_not_ltint */
   15848              :                       break;
   15849              : 
   15850              :                     default:
   15851              :                       break;
   15852              :                     }
   15853              :                 }
   15854              :               break;
   15855              : 
   15856              :             case GT:
   15857              :               x8 = XEXP (x6, 0);
   15858              :               operands[3] = x8;
   15859              :               switch (pattern1235 (x3))
   15860              :                 {
   15861              :                 case 0:
   15862              :                   if (
   15863              : #line 24021 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15864              : (TARGET_SSE4_1))
   15865              :                     return 8746; /* *sse4_1_blendvps_gtint */
   15866              :                   break;
   15867              : 
   15868              :                 case 1:
   15869              :                   if (
   15870              : #line 24021 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15871              : (TARGET_SSE4_1))
   15872              :                     return 8747; /* *sse4_1_blendvpd_gtint */
   15873              :                   break;
   15874              : 
   15875              :                 case 2:
   15876              :                   if ((
   15877              : #line 24021 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15878              : (TARGET_SSE4_1) && 
   15879              : #line 608 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15880              : (TARGET_AVX)))
   15881              :                     return 8748; /* *avx_blendvps256_gtint */
   15882              :                   break;
   15883              : 
   15884              :                 case 3:
   15885              :                   if ((
   15886              : #line 24021 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15887              : (TARGET_SSE4_1) && 
   15888              : #line 608 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15889              : (TARGET_AVX)))
   15890              :                     return 8749; /* *avx_blendvpd256_gtint */
   15891              :                   break;
   15892              : 
   15893              :                 default:
   15894              :                   break;
   15895              :                 }
   15896              :               if (GET_CODE (x8) == SUBREG)
   15897              :                 {
   15898              :                   switch (pattern1236 (x3))
   15899              :                     {
   15900              :                     case 0:
   15901              :                       if (
   15902              : #line 24082 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15903              : (TARGET_SSE4_1 && ix86_pre_reload_split ()))
   15904              :                         return 8754; /* *sse4_1_blendvps_not_gtint */
   15905              :                       break;
   15906              : 
   15907              :                     case 1:
   15908              :                       if (
   15909              : #line 24082 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15910              : (TARGET_SSE4_1 && ix86_pre_reload_split ()))
   15911              :                         return 8755; /* *sse4_1_blendvpd_not_gtint */
   15912              :                       break;
   15913              : 
   15914              :                     case 2:
   15915              :                       if ((
   15916              : #line 24082 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15917              : (TARGET_SSE4_1 && ix86_pre_reload_split ()) && 
   15918              : #line 608 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15919              : (TARGET_AVX)))
   15920              :                         return 8756; /* *avx_blendvps256_not_gtint */
   15921              :                       break;
   15922              : 
   15923              :                     case 3:
   15924              :                       if ((
   15925              : #line 24082 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15926              : (TARGET_SSE4_1 && ix86_pre_reload_split ()) && 
   15927              : #line 608 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15928              : (TARGET_AVX)))
   15929              :                         return 8757; /* *avx_blendvpd256_not_gtint */
   15930              :                       break;
   15931              : 
   15932              :                     default:
   15933              :                       break;
   15934              :                     }
   15935              :                 }
   15936              :               break;
   15937              : 
   15938              :             default:
   15939              :               break;
   15940              :             }
   15941              :         }
   15942              :       operands[3] = x4;
   15943              :       switch (GET_MODE (operands[0]))
   15944              :         {
   15945              :         case E_V32QImode:
   15946              :           if (pattern1035 (x3, 
   15947              : E_V32QImode) != 0
   15948              :               || !(
   15949              : #line 24208 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15950              : (TARGET_SSE4_1) && 
   15951              : #line 623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15952              : (TARGET_AVX2)))
   15953              :             return -1;
   15954              :           return 8779; /* avx2_pblendvb */
   15955              : 
   15956              :         case E_V16QImode:
   15957              :           if (pattern1035 (x3, 
   15958              : E_V16QImode) != 0
   15959              :               || !
   15960              : #line 24208 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15961              : (TARGET_SSE4_1))
   15962              :             return -1;
   15963              :           return 8780; /* sse4_1_pblendvb */
   15964              : 
   15965              :         default:
   15966              :           return -1;
   15967              :         }
   15968              : 
   15969              :     case GT:
   15970              :       x5 = XVECEXP (x3, 0, 0);
   15971              :       operands[1] = x5;
   15972              :       switch (pattern673 (x3))
   15973              :         {
   15974              :         case 0:
   15975              :           if ((
   15976              : #line 23962 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15977              : (TARGET_SSE4_1) && 
   15978              : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15979              : (TARGET_AVX)))
   15980              :             return 8738; /* *avx_blendvps256_gt */
   15981              :           break;
   15982              : 
   15983              :         case 1:
   15984              :           if (
   15985              : #line 23962 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15986              : (TARGET_SSE4_1))
   15987              :             return 8739; /* *sse4_1_blendvps_gt */
   15988              :           break;
   15989              : 
   15990              :         case 2:
   15991              :           if ((
   15992              : #line 23962 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15993              : (TARGET_SSE4_1) && 
   15994              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15995              : (TARGET_AVX)))
   15996              :             return 8740; /* *avx_blendvpd256_gt */
   15997              :           break;
   15998              : 
   15999              :         case 3:
   16000              :           if ((
   16001              : #line 23962 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16002              : (TARGET_SSE4_1) && 
   16003              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16004              : (TARGET_SSE2)))
   16005              :             return 8741; /* *sse4_1_blendvpd_gt */
   16006              :           break;
   16007              : 
   16008              :         case 4:
   16009              :           if ((
   16010              : #line 24283 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16011              : (TARGET_SSE4_1) && 
   16012              : #line 623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16013              : (TARGET_AVX2)))
   16014              :             return 8783; /* *avx2_pblendvb_gt */
   16015              :           break;
   16016              : 
   16017              :         case 5:
   16018              :           if (
   16019              : #line 24283 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16020              : (TARGET_SSE4_1))
   16021              :             return 8784; /* *sse4_1_pblendvb_gt */
   16022              :           break;
   16023              : 
   16024              :         default:
   16025              :           break;
   16026              :         }
   16027              :       x6 = XEXP (x4, 0);
   16028              :       if (GET_CODE (x6) != SUBREG)
   16029              :         return -1;
   16030              :       switch (pattern675 (x3))
   16031              :         {
   16032              :         case 0:
   16033              :           if (!(
   16034              : #line 24331 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16035              : (TARGET_SSE4_1
   16036              :    && GET_MODE_CLASS (GET_MODE (operands[3])) == MODE_VECTOR_INT
   16037              :    && GET_MODE_SIZE (GET_MODE (operands[3])) == 32
   16038              :    && ix86_pre_reload_split ()) && 
   16039              : #line 623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16040              : (TARGET_AVX2)))
   16041              :             return -1;
   16042              :           return 8787; /* *avx2_pblendvb_gt_subreg_not */
   16043              : 
   16044              :         case 1:
   16045              :           if (!
   16046              : #line 24331 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16047              : (TARGET_SSE4_1
   16048              :    && GET_MODE_CLASS (GET_MODE (operands[3])) == MODE_VECTOR_INT
   16049              :    && GET_MODE_SIZE (GET_MODE (operands[3])) == 16
   16050              :    && ix86_pre_reload_split ()))
   16051              :             return -1;
   16052              :           return 8788; /* *sse4_1_pblendvb_gt_subreg_not */
   16053              : 
   16054              :         default:
   16055              :           return -1;
   16056              :         }
   16057              : 
   16058              :     default:
   16059              :       return -1;
   16060              :     }
   16061              : }
   16062              : 
   16063              :  int
   16064              : recog_260 (rtx x1 ATTRIBUTE_UNUSED,
   16065              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   16066              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   16067              : {
   16068              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   16069              :   int res ATTRIBUTE_UNUSED;
   16070              :   switch (pattern181 (x1))
   16071              :     {
   16072              :     case 0:
   16073              :       if (!
   16074              : #line 31108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16075              : (TARGET_AVX512VBMI2))
   16076              :         return -1;
   16077              :       return 10275; /* vpshld_v32hi */
   16078              : 
   16079              :     case 1:
   16080              :       if (!
   16081              : #line 31108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16082              : (TARGET_AVX512VBMI2))
   16083              :         return -1;
   16084              :       return 10277; /* vpshld_v16si */
   16085              : 
   16086              :     case 2:
   16087              :       if (!
   16088              : #line 31108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16089              : (TARGET_AVX512VBMI2))
   16090              :         return -1;
   16091              :       return 10279; /* vpshld_v8di */
   16092              : 
   16093              :     case 3:
   16094              :       if (!(
   16095              : #line 31108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16096              : (TARGET_AVX512VBMI2) && 
   16097              : #line 751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16098              : (TARGET_AVX512VL)))
   16099              :         return -1;
   16100              :       return 10281; /* vpshld_v16hi */
   16101              : 
   16102              :     case 4:
   16103              :       if (!(
   16104              : #line 31108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16105              : (TARGET_AVX512VBMI2) && 
   16106              : #line 751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16107              : (TARGET_AVX512VL)))
   16108              :         return -1;
   16109              :       return 10283; /* vpshld_v8si */
   16110              : 
   16111              :     case 5:
   16112              :       if (!(
   16113              : #line 31108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16114              : (TARGET_AVX512VBMI2) && 
   16115              : #line 752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16116              : (TARGET_AVX512VL)))
   16117              :         return -1;
   16118              :       return 10285; /* vpshld_v4di */
   16119              : 
   16120              :     case 6:
   16121              :       if (!(
   16122              : #line 31108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16123              : (TARGET_AVX512VBMI2) && 
   16124              : #line 752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16125              : (TARGET_AVX512VL)))
   16126              :         return -1;
   16127              :       return 10287; /* vpshld_v8hi */
   16128              : 
   16129              :     case 7:
   16130              :       if (!(
   16131              : #line 31108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16132              : (TARGET_AVX512VBMI2) && 
   16133              : #line 753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16134              : (TARGET_AVX512VL)))
   16135              :         return -1;
   16136              :       return 10289; /* vpshld_v4si */
   16137              : 
   16138              :     case 8:
   16139              :       if (!(
   16140              : #line 31108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16141              : (TARGET_AVX512VBMI2) && 
   16142              : #line 753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16143              : (TARGET_AVX512VL)))
   16144              :         return -1;
   16145              :       return 10291; /* vpshld_v2di */
   16146              : 
   16147              :     default:
   16148              :       return -1;
   16149              :     }
   16150              : }
   16151              : 
   16152              :  int
   16153              : recog_266 (rtx x1 ATTRIBUTE_UNUSED,
   16154              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   16155              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   16156              : {
   16157              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   16158              :   rtx x2, x3, x4, x5;
   16159              :   int res ATTRIBUTE_UNUSED;
   16160              :   x2 = XEXP (x1, 0);
   16161              :   operands[0] = x2;
   16162              :   x3 = XEXP (x1, 1);
   16163              :   x4 = XVECEXP (x3, 0, 0);
   16164              :   operands[1] = x4;
   16165              :   x5 = XVECEXP (x3, 0, 1);
   16166              :   operands[2] = x5;
   16167              :   switch (pattern677 (x3))
   16168              :     {
   16169              :     case 0:
   16170              :       if (
   16171              : #line 7507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16172              : (TARGET_AVX512FP16 && 1 && 1))
   16173              :         return 4362; /* fma_fmaddc_v32hf */
   16174              :       break;
   16175              : 
   16176              :     case 1:
   16177              :       if ((
   16178              : #line 7507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16179              : (TARGET_AVX512FP16 && 1 && 1) && 
   16180              : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16181              : (TARGET_AVX512VL)))
   16182              :         return 4370; /* fma_fmaddc_v16hf */
   16183              :       break;
   16184              : 
   16185              :     case 2:
   16186              :       if ((
   16187              : #line 7507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16188              : (TARGET_AVX512FP16 && 1 && 1) && 
   16189              : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16190              : (TARGET_AVX512VL)))
   16191              :         return 4374; /* fma_fmaddc_v8hf */
   16192              :       break;
   16193              : 
   16194              :     default:
   16195              :       break;
   16196              :     }
   16197              :   if (GET_CODE (x5) != SUBREG
   16198              :       || maybe_ne (SUBREG_BYTE (x5), 0))
   16199              :     return -1;
   16200              :   switch (pattern602 (x3))
   16201              :     {
   16202              :     case 0:
   16203              :       if (!
   16204              : #line 7586 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16205              : (TARGET_AVX512FP16 && ix86_pre_reload_split ()))
   16206              :         return -1;
   16207              :       return 4396; /* fma_v32hf_fmaddc_bcst */
   16208              : 
   16209              :     case 1:
   16210              :       if (!(
   16211              : #line 7586 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16212              : (TARGET_AVX512FP16 && ix86_pre_reload_split ()) && 
   16213              : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16214              : (TARGET_AVX512VL)))
   16215              :         return -1;
   16216              :       return 4397; /* fma_v16hf_fmaddc_bcst */
   16217              : 
   16218              :     case 2:
   16219              :       if (!(
   16220              : #line 7586 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16221              : (TARGET_AVX512FP16 && ix86_pre_reload_split ()) && 
   16222              : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16223              : (TARGET_AVX512VL)))
   16224              :         return -1;
   16225              :       return 4398; /* fma_v8hf_fmaddc_bcst */
   16226              : 
   16227              :     default:
   16228              :       return -1;
   16229              :     }
   16230              : }
   16231              : 
   16232              :  int
   16233              : recog_273 (rtx x1 ATTRIBUTE_UNUSED,
   16234              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   16235              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   16236              : {
   16237              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   16238              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   16239              :   rtx x10, x11, x12, x13, x14, x15, x16, x17;
   16240              :   int res ATTRIBUTE_UNUSED;
   16241              :   x2 = XEXP (x1, 1);
   16242              :   x3 = XEXP (x2, 0);
   16243              :   x4 = XEXP (x3, 2);
   16244              :   if (!register_operand (x4, E_QImode))
   16245              :     return -1;
   16246              :   x5 = XEXP (x3, 0);
   16247              :   switch (GET_CODE (x5))
   16248              :     {
   16249              :     case FLOAT:
   16250              :       switch (pattern503 (x2))
   16251              :         {
   16252              :         case 0:
   16253              :           if (!
   16254              : #line 8054 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16255              : (TARGET_AVX512FP16 && TARGET_AVX512VL))
   16256              :             return -1;
   16257              :           return 4570; /* *avx512fp16_vcvtdq2ph_v4si_mask */
   16258              : 
   16259              :         case 1:
   16260              :           if (!
   16261              : #line 8054 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16262              : (TARGET_AVX512FP16 && TARGET_AVX512VL))
   16263              :             return -1;
   16264              :           return 4572; /* *avx512fp16_vcvtqq2ph_v4di_mask */
   16265              : 
   16266              :         case 2:
   16267              :           if (!
   16268              : #line 8130 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16269              : (TARGET_AVX512FP16 && TARGET_AVX512VL))
   16270              :             return -1;
   16271              :           return 4580; /* *avx512fp16_vcvtqq2ph_v2di_mask */
   16272              : 
   16273              :         case 3:
   16274              :           if (!
   16275              : #line 9643 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16276              : (TARGET_AVX512DQ && TARGET_AVX512VL))
   16277              :             return -1;
   16278              :           return 5024; /* *floatv2div2sf2_mask */
   16279              : 
   16280              :         case 4:
   16281              :           if (!
   16282              : #line 8069 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16283              : (TARGET_AVX512FP16 && TARGET_AVX512VL))
   16284              :             return -1;
   16285              :           return 4574; /* *avx512fp16_vcvtdq2ph_v4si_mask_1 */
   16286              : 
   16287              :         case 5:
   16288              :           if (!
   16289              : #line 8069 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16290              : (TARGET_AVX512FP16 && TARGET_AVX512VL))
   16291              :             return -1;
   16292              :           return 4576; /* *avx512fp16_vcvtqq2ph_v4di_mask_1 */
   16293              : 
   16294              :         case 6:
   16295              :           if (!
   16296              : #line 8145 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16297              : (TARGET_AVX512FP16 && TARGET_AVX512VL))
   16298              :             return -1;
   16299              :           return 4582; /* *avx512fp16_vcvtqq2ph_v2di_mask_1 */
   16300              : 
   16301              :         case 7:
   16302              :           if (!
   16303              : #line 9658 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16304              : (TARGET_AVX512DQ && TARGET_AVX512VL))
   16305              :             return -1;
   16306              :           return 5026; /* *floatv2div2sf2_mask_1 */
   16307              : 
   16308              :         default:
   16309              :           return -1;
   16310              :         }
   16311              : 
   16312              :     case UNSIGNED_FLOAT:
   16313              :       switch (pattern503 (x2))
   16314              :         {
   16315              :         case 0:
   16316              :           if (!
   16317              : #line 8054 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16318              : (TARGET_AVX512FP16 && TARGET_AVX512VL))
   16319              :             return -1;
   16320              :           return 4571; /* *avx512fp16_vcvtudq2ph_v4si_mask */
   16321              : 
   16322              :         case 1:
   16323              :           if (!
   16324              : #line 8054 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16325              : (TARGET_AVX512FP16 && TARGET_AVX512VL))
   16326              :             return -1;
   16327              :           return 4573; /* *avx512fp16_vcvtuqq2ph_v4di_mask */
   16328              : 
   16329              :         case 2:
   16330              :           if (!
   16331              : #line 8130 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16332              : (TARGET_AVX512FP16 && TARGET_AVX512VL))
   16333              :             return -1;
   16334              :           return 4581; /* *avx512fp16_vcvtuqq2ph_v2di_mask */
   16335              : 
   16336              :         case 3:
   16337              :           if (!
   16338              : #line 9643 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16339              : (TARGET_AVX512DQ && TARGET_AVX512VL))
   16340              :             return -1;
   16341              :           return 5025; /* *floatunsv2div2sf2_mask */
   16342              : 
   16343              :         case 4:
   16344              :           if (!
   16345              : #line 8069 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16346              : (TARGET_AVX512FP16 && TARGET_AVX512VL))
   16347              :             return -1;
   16348              :           return 4575; /* *avx512fp16_vcvtudq2ph_v4si_mask_1 */
   16349              : 
   16350              :         case 5:
   16351              :           if (!
   16352              : #line 8069 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16353              : (TARGET_AVX512FP16 && TARGET_AVX512VL))
   16354              :             return -1;
   16355              :           return 4577; /* *avx512fp16_vcvtuqq2ph_v4di_mask_1 */
   16356              : 
   16357              :         case 6:
   16358              :           if (!
   16359              : #line 8145 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16360              : (TARGET_AVX512FP16 && TARGET_AVX512VL))
   16361              :             return -1;
   16362              :           return 4583; /* *avx512fp16_vcvtuqq2ph_v2di_mask_1 */
   16363              : 
   16364              :         case 7:
   16365              :           if (!
   16366              : #line 9658 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16367              : (TARGET_AVX512DQ && TARGET_AVX512VL))
   16368              :             return -1;
   16369              :           return 5027; /* *floatunsv2div2sf2_mask_1 */
   16370              : 
   16371              :         default:
   16372              :           return -1;
   16373              :         }
   16374              : 
   16375              :     case FLOAT_TRUNCATE:
   16376              :       x6 = XEXP (x5, 0);
   16377              :       operands[1] = x6;
   16378              :       x7 = XEXP (x2, 1);
   16379              :       operands[4] = x7;
   16380              :       x8 = XEXP (x3, 1);
   16381              :       switch (GET_CODE (x8))
   16382              :         {
   16383              :         case VEC_SELECT:
   16384              :           x9 = XEXP (x8, 1);
   16385              :           if (GET_CODE (x9) != PARALLEL)
   16386              :             return -1;
   16387              :           x10 = XEXP (x8, 0);
   16388              :           operands[2] = x10;
   16389              :           operands[3] = x4;
   16390              :           switch (XVECLEN (x9, 0))
   16391              :             {
   16392              :             case 4:
   16393              :               if (pattern1227 (x9, 
   16394              : 3, 
   16395              : 2, 
   16396              : 1, 
   16397              : 0) != 0)
   16398              :                 return -1;
   16399              :               switch (GET_MODE (operands[0]))
   16400              :                 {
   16401              :                 case E_V8HFmode:
   16402              :                   if (!register_operand (operands[0], E_V8HFmode)
   16403              :                       || GET_MODE (x2) != E_V8HFmode
   16404              :                       || GET_MODE (x3) != E_V4HFmode
   16405              :                       || GET_MODE (x5) != E_V4HFmode
   16406              :                       || GET_MODE (x8) != E_V4HFmode
   16407              :                       || !nonimm_or_0_operand (operands[2], E_V8HFmode))
   16408              :                     return -1;
   16409              :                   switch (pattern1566 ())
   16410              :                     {
   16411              :                     case 0:
   16412              :                       if (!
   16413              : #line 8525 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16414              : (TARGET_AVX512FP16 && TARGET_AVX512VL))
   16415              :                         return -1;
   16416              :                       return 4794; /* *avx512fp16_vcvtpd2ph_v4df_mask */
   16417              : 
   16418              :                     case 1:
   16419              :                       if (!
   16420              : #line 8525 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16421              : (TARGET_AVX512FP16 && TARGET_AVX512VL))
   16422              :                         return -1;
   16423              :                       return 4795; /* *avx512fp16_vcvtps2ph_v4sf_mask */
   16424              : 
   16425              :                     default:
   16426              :                       return -1;
   16427              :                     }
   16428              : 
   16429              :                 case E_V8BFmode:
   16430              :                   if (pattern499 (x2, 
   16431              : E_V4BFmode, 
   16432              : E_V8BFmode, 
   16433              : E_V4SFmode) != 0
   16434              :                       || !
   16435              : #line 31807 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16436              : (TARGET_AVX512BF16 && TARGET_AVX512VL))
   16437              :                     return -1;
   16438              :                   return 10419; /* avx512f_cvtneps2bf16_v4sf_mask_1 */
   16439              : 
   16440              :                 default:
   16441              :                   return -1;
   16442              :                 }
   16443              : 
   16444              :             case 2:
   16445              :               switch (pattern500 (x2, 
   16446              : E_V2DFmode))
   16447              :                 {
   16448              :                 case 0:
   16449              :                   if (!
   16450              : #line 8601 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16451              : (TARGET_AVX512FP16 && TARGET_AVX512VL))
   16452              :                     return -1;
   16453              :                   return 4799; /* *avx512fp16_vcvtpd2ph_v2df_mask */
   16454              : 
   16455              :                 case 1:
   16456              :                   if (!
   16457              : #line 10507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16458              : (TARGET_AVX512VL))
   16459              :                     return -1;
   16460              :                   return 5199; /* *sse2_cvtpd2ps_mask */
   16461              : 
   16462              :                 default:
   16463              :                   return -1;
   16464              :                 }
   16465              : 
   16466              :             default:
   16467              :               return -1;
   16468              :             }
   16469              : 
   16470              :         case CONST_INT:
   16471              :         case CONST_DOUBLE:
   16472              :         case CONST_VECTOR:
   16473              :           operands[3] = x8;
   16474              :           operands[2] = x4;
   16475              :           switch (GET_MODE (operands[0]))
   16476              :             {
   16477              :             case E_V8HFmode:
   16478              :               if (!register_operand (operands[0], E_V8HFmode)
   16479              :                   || GET_MODE (x2) != E_V8HFmode)
   16480              :                 return -1;
   16481              :               switch (GET_MODE (x3))
   16482              :                 {
   16483              :                 case E_V4HFmode:
   16484              :                   if (GET_MODE (x5) != E_V4HFmode
   16485              :                       || !const0_operand (operands[3], E_V4HFmode))
   16486              :                     return -1;
   16487              :                   switch (pattern1566 ())
   16488              :                     {
   16489              :                     case 0:
   16490              :                       if (!
   16491              : #line 8540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16492              : (TARGET_AVX512FP16 && TARGET_AVX512VL))
   16493              :                         return -1;
   16494              :                       return 4796; /* *avx512fp16_vcvtpd2ph_v4df_mask_1 */
   16495              : 
   16496              :                     case 1:
   16497              :                       if (!
   16498              : #line 8540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16499              : (TARGET_AVX512FP16 && TARGET_AVX512VL))
   16500              :                         return -1;
   16501              :                       return 4797; /* *avx512fp16_vcvtps2ph_v4sf_mask_1 */
   16502              : 
   16503              :                     default:
   16504              :                       return -1;
   16505              :                     }
   16506              : 
   16507              :                 case E_V2HFmode:
   16508              :                   if (pattern501 (x5, 
   16509              : E_V2DFmode) != 0
   16510              :                       || !
   16511              : #line 8616 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16512              : (TARGET_AVX512FP16 && TARGET_AVX512VL))
   16513              :                     return -1;
   16514              :                   return 4800; /* *avx512fp16_vcvtpd2ph_v2df_mask_1 */
   16515              : 
   16516              :                 default:
   16517              :                   return -1;
   16518              :                 }
   16519              : 
   16520              :             case E_V4SFmode:
   16521              :               if (pattern502 (x2, 
   16522              : E_V2DFmode) != 0
   16523              :                   || !
   16524              : #line 10522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16525              : (TARGET_AVX512VL))
   16526              :                 return -1;
   16527              :               return 5200; /* *sse2_cvtpd2ps_mask_1 */
   16528              : 
   16529              :             default:
   16530              :               return -1;
   16531              :             }
   16532              : 
   16533              :         default:
   16534              :           return -1;
   16535              :         }
   16536              : 
   16537              :     case UNSPEC:
   16538              :       switch (XVECLEN (x5, 0))
   16539              :         {
   16540              :         case 1:
   16541              :           x11 = XVECEXP (x5, 0, 0);
   16542              :           operands[1] = x11;
   16543              :           switch (XINT (x5, 1))
   16544              :             {
   16545              :             case 47:
   16546              :               switch (pattern920 (x2))
   16547              :                 {
   16548              :                 case 0:
   16549              :                   if (!
   16550              : #line 9802 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16551              : (TARGET_AVX512VL))
   16552              :                     return -1;
   16553              :                   return 5046; /* sse2_cvtpd2dq_mask */
   16554              : 
   16555              :                 case 1:
   16556              :                   if (!
   16557              : #line 9817 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16558              : (TARGET_AVX512VL))
   16559              :                     return -1;
   16560              :                   return 5047; /* *sse2_cvtpd2dq_mask_1 */
   16561              : 
   16562              :                 default:
   16563              :                   return -1;
   16564              :                 }
   16565              : 
   16566              :             case 157:
   16567              :               switch (pattern920 (x2))
   16568              :                 {
   16569              :                 case 0:
   16570              :                   if (!
   16571              : #line 9863 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16572              : (TARGET_AVX512VL))
   16573              :                     return -1;
   16574              :                   return 5057; /* fixuns_notruncv2dfv2si2_mask */
   16575              : 
   16576              :                 case 1:
   16577              :                   if (!
   16578              : #line 9879 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16579              : (TARGET_AVX512VL))
   16580              :                     return -1;
   16581              :                   return 5058; /* *fixuns_notruncv2dfv2si2_mask_1 */
   16582              : 
   16583              :                 default:
   16584              :                   return -1;
   16585              :                 }
   16586              : 
   16587              :             case 174:
   16588              :               if (GET_MODE (x5) != E_V2SImode)
   16589              :                 return -1;
   16590              :               x8 = XEXP (x3, 1);
   16591              :               if (pattern678 (x8, 
   16592              : 2, 
   16593              : E_V2SImode) != 0)
   16594              :                 return -1;
   16595              :               x9 = XEXP (x8, 1);
   16596              :               x12 = XVECEXP (x9, 0, 0);
   16597              :               if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   16598              :                 return -1;
   16599              :               x13 = XVECEXP (x9, 0, 1);
   16600              :               if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   16601              :                 return -1;
   16602              :               x7 = XEXP (x2, 1);
   16603              :               if (GET_CODE (x7) != CONST_VECTOR
   16604              :                   || XVECLEN (x7, 0) != 2
   16605              :                   || GET_MODE (x7) != E_V2SImode)
   16606              :                 return -1;
   16607              :               x14 = XVECEXP (x7, 0, 0);
   16608              :               if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   16609              :                 return -1;
   16610              :               x15 = XVECEXP (x7, 0, 1);
   16611              :               if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
   16612              :                   || !register_operand (operands[0], E_V4SImode)
   16613              :                   || GET_MODE (x2) != E_V4SImode
   16614              :                   || GET_MODE (x3) != E_V2SImode
   16615              :                   || !nonimmediate_operand (operands[1], E_V2DFmode))
   16616              :                 return -1;
   16617              :               x10 = XEXP (x8, 0);
   16618              :               operands[2] = x10;
   16619              :               if (!nonimm_or_0_operand (operands[2], E_V4SImode))
   16620              :                 return -1;
   16621              :               operands[3] = x4;
   16622              :               if (!
   16623              : #line 9940 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16624              : (TARGET_AVX512VL))
   16625              :                 return -1;
   16626              :               return 5077; /* unspec_fixuns_truncv2dfv2si2_mask */
   16627              : 
   16628              :             case 254:
   16629              :               if (pattern921 (x2) != 0
   16630              :                   || !
   16631              : #line 32610 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16632              : (TARGET_AVX10_2))
   16633              :                 return -1;
   16634              :               return 10571; /* *vcvtph2bf8v8hf_mask */
   16635              : 
   16636              :             case 255:
   16637              :               if (pattern921 (x2) != 0
   16638              :                   || !
   16639              : #line 32610 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16640              : (TARGET_AVX10_2))
   16641              :                 return -1;
   16642              :               return 10572; /* *vcvtph2bf8sv8hf_mask */
   16643              : 
   16644              :             case 256:
   16645              :               if (pattern921 (x2) != 0
   16646              :                   || !
   16647              : #line 32610 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16648              : (TARGET_AVX10_2))
   16649              :                 return -1;
   16650              :               return 10573; /* *vcvtph2hf8v8hf_mask */
   16651              : 
   16652              :             case 257:
   16653              :               if (pattern921 (x2) != 0
   16654              :                   || !
   16655              : #line 32610 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16656              : (TARGET_AVX10_2))
   16657              :                 return -1;
   16658              :               return 10574; /* *vcvtph2hf8sv8hf_mask */
   16659              : 
   16660              :             default:
   16661              :               return -1;
   16662              :             }
   16663              : 
   16664              :         case 2:
   16665              :           x8 = XEXP (x3, 1);
   16666              :           if (pattern678 (x8, 
   16667              : 8, 
   16668              : E_V8QImode) != 0)
   16669              :             return -1;
   16670              :           x9 = XEXP (x8, 1);
   16671              :           x12 = XVECEXP (x9, 0, 0);
   16672              :           if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   16673              :             return -1;
   16674              :           x13 = XVECEXP (x9, 0, 1);
   16675              :           if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   16676              :             return -1;
   16677              :           x16 = XVECEXP (x9, 0, 2);
   16678              :           if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 2]
   16679              :               || pattern1424 (x9, 
   16680              : 7, 
   16681              : 6, 
   16682              : 5, 
   16683              : 4, 
   16684              : 3) != 0
   16685              :               || !register_operand (operands[0], E_V16QImode)
   16686              :               || GET_MODE (x2) != E_V16QImode
   16687              :               || GET_MODE (x3) != E_V8QImode
   16688              :               || GET_MODE (x5) != E_V8QImode)
   16689              :             return -1;
   16690              :           x11 = XVECEXP (x5, 0, 0);
   16691              :           operands[1] = x11;
   16692              :           if (!register_operand (operands[1], E_V16QImode))
   16693              :             return -1;
   16694              :           x17 = XVECEXP (x5, 0, 1);
   16695              :           operands[2] = x17;
   16696              :           if (!nonimmediate_operand (operands[2], E_V8HFmode))
   16697              :             return -1;
   16698              :           x10 = XEXP (x8, 0);
   16699              :           operands[3] = x10;
   16700              :           if (!nonimm_or_0_operand (operands[3], E_V16QImode))
   16701              :             return -1;
   16702              :           operands[4] = x4;
   16703              :           x7 = XEXP (x2, 1);
   16704              :           operands[5] = x7;
   16705              :           if (!const0_operand (operands[5], E_V8QImode))
   16706              :             return -1;
   16707              :           switch (XINT (x5, 1))
   16708              :             {
   16709              :             case 246:
   16710              :               if (!
   16711              : #line 32522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16712              : (TARGET_AVX10_2))
   16713              :                 return -1;
   16714              :               return 10547; /* *vcvtbiasph2bf8v8hf_mask */
   16715              : 
   16716              :             case 247:
   16717              :               if (!
   16718              : #line 32522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16719              : (TARGET_AVX10_2))
   16720              :                 return -1;
   16721              :               return 10548; /* *vcvtbiasph2bf8sv8hf_mask */
   16722              : 
   16723              :             case 248:
   16724              :               if (!
   16725              : #line 32522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16726              : (TARGET_AVX10_2))
   16727              :                 return -1;
   16728              :               return 10549; /* *vcvtbiasph2hf8v8hf_mask */
   16729              : 
   16730              :             case 249:
   16731              :               if (!
   16732              : #line 32522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16733              : (TARGET_AVX10_2))
   16734              :                 return -1;
   16735              :               return 10550; /* *vcvtbiasph2hf8sv8hf_mask */
   16736              : 
   16737              :             default:
   16738              :               return -1;
   16739              :             }
   16740              : 
   16741              :         default:
   16742              :           return -1;
   16743              :         }
   16744              : 
   16745              :     case UNSIGNED_FIX:
   16746              :       switch (pattern505 (x2))
   16747              :         {
   16748              :         case 0:
   16749              :           if (!
   16750              : #line 9956 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16751              : (TARGET_AVX512VL))
   16752              :             return -1;
   16753              :           return 5078; /* fixuns_truncv2dfv2si2_mask */
   16754              : 
   16755              :         case 1:
   16756              :           if (!
   16757              : #line 9970 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16758              : (TARGET_AVX512VL))
   16759              :             return -1;
   16760              :           return 5079; /* *fixuns_truncv2dfv2si2_mask_1 */
   16761              : 
   16762              :         default:
   16763              :           return -1;
   16764              :         }
   16765              : 
   16766              :     case FIX:
   16767              :       switch (pattern505 (x2))
   16768              :         {
   16769              :         case 0:
   16770              :           if (!
   16771              : #line 10305 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16772              : (TARGET_AVX512VL))
   16773              :             return -1;
   16774              :           return 5179; /* sse2_cvttpd2dq_mask */
   16775              : 
   16776              :         case 1:
   16777              :           if (!
   16778              : #line 10319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16779              : (TARGET_AVX512VL))
   16780              :             return -1;
   16781              :           return 5180; /* *sse2_cvttpd2dq_mask_1 */
   16782              : 
   16783              :         default:
   16784              :           return -1;
   16785              :         }
   16786              : 
   16787              :     case SS_TRUNCATE:
   16788              :       switch (pattern511 (x2))
   16789              :         {
   16790              :         case 0:
   16791              :           if (!
   16792              : #line 15761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16793              : (TARGET_AVX512VL))
   16794              :             return -1;
   16795              :           return 7338; /* avx512vl_ss_truncatev2div2qi2_mask */
   16796              : 
   16797              :         case 1:
   16798              :           if (!
   16799              : #line 16203 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16800              : (TARGET_AVX512VL))
   16801              :             return -1;
   16802              :           return 7453; /* avx512vl_ss_truncatev2div2hi2_mask */
   16803              : 
   16804              :         case 2:
   16805              :           if (!
   16806              : #line 16351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16807              : (TARGET_AVX512VL))
   16808              :             return -1;
   16809              :           return 7472; /* avx512vl_ss_truncatev2div2si2_mask */
   16810              : 
   16811              :         case 3:
   16812              :           if (!
   16813              : #line 15856 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16814              : (TARGET_AVX512VL))
   16815              :             return -1;
   16816              :           return 7359; /* avx512vl_ss_truncatev4siv4qi2_mask */
   16817              : 
   16818              :         case 4:
   16819              :           if (!
   16820              : #line 15856 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16821              : (TARGET_AVX512VL))
   16822              :             return -1;
   16823              :           return 7362; /* avx512vl_ss_truncatev4div4qi2_mask */
   16824              : 
   16825              :         case 5:
   16826              :           if (!
   16827              : #line 16112 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16828              : (TARGET_AVX512VL))
   16829              :             return -1;
   16830              :           return 7429; /* avx512vl_ss_truncatev4siv4hi2_mask */
   16831              : 
   16832              :         case 6:
   16833              :           if (!
   16834              : #line 16112 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16835              : (TARGET_AVX512VL))
   16836              :             return -1;
   16837              :           return 7432; /* avx512vl_ss_truncatev4div4hi2_mask */
   16838              : 
   16839              :         case 7:
   16840              :           if (!(
   16841              : #line 15954 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16842              : (TARGET_AVX512VL) && 
   16843              : #line 15912 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16844              : (TARGET_AVX512BW)))
   16845              :             return -1;
   16846              :           return 7389; /* avx512vl_ss_truncatev8hiv8qi2_mask */
   16847              : 
   16848              :         case 8:
   16849              :           if (!
   16850              : #line 15954 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16851              : (TARGET_AVX512VL))
   16852              :             return -1;
   16853              :           return 7392; /* avx512vl_ss_truncatev8siv8qi2_mask */
   16854              : 
   16855              :         case 9:
   16856              :           if (!
   16857              : #line 16470 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16858              : (TARGET_AVX512F))
   16859              :             return -1;
   16860              :           return 7490; /* avx512f_ss_truncatev8div16qi2_mask */
   16861              : 
   16862              :         case 10:
   16863              :           if (!
   16864              : #line 15782 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16865              : (TARGET_AVX512VL))
   16866              :             return -1;
   16867              :           return 7341; /* *avx512vl_ss_truncatev2div2qi2_mask_1 */
   16868              : 
   16869              :         case 11:
   16870              :           if (!
   16871              : #line 16220 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16872              : (TARGET_AVX512VL))
   16873              :             return -1;
   16874              :           return 7456; /* *avx512vl_ss_truncatev2div2hi2_mask_1 */
   16875              : 
   16876              :         case 12:
   16877              :           if (!
   16878              : #line 16366 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16879              : (TARGET_AVX512VL))
   16880              :             return -1;
   16881              :           return 7475; /* *avx512vl_ss_truncatev2div2si2_mask_1 */
   16882              : 
   16883              :         case 13:
   16884              :           if (!
   16885              : #line 15877 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16886              : (TARGET_AVX512VL))
   16887              :             return -1;
   16888              :           return 7365; /* *avx512vl_ss_truncatev4siv4qi2_mask_1 */
   16889              : 
   16890              :         case 14:
   16891              :           if (!
   16892              : #line 15877 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16893              : (TARGET_AVX512VL))
   16894              :             return -1;
   16895              :           return 7368; /* *avx512vl_ss_truncatev4div4qi2_mask_1 */
   16896              : 
   16897              :         case 15:
   16898              :           if (!
   16899              : #line 16129 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16900              : (TARGET_AVX512VL))
   16901              :             return -1;
   16902              :           return 7435; /* *avx512vl_ss_truncatev4siv4hi2_mask_1 */
   16903              : 
   16904              :         case 16:
   16905              :           if (!
   16906              : #line 16129 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16907              : (TARGET_AVX512VL))
   16908              :             return -1;
   16909              :           return 7438; /* *avx512vl_ss_truncatev4div4hi2_mask_1 */
   16910              : 
   16911              :         case 17:
   16912              :           if (!(
   16913              : #line 15975 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16914              : (TARGET_AVX512VL) && 
   16915              : #line 15912 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16916              : (TARGET_AVX512BW)))
   16917              :             return -1;
   16918              :           return 7395; /* *avx512vl_ss_truncatev8hiv8qi2_mask_1 */
   16919              : 
   16920              :         case 18:
   16921              :           if (!
   16922              : #line 15975 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16923              : (TARGET_AVX512VL))
   16924              :             return -1;
   16925              :           return 7398; /* *avx512vl_ss_truncatev8siv8qi2_mask_1 */
   16926              : 
   16927              :         case 19:
   16928              :           if (!
   16929              : #line 16491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16930              : (TARGET_AVX512F))
   16931              :             return -1;
   16932              :           return 7493; /* *avx512f_ss_truncatev8div16qi2_mask_1 */
   16933              : 
   16934              :         default:
   16935              :           return -1;
   16936              :         }
   16937              : 
   16938              :     case TRUNCATE:
   16939              :       switch (pattern511 (x2))
   16940              :         {
   16941              :         case 0:
   16942              :           if (!
   16943              : #line 15761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16944              : (TARGET_AVX512VL))
   16945              :             return -1;
   16946              :           return 7339; /* avx512vl_truncatev2div2qi2_mask */
   16947              : 
   16948              :         case 1:
   16949              :           if (!
   16950              : #line 16203 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16951              : (TARGET_AVX512VL))
   16952              :             return -1;
   16953              :           return 7454; /* avx512vl_truncatev2div2hi2_mask */
   16954              : 
   16955              :         case 2:
   16956              :           if (!
   16957              : #line 16351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16958              : (TARGET_AVX512VL))
   16959              :             return -1;
   16960              :           return 7473; /* avx512vl_truncatev2div2si2_mask */
   16961              : 
   16962              :         case 3:
   16963              :           if (!
   16964              : #line 15856 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16965              : (TARGET_AVX512VL))
   16966              :             return -1;
   16967              :           return 7360; /* avx512vl_truncatev4siv4qi2_mask */
   16968              : 
   16969              :         case 4:
   16970              :           if (!
   16971              : #line 15856 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16972              : (TARGET_AVX512VL))
   16973              :             return -1;
   16974              :           return 7363; /* avx512vl_truncatev4div4qi2_mask */
   16975              : 
   16976              :         case 5:
   16977              :           if (!
   16978              : #line 16112 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16979              : (TARGET_AVX512VL))
   16980              :             return -1;
   16981              :           return 7430; /* avx512vl_truncatev4siv4hi2_mask */
   16982              : 
   16983              :         case 6:
   16984              :           if (!
   16985              : #line 16112 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16986              : (TARGET_AVX512VL))
   16987              :             return -1;
   16988              :           return 7433; /* avx512vl_truncatev4div4hi2_mask */
   16989              : 
   16990              :         case 7:
   16991              :           if (!(
   16992              : #line 15954 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16993              : (TARGET_AVX512VL) && 
   16994              : #line 15912 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16995              : (TARGET_AVX512BW)))
   16996              :             return -1;
   16997              :           return 7390; /* avx512vl_truncatev8hiv8qi2_mask */
   16998              : 
   16999              :         case 8:
   17000              :           if (!
   17001              : #line 15954 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17002              : (TARGET_AVX512VL))
   17003              :             return -1;
   17004              :           return 7393; /* avx512vl_truncatev8siv8qi2_mask */
   17005              : 
   17006              :         case 9:
   17007              :           if (!
   17008              : #line 16470 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17009              : (TARGET_AVX512F))
   17010              :             return -1;
   17011              :           return 7491; /* avx512f_truncatev8div16qi2_mask */
   17012              : 
   17013              :         case 10:
   17014              :           if (!
   17015              : #line 15782 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17016              : (TARGET_AVX512VL))
   17017              :             return -1;
   17018              :           return 7342; /* *avx512vl_truncatev2div2qi2_mask_1 */
   17019              : 
   17020              :         case 11:
   17021              :           if (!
   17022              : #line 16220 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17023              : (TARGET_AVX512VL))
   17024              :             return -1;
   17025              :           return 7457; /* *avx512vl_truncatev2div2hi2_mask_1 */
   17026              : 
   17027              :         case 12:
   17028              :           if (!
   17029              : #line 16366 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17030              : (TARGET_AVX512VL))
   17031              :             return -1;
   17032              :           return 7476; /* *avx512vl_truncatev2div2si2_mask_1 */
   17033              : 
   17034              :         case 13:
   17035              :           if (!
   17036              : #line 15877 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17037              : (TARGET_AVX512VL))
   17038              :             return -1;
   17039              :           return 7366; /* *avx512vl_truncatev4siv4qi2_mask_1 */
   17040              : 
   17041              :         case 14:
   17042              :           if (!
   17043              : #line 15877 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17044              : (TARGET_AVX512VL))
   17045              :             return -1;
   17046              :           return 7369; /* *avx512vl_truncatev4div4qi2_mask_1 */
   17047              : 
   17048              :         case 15:
   17049              :           if (!
   17050              : #line 16129 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17051              : (TARGET_AVX512VL))
   17052              :             return -1;
   17053              :           return 7436; /* *avx512vl_truncatev4siv4hi2_mask_1 */
   17054              : 
   17055              :         case 16:
   17056              :           if (!
   17057              : #line 16129 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17058              : (TARGET_AVX512VL))
   17059              :             return -1;
   17060              :           return 7439; /* *avx512vl_truncatev4div4hi2_mask_1 */
   17061              : 
   17062              :         case 17:
   17063              :           if (!(
   17064              : #line 15975 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17065              : (TARGET_AVX512VL) && 
   17066              : #line 15912 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17067              : (TARGET_AVX512BW)))
   17068              :             return -1;
   17069              :           return 7396; /* *avx512vl_truncatev8hiv8qi2_mask_1 */
   17070              : 
   17071              :         case 18:
   17072              :           if (!
   17073              : #line 15975 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17074              : (TARGET_AVX512VL))
   17075              :             return -1;
   17076              :           return 7399; /* *avx512vl_truncatev8siv8qi2_mask_1 */
   17077              : 
   17078              :         case 19:
   17079              :           if (!
   17080              : #line 16491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17081              : (TARGET_AVX512F))
   17082              :             return -1;
   17083              :           return 7494; /* *avx512f_truncatev8div16qi2_mask_1 */
   17084              : 
   17085              :         default:
   17086              :           return -1;
   17087              :         }
   17088              : 
   17089              :     case US_TRUNCATE:
   17090              :       switch (pattern511 (x2))
   17091              :         {
   17092              :         case 0:
   17093              :           if (!
   17094              : #line 15761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17095              : (TARGET_AVX512VL))
   17096              :             return -1;
   17097              :           return 7340; /* avx512vl_us_truncatev2div2qi2_mask */
   17098              : 
   17099              :         case 1:
   17100              :           if (!
   17101              : #line 16203 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17102              : (TARGET_AVX512VL))
   17103              :             return -1;
   17104              :           return 7455; /* avx512vl_us_truncatev2div2hi2_mask */
   17105              : 
   17106              :         case 2:
   17107              :           if (!
   17108              : #line 16351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17109              : (TARGET_AVX512VL))
   17110              :             return -1;
   17111              :           return 7474; /* avx512vl_us_truncatev2div2si2_mask */
   17112              : 
   17113              :         case 3:
   17114              :           if (!
   17115              : #line 15856 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17116              : (TARGET_AVX512VL))
   17117              :             return -1;
   17118              :           return 7361; /* avx512vl_us_truncatev4siv4qi2_mask */
   17119              : 
   17120              :         case 4:
   17121              :           if (!
   17122              : #line 15856 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17123              : (TARGET_AVX512VL))
   17124              :             return -1;
   17125              :           return 7364; /* avx512vl_us_truncatev4div4qi2_mask */
   17126              : 
   17127              :         case 5:
   17128              :           if (!
   17129              : #line 16112 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17130              : (TARGET_AVX512VL))
   17131              :             return -1;
   17132              :           return 7431; /* avx512vl_us_truncatev4siv4hi2_mask */
   17133              : 
   17134              :         case 6:
   17135              :           if (!
   17136              : #line 16112 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17137              : (TARGET_AVX512VL))
   17138              :             return -1;
   17139              :           return 7434; /* avx512vl_us_truncatev4div4hi2_mask */
   17140              : 
   17141              :         case 7:
   17142              :           if (!(
   17143              : #line 15954 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17144              : (TARGET_AVX512VL) && 
   17145              : #line 15912 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17146              : (TARGET_AVX512BW)))
   17147              :             return -1;
   17148              :           return 7391; /* avx512vl_us_truncatev8hiv8qi2_mask */
   17149              : 
   17150              :         case 8:
   17151              :           if (!
   17152              : #line 15954 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17153              : (TARGET_AVX512VL))
   17154              :             return -1;
   17155              :           return 7394; /* avx512vl_us_truncatev8siv8qi2_mask */
   17156              : 
   17157              :         case 9:
   17158              :           if (!
   17159              : #line 16470 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17160              : (TARGET_AVX512F))
   17161              :             return -1;
   17162              :           return 7492; /* avx512f_us_truncatev8div16qi2_mask */
   17163              : 
   17164              :         case 10:
   17165              :           if (!
   17166              : #line 15782 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17167              : (TARGET_AVX512VL))
   17168              :             return -1;
   17169              :           return 7343; /* *avx512vl_us_truncatev2div2qi2_mask_1 */
   17170              : 
   17171              :         case 11:
   17172              :           if (!
   17173              : #line 16220 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17174              : (TARGET_AVX512VL))
   17175              :             return -1;
   17176              :           return 7458; /* *avx512vl_us_truncatev2div2hi2_mask_1 */
   17177              : 
   17178              :         case 12:
   17179              :           if (!
   17180              : #line 16366 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17181              : (TARGET_AVX512VL))
   17182              :             return -1;
   17183              :           return 7477; /* *avx512vl_us_truncatev2div2si2_mask_1 */
   17184              : 
   17185              :         case 13:
   17186              :           if (!
   17187              : #line 15877 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17188              : (TARGET_AVX512VL))
   17189              :             return -1;
   17190              :           return 7367; /* *avx512vl_us_truncatev4siv4qi2_mask_1 */
   17191              : 
   17192              :         case 14:
   17193              :           if (!
   17194              : #line 15877 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17195              : (TARGET_AVX512VL))
   17196              :             return -1;
   17197              :           return 7370; /* *avx512vl_us_truncatev4div4qi2_mask_1 */
   17198              : 
   17199              :         case 15:
   17200              :           if (!
   17201              : #line 16129 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17202              : (TARGET_AVX512VL))
   17203              :             return -1;
   17204              :           return 7437; /* *avx512vl_us_truncatev4siv4hi2_mask_1 */
   17205              : 
   17206              :         case 16:
   17207              :           if (!
   17208              : #line 16129 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17209              : (TARGET_AVX512VL))
   17210              :             return -1;
   17211              :           return 7440; /* *avx512vl_us_truncatev4div4hi2_mask_1 */
   17212              : 
   17213              :         case 17:
   17214              :           if (!(
   17215              : #line 15975 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17216              : (TARGET_AVX512VL) && 
   17217              : #line 15912 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17218              : (TARGET_AVX512BW)))
   17219              :             return -1;
   17220              :           return 7397; /* *avx512vl_us_truncatev8hiv8qi2_mask_1 */
   17221              : 
   17222              :         case 18:
   17223              :           if (!
   17224              : #line 15975 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17225              : (TARGET_AVX512VL))
   17226              :             return -1;
   17227              :           return 7400; /* *avx512vl_us_truncatev8siv8qi2_mask_1 */
   17228              : 
   17229              :         case 19:
   17230              :           if (!
   17231              : #line 16491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17232              : (TARGET_AVX512F))
   17233              :             return -1;
   17234              :           return 7495; /* *avx512f_us_truncatev8div16qi2_mask_1 */
   17235              : 
   17236              :         default:
   17237              :           return -1;
   17238              :         }
   17239              : 
   17240              :     default:
   17241              :       return -1;
   17242              :     }
   17243              : }
   17244              : 
   17245              :  int
   17246              : recog_292 (rtx x1 ATTRIBUTE_UNUSED,
   17247              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   17248              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   17249              : {
   17250              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   17251              :   rtx x2, x3, x4, x5, x6, x7;
   17252              :   int res ATTRIBUTE_UNUSED;
   17253              :   x2 = XEXP (x1, 1);
   17254              :   x3 = XEXP (x2, 1);
   17255              :   x4 = XVECEXP (x3, 0, 0);
   17256              :   if (GET_CODE (x4) != CONST_INT)
   17257              :     return -1;
   17258              :   operands[2] = x4;
   17259              :   res = recog_291 (x1, insn, pnum_clobbers);
   17260              :   if (res >= 0)
   17261              :     return res;
   17262              :   x5 = XVECEXP (x3, 0, 1);
   17263              :   if (GET_CODE (x5) != CONST_INT)
   17264              :     return -1;
   17265              :   x6 = XVECEXP (x3, 0, 2);
   17266              :   if (GET_CODE (x6) != CONST_INT)
   17267              :     return -1;
   17268              :   x7 = XVECEXP (x3, 0, 3);
   17269              :   if (GET_CODE (x7) != CONST_INT)
   17270              :     return -1;
   17271              :   switch (XWINT (x4, 0))
   17272              :     {
   17273              :     case 0L:
   17274              :       if (XWINT (x5, 0) != 1L
   17275              :           || XWINT (x6, 0) != 2L
   17276              :           || XWINT (x7, 0) != 3L)
   17277              :         return -1;
   17278              :       switch (GET_MODE (operands[0]))
   17279              :         {
   17280              :         case E_V4DFmode:
   17281              :           if (!nonimmediate_operand (operands[0], E_V4DFmode)
   17282              :               || GET_MODE (x2) != E_V4DFmode
   17283              :               || !nonimmediate_operand (operands[1], E_V8DFmode)
   17284              :               || !
   17285              : #line 12962 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17286              : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
   17287              :             return -1;
   17288              :           return 5360; /* vec_extract_lo_v8df */
   17289              : 
   17290              :         case E_V4DImode:
   17291              :           if (!nonimmediate_operand (operands[0], E_V4DImode)
   17292              :               || GET_MODE (x2) != E_V4DImode
   17293              :               || !nonimmediate_operand (operands[1], E_V8DImode)
   17294              :               || !
   17295              : #line 12962 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17296              : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
   17297              :             return -1;
   17298              :           return 5361; /* vec_extract_lo_v8di */
   17299              : 
   17300              :         case E_V4SImode:
   17301              :           if (!nonimmediate_operand (operands[0], E_V4SImode)
   17302              :               || GET_MODE (x2) != E_V4SImode
   17303              :               || !nonimmediate_operand (operands[1], E_V8SImode)
   17304              :               || !
   17305              : #line 13295 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17306              : (TARGET_AVX
   17307              :    && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
   17308              :             return -1;
   17309              :           return 5384; /* vec_extract_lo_v8si */
   17310              : 
   17311              :         case E_V4SFmode:
   17312              :           if (!nonimmediate_operand (operands[0], E_V4SFmode)
   17313              :               || GET_MODE (x2) != E_V4SFmode
   17314              :               || !nonimmediate_operand (operands[1], E_V8SFmode)
   17315              :               || !
   17316              : #line 13295 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17317              : (TARGET_AVX
   17318              :    && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
   17319              :             return -1;
   17320              :           return 5385; /* vec_extract_lo_v8sf */
   17321              : 
   17322              :         default:
   17323              :           return -1;
   17324              :         }
   17325              : 
   17326              :     case 4L:
   17327              :       if (XWINT (x5, 0) != 5L
   17328              :           || XWINT (x6, 0) != 6L
   17329              :           || XWINT (x7, 0) != 7L)
   17330              :         return -1;
   17331              :       switch (GET_MODE (operands[0]))
   17332              :         {
   17333              :         case E_V4DFmode:
   17334              :           if (!nonimmediate_operand (operands[0], E_V4DFmode)
   17335              :               || GET_MODE (x2) != E_V4DFmode
   17336              :               || !register_operand (operands[1], E_V8DFmode)
   17337              :               || !
   17338              : #line 12998 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17339              : (TARGET_AVX512F))
   17340              :             return -1;
   17341              :           return 5364; /* vec_extract_hi_v8df */
   17342              : 
   17343              :         case E_V4DImode:
   17344              :           if (!nonimmediate_operand (operands[0], E_V4DImode)
   17345              :               || GET_MODE (x2) != E_V4DImode
   17346              :               || !register_operand (operands[1], E_V8DImode)
   17347              :               || !
   17348              : #line 12998 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17349              : (TARGET_AVX512F))
   17350              :             return -1;
   17351              :           return 5365; /* vec_extract_hi_v8di */
   17352              : 
   17353              :         case E_V4SImode:
   17354              :           if (!nonimmediate_operand (operands[0], E_V4SImode)
   17355              :               || GET_MODE (x2) != E_V4SImode
   17356              :               || !register_operand (operands[1], E_V8SImode)
   17357              :               || !
   17358              : #line 13327 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17359              : (TARGET_AVX))
   17360              :             return -1;
   17361              :           return 5388; /* vec_extract_hi_v8si */
   17362              : 
   17363              :         case E_V4SFmode:
   17364              :           if (!nonimmediate_operand (operands[0], E_V4SFmode)
   17365              :               || GET_MODE (x2) != E_V4SFmode
   17366              :               || !register_operand (operands[1], E_V8SFmode)
   17367              :               || !
   17368              : #line 13327 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17369              : (TARGET_AVX))
   17370              :             return -1;
   17371              :           return 5389; /* vec_extract_hi_v8sf */
   17372              : 
   17373              :         default:
   17374              :           return -1;
   17375              :         }
   17376              : 
   17377              :     default:
   17378              :       return -1;
   17379              :     }
   17380              : }
   17381              : 
   17382              :  int
   17383              : recog_299 (rtx x1 ATTRIBUTE_UNUSED,
   17384              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   17385              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   17386              : {
   17387              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   17388              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   17389              :   rtx x10, x11;
   17390              :   int res ATTRIBUTE_UNUSED;
   17391              :   x2 = XEXP (x1, 1);
   17392              :   x3 = XEXP (x2, 1);
   17393              :   x4 = XVECEXP (x3, 0, 4);
   17394              :   if (GET_CODE (x4) != CONST_INT)
   17395              :     return -1;
   17396              :   operands[6] = x4;
   17397              :   res = recog_298 (x1, insn, pnum_clobbers);
   17398              :   if (res >= 0)
   17399              :     return res;
   17400              :   if (XWINT (x4, 0) != 4L)
   17401              :     return -1;
   17402              :   x5 = XVECEXP (x3, 0, 5);
   17403              :   if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
   17404              :     return -1;
   17405              :   x6 = XVECEXP (x3, 0, 6);
   17406              :   if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
   17407              :     return -1;
   17408              :   x7 = XVECEXP (x3, 0, 7);
   17409              :   if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
   17410              :       || pattern1426 (x3) != 0
   17411              :       || !register_operand (operands[0], E_V16HImode)
   17412              :       || GET_MODE (x2) != E_V16HImode
   17413              :       || !nonimmediate_operand (operands[1], E_V16HImode)
   17414              :       || pattern754 (x3) != 0)
   17415              :     return -1;
   17416              :   x8 = XVECEXP (x3, 0, 8);
   17417              :   operands[6] = x8;
   17418              :   if (!const_8_to_11_operand (operands[6], E_VOIDmode))
   17419              :     return -1;
   17420              :   x9 = XVECEXP (x3, 0, 9);
   17421              :   operands[7] = x9;
   17422              :   if (!const_8_to_11_operand (operands[7], E_VOIDmode))
   17423              :     return -1;
   17424              :   x10 = XVECEXP (x3, 0, 10);
   17425              :   operands[8] = x10;
   17426              :   if (!const_8_to_11_operand (operands[8], E_VOIDmode))
   17427              :     return -1;
   17428              :   x11 = XVECEXP (x3, 0, 11);
   17429              :   operands[9] = x11;
   17430              :   if (!const_8_to_11_operand (operands[9], E_VOIDmode)
   17431              :       || !
   17432              : #line 21120 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17433              : (TARGET_AVX2
   17434              :    && 1 && 1
   17435              :    && INTVAL (operands[2]) + 8 == INTVAL (operands[6])
   17436              :    && INTVAL (operands[3]) + 8 == INTVAL (operands[7])
   17437              :    && INTVAL (operands[4]) + 8 == INTVAL (operands[8])
   17438              :    && INTVAL (operands[5]) + 8 == INTVAL (operands[9])))
   17439              :     return -1;
   17440              :   return 8490; /* avx2_pshuflw_1 */
   17441              : }
   17442              : 
   17443              :  int
   17444              : recog_304 (rtx x1 ATTRIBUTE_UNUSED,
   17445              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   17446              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   17447              : {
   17448              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   17449              :   rtx x2, x3, x4, x5, x6, x7;
   17450              :   int res ATTRIBUTE_UNUSED;
   17451              :   x2 = XEXP (x1, 1);
   17452              :   x3 = XEXP (x2, 0);
   17453              :   x4 = XEXP (x3, 1);
   17454              :   if (GET_CODE (x4) != PARALLEL)
   17455              :     return -1;
   17456              :   x5 = XEXP (x3, 0);
   17457              :   operands[1] = x5;
   17458              :   switch (XVECLEN (x4, 0))
   17459              :     {
   17460              :     case 1:
   17461              :       x6 = XVECEXP (x4, 0, 0);
   17462              :       if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   17463              :         return -1;
   17464              :       switch (GET_MODE (operands[0]))
   17465              :         {
   17466              :         case E_V8SFmode:
   17467              :           if (!register_operand (operands[0], E_V8SFmode)
   17468              :               || GET_MODE (x2) != E_V8SFmode
   17469              :               || GET_MODE (x3) != E_SFmode)
   17470              :             return -1;
   17471              :           switch (GET_MODE (operands[1]))
   17472              :             {
   17473              :             case E_V4SFmode:
   17474              :               if (register_operand (operands[1], E_V4SFmode)
   17475              :                   && (
   17476              : #line 12042 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17477              : (TARGET_AVX2) && 
   17478              : #line 444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17479              : (TARGET_AVX)))
   17480              :                 return 5295; /* avx2_vec_dupv8sf */
   17481              :               if (!nonimmediate_operand (operands[1], E_V4SFmode)
   17482              :                   || !(
   17483              : #line 28403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17484              : (TARGET_AVX512F) && 
   17485              : #line 301 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17486              : (TARGET_AVX512VL)))
   17487              :                 return -1;
   17488              :               return 9266; /* avx512vl_vec_dupv8sf */
   17489              : 
   17490              :             case E_V8SFmode:
   17491              :               if (!register_operand (operands[1], E_V8SFmode)
   17492              :                   || !
   17493              : #line 12054 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17494              : (TARGET_AVX2))
   17495              :                 return -1;
   17496              :               return 5297; /* avx2_vec_dupv8sf_1 */
   17497              : 
   17498              :             default:
   17499              :               return -1;
   17500              :             }
   17501              : 
   17502              :         case E_V4SFmode:
   17503              :           if (!register_operand (operands[0], E_V4SFmode)
   17504              :               || GET_MODE (x2) != E_V4SFmode
   17505              :               || GET_MODE (x3) != E_SFmode)
   17506              :             return -1;
   17507              :           if (register_operand (operands[1], E_V4SFmode)
   17508              :               && 
   17509              : #line 12042 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17510              : (TARGET_AVX2))
   17511              :             return 5296; /* avx2_vec_dupv4sf */
   17512              :           if (!nonimmediate_operand (operands[1], E_V4SFmode)
   17513              :               || !(
   17514              : #line 28403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17515              : (TARGET_AVX512F) && 
   17516              : #line 301 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17517              : (TARGET_AVX512VL)))
   17518              :             return -1;
   17519              :           return 9268; /* avx512vl_vec_dupv4sf */
   17520              : 
   17521              :         case E_V16SFmode:
   17522              :           if (!register_operand (operands[0], E_V16SFmode)
   17523              :               || GET_MODE (x2) != E_V16SFmode
   17524              :               || GET_MODE (x3) != E_SFmode)
   17525              :             return -1;
   17526              :           switch (GET_MODE (operands[1]))
   17527              :             {
   17528              :             case E_V16SFmode:
   17529              :               if (!register_operand (operands[1], E_V16SFmode)
   17530              :                   || !
   17531              : #line 12066 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17532              : (TARGET_AVX512F))
   17533              :                 return -1;
   17534              :               return 5298; /* avx512f_vec_dupv16sf_1 */
   17535              : 
   17536              :             case E_V4SFmode:
   17537              :               if (!nonimmediate_operand (operands[1], E_V4SFmode)
   17538              :                   || !
   17539              : #line 28403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17540              : (TARGET_AVX512F))
   17541              :                 return -1;
   17542              :               return 9264; /* avx512f_vec_dupv16sf */
   17543              : 
   17544              :             default:
   17545              :               return -1;
   17546              :             }
   17547              : 
   17548              :         case E_V8DFmode:
   17549              :           if (!register_operand (operands[0], E_V8DFmode)
   17550              :               || GET_MODE (x2) != E_V8DFmode
   17551              :               || GET_MODE (x3) != E_DFmode)
   17552              :             return -1;
   17553              :           switch (GET_MODE (operands[1]))
   17554              :             {
   17555              :             case E_V8DFmode:
   17556              :               if (!register_operand (operands[1], E_V8DFmode)
   17557              :                   || !
   17558              : #line 12066 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17559              : (TARGET_AVX512F))
   17560              :                 return -1;
   17561              :               return 5299; /* avx512f_vec_dupv8df_1 */
   17562              : 
   17563              :             case E_V2DFmode:
   17564              :               if (!nonimmediate_operand (operands[1], E_V2DFmode)
   17565              :                   || !
   17566              : #line 28403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17567              : (TARGET_AVX512F))
   17568              :                 return -1;
   17569              :               return 9270; /* avx512f_vec_dupv8df */
   17570              : 
   17571              :             default:
   17572              :               return -1;
   17573              :             }
   17574              : 
   17575              :         case E_V16SImode:
   17576              :           if (!register_operand (operands[0], E_V16SImode)
   17577              :               || GET_MODE (x2) != E_V16SImode
   17578              :               || GET_MODE (x3) != E_SImode)
   17579              :             return -1;
   17580              :           switch (GET_MODE (operands[1]))
   17581              :             {
   17582              :             case E_V4SImode:
   17583              :               if (!nonimmediate_operand (operands[1], E_V4SImode))
   17584              :                 return -1;
   17585              :               if ((
   17586              : #line 27972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17587              : (TARGET_AVX2) && 
   17588              : #line 564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17589              : (TARGET_AVX512F)))
   17590              :                 return 9145; /* avx2_pbroadcastv16si */
   17591              :               if (!
   17592              : #line 28403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17593              : (TARGET_AVX512F))
   17594              :                 return -1;
   17595              :               return 9252; /* avx512f_vec_dupv16si */
   17596              : 
   17597              :             case E_V16SImode:
   17598              :               if (!nonimmediate_operand (operands[1], E_V16SImode)
   17599              :                   || !
   17600              : #line 28389 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17601              : (TARGET_AVX512F))
   17602              :                 return -1;
   17603              :               return 9246; /* avx512f_vec_dupv16si_1 */
   17604              : 
   17605              :             default:
   17606              :               return -1;
   17607              :             }
   17608              : 
   17609              :         case E_V8DImode:
   17610              :           if (!register_operand (operands[0], E_V8DImode)
   17611              :               || GET_MODE (x2) != E_V8DImode
   17612              :               || GET_MODE (x3) != E_DImode)
   17613              :             return -1;
   17614              :           switch (GET_MODE (operands[1]))
   17615              :             {
   17616              :             case E_V2DImode:
   17617              :               if (!nonimmediate_operand (operands[1], E_V2DImode))
   17618              :                 return -1;
   17619              :               if ((
   17620              : #line 27972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17621              : (TARGET_AVX2) && 
   17622              : #line 564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17623              : (TARGET_AVX512F)))
   17624              :                 return 9146; /* avx2_pbroadcastv8di */
   17625              :               if (!
   17626              : #line 28403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17627              : (TARGET_AVX512F))
   17628              :                 return -1;
   17629              :               return 9258; /* avx512f_vec_dupv8di */
   17630              : 
   17631              :             case E_V8DImode:
   17632              :               if (!nonimmediate_operand (operands[1], E_V8DImode)
   17633              :                   || !
   17634              : #line 28389 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17635              : (TARGET_AVX512F))
   17636              :                 return -1;
   17637              :               return 9247; /* avx512f_vec_dupv8di_1 */
   17638              : 
   17639              :             default:
   17640              :               return -1;
   17641              :             }
   17642              : 
   17643              :         case E_V64QImode:
   17644              :           if (!register_operand (operands[0], E_V64QImode)
   17645              :               || GET_MODE (x2) != E_V64QImode
   17646              :               || GET_MODE (x3) != E_QImode)
   17647              :             return -1;
   17648              :           switch (GET_MODE (operands[1]))
   17649              :             {
   17650              :             case E_V16QImode:
   17651              :               if (!nonimmediate_operand (operands[1], E_V16QImode))
   17652              :                 return -1;
   17653              :               if ((
   17654              : #line 27972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17655              : (TARGET_AVX2) && 
   17656              : #line 565 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17657              : (TARGET_AVX512BW)))
   17658              :                 return 9147; /* avx2_pbroadcastv64qi */
   17659              :               if (!
   17660              : #line 28422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17661              : (TARGET_AVX512BW))
   17662              :                 return -1;
   17663              :               return 9276; /* avx512bw_vec_dupv64qi */
   17664              : 
   17665              :             case E_V64QImode:
   17666              :               if (!nonimmediate_operand (operands[1], E_V64QImode)
   17667              :                   || !(
   17668              : #line 28389 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17669              : (TARGET_AVX512F) && 
   17670              : #line 968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17671              : (TARGET_AVX512BW)))
   17672              :                 return -1;
   17673              :               return 9249; /* avx512bw_vec_dupv64qi_1 */
   17674              : 
   17675              :             default:
   17676              :               return -1;
   17677              :             }
   17678              : 
   17679              :         case E_V32QImode:
   17680              :           if (!register_operand (operands[0], E_V32QImode)
   17681              :               || GET_MODE (x2) != E_V32QImode
   17682              :               || GET_MODE (x3) != E_QImode)
   17683              :             return -1;
   17684              :           switch (GET_MODE (operands[1]))
   17685              :             {
   17686              :             case E_V16QImode:
   17687              :               if (!nonimmediate_operand (operands[1], E_V16QImode))
   17688              :                 return -1;
   17689              :               if ((
   17690              : #line 27972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17691              : (TARGET_AVX2) && 
   17692              : #line 565 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17693              : (TARGET_AVX)))
   17694              :                 return 9148; /* avx2_pbroadcastv32qi */
   17695              :               if (!(
   17696              : #line 28422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17697              : (TARGET_AVX512BW) && 
   17698              : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17699              : (TARGET_AVX512VL)))
   17700              :                 return -1;
   17701              :               return 9280; /* avx512vl_vec_dupv32qi */
   17702              : 
   17703              :             case E_V32QImode:
   17704              :               if (!nonimmediate_operand (operands[1], E_V32QImode)
   17705              :                   || !
   17706              : #line 27986 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17707              : (TARGET_AVX2))
   17708              :                 return -1;
   17709              :               return 9163; /* avx2_pbroadcastv32qi_1 */
   17710              : 
   17711              :             default:
   17712              :               return -1;
   17713              :             }
   17714              : 
   17715              :         case E_V16QImode:
   17716              :           if (pattern932 (x2, 
   17717              : E_V16QImode, 
   17718              : E_QImode) != 0)
   17719              :             return -1;
   17720              :           if (
   17721              : #line 27972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17722              : (TARGET_AVX2))
   17723              :             return 9149; /* avx2_pbroadcastv16qi */
   17724              :           if (!(
   17725              : #line 28422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17726              : (TARGET_AVX512BW) && 
   17727              : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17728              : (TARGET_AVX512VL)))
   17729              :             return -1;
   17730              :           return 9278; /* avx512vl_vec_dupv16qi */
   17731              : 
   17732              :         case E_V32HImode:
   17733              :           if (!register_operand (operands[0], E_V32HImode)
   17734              :               || GET_MODE (x2) != E_V32HImode
   17735              :               || GET_MODE (x3) != E_HImode)
   17736              :             return -1;
   17737              :           switch (GET_MODE (operands[1]))
   17738              :             {
   17739              :             case E_V8HImode:
   17740              :               if (!nonimmediate_operand (operands[1], E_V8HImode))
   17741              :                 return -1;
   17742              :               if ((
   17743              : #line 27972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17744              : (TARGET_AVX2) && 
   17745              : #line 566 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17746              : (TARGET_AVX512BW)))
   17747              :                 return 9150; /* avx2_pbroadcastv32hi */
   17748              :               if (!
   17749              : #line 28422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17750              : (TARGET_AVX512BW))
   17751              :                 return -1;
   17752              :               return 9282; /* avx512bw_vec_dupv32hi */
   17753              : 
   17754              :             case E_V32HImode:
   17755              :               if (!nonimmediate_operand (operands[1], E_V32HImode)
   17756              :                   || !(
   17757              : #line 28389 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17758              : (TARGET_AVX512F) && 
   17759              : #line 968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17760              : (TARGET_AVX512BW)))
   17761              :                 return -1;
   17762              :               return 9248; /* avx512bw_vec_dupv32hi_1 */
   17763              : 
   17764              :             default:
   17765              :               return -1;
   17766              :             }
   17767              : 
   17768              :         case E_V16HImode:
   17769              :           if (!register_operand (operands[0], E_V16HImode)
   17770              :               || GET_MODE (x2) != E_V16HImode
   17771              :               || GET_MODE (x3) != E_HImode)
   17772              :             return -1;
   17773              :           switch (GET_MODE (operands[1]))
   17774              :             {
   17775              :             case E_V8HImode:
   17776              :               if (!nonimmediate_operand (operands[1], E_V8HImode))
   17777              :                 return -1;
   17778              :               if ((
   17779              : #line 27972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17780              : (TARGET_AVX2) && 
   17781              : #line 566 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17782              : (TARGET_AVX)))
   17783              :                 return 9151; /* avx2_pbroadcastv16hi */
   17784              :               if (!(
   17785              : #line 28422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17786              : (TARGET_AVX512BW) && 
   17787              : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17788              : (TARGET_AVX512VL)))
   17789              :                 return -1;
   17790              :               return 9284; /* avx512vl_vec_dupv16hi */
   17791              : 
   17792              :             case E_V16HImode:
   17793              :               if (!nonimmediate_operand (operands[1], E_V16HImode)
   17794              :                   || !
   17795              : #line 27986 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17796              : (TARGET_AVX2))
   17797              :                 return -1;
   17798              :               return 9164; /* avx2_pbroadcastv16hi_1 */
   17799              : 
   17800              :             default:
   17801              :               return -1;
   17802              :             }
   17803              : 
   17804              :         case E_V8HImode:
   17805              :           if (pattern932 (x2, 
   17806              : E_V8HImode, 
   17807              : E_HImode) != 0)
   17808              :             return -1;
   17809              :           if (
   17810              : #line 27972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17811              : (TARGET_AVX2))
   17812              :             return 9152; /* avx2_pbroadcastv8hi */
   17813              :           if (!(
   17814              : #line 28422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17815              : (TARGET_AVX512BW) && 
   17816              : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17817              : (TARGET_AVX512VL)))
   17818              :             return -1;
   17819              :           return 9286; /* avx512vl_vec_dupv8hi */
   17820              : 
   17821              :         case E_V8SImode:
   17822              :           if (!register_operand (operands[0], E_V8SImode)
   17823              :               || GET_MODE (x2) != E_V8SImode
   17824              :               || GET_MODE (x3) != E_SImode)
   17825              :             return -1;
   17826              :           switch (GET_MODE (operands[1]))
   17827              :             {
   17828              :             case E_V4SImode:
   17829              :               if (!nonimmediate_operand (operands[1], E_V4SImode))
   17830              :                 return -1;
   17831              :               if ((
   17832              : #line 27972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17833              : (TARGET_AVX2) && 
   17834              : #line 567 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17835              : (TARGET_AVX)))
   17836              :                 return 9153; /* avx2_pbroadcastv8si */
   17837              :               if (!(
   17838              : #line 28403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17839              : (TARGET_AVX512F) && 
   17840              : #line 299 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17841              : (TARGET_AVX512VL)))
   17842              :                 return -1;
   17843              :               return 9254; /* avx512vl_vec_dupv8si */
   17844              : 
   17845              :             case E_V8SImode:
   17846              :               if (!nonimmediate_operand (operands[1], E_V8SImode)
   17847              :                   || !
   17848              : #line 27986 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17849              : (TARGET_AVX2))
   17850              :                 return -1;
   17851              :               return 9165; /* avx2_pbroadcastv8si_1 */
   17852              : 
   17853              :             default:
   17854              :               return -1;
   17855              :             }
   17856              : 
   17857              :         case E_V4SImode:
   17858              :           if (pattern932 (x2, 
   17859              : E_V4SImode, 
   17860              : E_SImode) != 0)
   17861              :             return -1;
   17862              :           if (
   17863              : #line 27972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17864              : (TARGET_AVX2))
   17865              :             return 9154; /* avx2_pbroadcastv4si */
   17866              :           if (!(
   17867              : #line 28403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17868              : (TARGET_AVX512F) && 
   17869              : #line 299 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17870              : (TARGET_AVX512VL)))
   17871              :             return -1;
   17872              :           return 9256; /* avx512vl_vec_dupv4si */
   17873              : 
   17874              :         case E_V4DImode:
   17875              :           if (!register_operand (operands[0], E_V4DImode)
   17876              :               || GET_MODE (x2) != E_V4DImode
   17877              :               || GET_MODE (x3) != E_DImode)
   17878              :             return -1;
   17879              :           switch (GET_MODE (operands[1]))
   17880              :             {
   17881              :             case E_V2DImode:
   17882              :               if (!nonimmediate_operand (operands[1], E_V2DImode))
   17883              :                 return -1;
   17884              :               if ((
   17885              : #line 27972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17886              : (TARGET_AVX2) && 
   17887              : #line 567 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17888              : (TARGET_AVX)))
   17889              :                 return 9155; /* avx2_pbroadcastv4di */
   17890              :               if (!(
   17891              : #line 28403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17892              : (TARGET_AVX512F) && 
   17893              : #line 300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17894              : (TARGET_AVX512VL)))
   17895              :                 return -1;
   17896              :               return 9260; /* avx512vl_vec_dupv4di */
   17897              : 
   17898              :             case E_V4DImode:
   17899              :               if (!nonimmediate_operand (operands[1], E_V4DImode)
   17900              :                   || !
   17901              : #line 27986 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17902              : (TARGET_AVX2))
   17903              :                 return -1;
   17904              :               return 9166; /* avx2_pbroadcastv4di_1 */
   17905              : 
   17906              :             default:
   17907              :               return -1;
   17908              :             }
   17909              : 
   17910              :         case E_V2DImode:
   17911              :           if (pattern932 (x2, 
   17912              : E_V2DImode, 
   17913              : E_DImode) != 0)
   17914              :             return -1;
   17915              :           if (
   17916              : #line 27972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17917              : (TARGET_AVX2))
   17918              :             return 9156; /* avx2_pbroadcastv2di */
   17919              :           if (!(
   17920              : #line 28403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17921              : (TARGET_AVX512F) && 
   17922              : #line 300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17923              : (TARGET_AVX512VL)))
   17924              :             return -1;
   17925              :           return 9262; /* avx512vl_vec_dupv2di */
   17926              : 
   17927              :         case E_V32HFmode:
   17928              :           if (!register_operand (operands[0], E_V32HFmode)
   17929              :               || GET_MODE (x2) != E_V32HFmode
   17930              :               || GET_MODE (x3) != E_HFmode)
   17931              :             return -1;
   17932              :           switch (GET_MODE (operands[1]))
   17933              :             {
   17934              :             case E_V8HFmode:
   17935              :               if (!nonimmediate_operand (operands[1], E_V8HFmode))
   17936              :                 return -1;
   17937              :               if ((
   17938              : #line 27972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17939              : (TARGET_AVX2) && 
   17940              : #line 568 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17941              : (TARGET_AVX512BW)))
   17942              :                 return 9157; /* avx2_pbroadcastv32hf */
   17943              :               if (!
   17944              : #line 28422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17945              : (TARGET_AVX512BW))
   17946              :                 return -1;
   17947              :               return 9288; /* avx512bw_vec_dupv32hf */
   17948              : 
   17949              :             case E_V32HFmode:
   17950              :               if (!nonimmediate_operand (operands[1], E_V32HFmode)
   17951              :                   || !(
   17952              : #line 28389 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17953              : (TARGET_AVX512F) && 
   17954              : #line 969 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17955              : (TARGET_AVX512BW)))
   17956              :                 return -1;
   17957              :               return 9250; /* avx512bw_vec_dupv32hf_1 */
   17958              : 
   17959              :             default:
   17960              :               return -1;
   17961              :             }
   17962              : 
   17963              :         case E_V16HFmode:
   17964              :           if (!register_operand (operands[0], E_V16HFmode)
   17965              :               || GET_MODE (x2) != E_V16HFmode
   17966              :               || GET_MODE (x3) != E_HFmode)
   17967              :             return -1;
   17968              :           switch (GET_MODE (operands[1]))
   17969              :             {
   17970              :             case E_V8HFmode:
   17971              :               if (!nonimmediate_operand (operands[1], E_V8HFmode))
   17972              :                 return -1;
   17973              :               if ((
   17974              : #line 27972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17975              : (TARGET_AVX2) && 
   17976              : #line 568 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17977              : (TARGET_AVX)))
   17978              :                 return 9158; /* avx2_pbroadcastv16hf */
   17979              :               if (!(
   17980              : #line 28422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17981              : (TARGET_AVX512BW) && 
   17982              : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17983              : (TARGET_AVX512VL)))
   17984              :                 return -1;
   17985              :               return 9290; /* avx512vl_vec_dupv16hf */
   17986              : 
   17987              :             case E_V16HFmode:
   17988              :               if (!nonimmediate_operand (operands[1], E_V16HFmode)
   17989              :                   || !
   17990              : #line 27986 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17991              : (TARGET_AVX2))
   17992              :                 return -1;
   17993              :               return 9167; /* avx2_pbroadcastv16hf_1 */
   17994              : 
   17995              :             default:
   17996              :               return -1;
   17997              :             }
   17998              : 
   17999              :         case E_V8HFmode:
   18000              :           if (pattern932 (x2, 
   18001              : E_V8HFmode, 
   18002              : E_HFmode) != 0)
   18003              :             return -1;
   18004              :           if (
   18005              : #line 27972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18006              : (TARGET_AVX2))
   18007              :             return 9159; /* avx2_pbroadcastv8hf */
   18008              :           if (!(
   18009              : #line 28422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18010              : (TARGET_AVX512BW) && 
   18011              : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18012              : (TARGET_AVX512VL)))
   18013              :             return -1;
   18014              :           return 9292; /* avx512fp16_vec_dupv8hf */
   18015              : 
   18016              :         case E_V32BFmode:
   18017              :           if (!register_operand (operands[0], E_V32BFmode)
   18018              :               || GET_MODE (x2) != E_V32BFmode
   18019              :               || GET_MODE (x3) != E_BFmode)
   18020              :             return -1;
   18021              :           switch (GET_MODE (operands[1]))
   18022              :             {
   18023              :             case E_V8BFmode:
   18024              :               if (!nonimmediate_operand (operands[1], E_V8BFmode))
   18025              :                 return -1;
   18026              :               if ((
   18027              : #line 27972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18028              : (TARGET_AVX2) && 
   18029              : #line 569 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18030              : (TARGET_AVX512BW)))
   18031              :                 return 9160; /* avx2_pbroadcastv32bf */
   18032              :               if (!
   18033              : #line 28422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18034              : (TARGET_AVX512BW))
   18035              :                 return -1;
   18036              :               return 9294; /* avx512bw_vec_dupv32bf */
   18037              : 
   18038              :             case E_V32BFmode:
   18039              :               if (!nonimmediate_operand (operands[1], E_V32BFmode)
   18040              :                   || !(
   18041              : #line 28389 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18042              : (TARGET_AVX512F) && 
   18043              : #line 969 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18044              : (TARGET_AVX512BW)))
   18045              :                 return -1;
   18046              :               return 9251; /* avx512bw_vec_dupv32bf_1 */
   18047              : 
   18048              :             default:
   18049              :               return -1;
   18050              :             }
   18051              : 
   18052              :         case E_V16BFmode:
   18053              :           if (!register_operand (operands[0], E_V16BFmode)
   18054              :               || GET_MODE (x2) != E_V16BFmode
   18055              :               || GET_MODE (x3) != E_BFmode)
   18056              :             return -1;
   18057              :           switch (GET_MODE (operands[1]))
   18058              :             {
   18059              :             case E_V8BFmode:
   18060              :               if (!nonimmediate_operand (operands[1], E_V8BFmode))
   18061              :                 return -1;
   18062              :               if ((
   18063              : #line 27972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18064              : (TARGET_AVX2) && 
   18065              : #line 569 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18066              : (TARGET_AVX)))
   18067              :                 return 9161; /* avx2_pbroadcastv16bf */
   18068              :               if (!(
   18069              : #line 28422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18070              : (TARGET_AVX512BW) && 
   18071              : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18072              : (TARGET_AVX512VL)))
   18073              :                 return -1;
   18074              :               return 9296; /* avx512vl_vec_dupv16bf */
   18075              : 
   18076              :             case E_V16BFmode:
   18077              :               if (!nonimmediate_operand (operands[1], E_V16BFmode)
   18078              :                   || !
   18079              : #line 27986 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18080              : (TARGET_AVX2))
   18081              :                 return -1;
   18082              :               return 9168; /* avx2_pbroadcastv16bf_1 */
   18083              : 
   18084              :             default:
   18085              :               return -1;
   18086              :             }
   18087              : 
   18088              :         case E_V8BFmode:
   18089              :           if (pattern932 (x2, 
   18090              : E_V8BFmode, 
   18091              : E_BFmode) != 0)
   18092              :             return -1;
   18093              :           if (
   18094              : #line 27972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18095              : (TARGET_AVX2))
   18096              :             return 9162; /* avx2_pbroadcastv8bf */
   18097              :           if (!(
   18098              : #line 28422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18099              : (TARGET_AVX512BW) && 
   18100              : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18101              : (TARGET_AVX512VL)))
   18102              :             return -1;
   18103              :           return 9298; /* avx512vl_vec_dupv8bf */
   18104              : 
   18105              :         case E_V4DFmode:
   18106              :           if (!register_operand (operands[0], E_V4DFmode)
   18107              :               || GET_MODE (x2) != E_V4DFmode
   18108              :               || GET_MODE (x3) != E_DFmode)
   18109              :             return -1;
   18110              :           if (register_operand (operands[1], E_V2DFmode)
   18111              :               && 
   18112              : #line 28377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18113              : (TARGET_AVX2))
   18114              :             return 9245; /* avx2_vec_dupv4df */
   18115              :           if (!nonimmediate_operand (operands[1], E_V2DFmode)
   18116              :               || !(
   18117              : #line 28403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18118              : (TARGET_AVX512F) && 
   18119              : #line 302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18120              : (TARGET_AVX512VL)))
   18121              :             return -1;
   18122              :           return 9272; /* avx512vl_vec_dupv4df */
   18123              : 
   18124              :         case E_V2DFmode:
   18125              :           if (pattern932 (x2, 
   18126              : E_V2DFmode, 
   18127              : E_DFmode) != 0
   18128              :               || !(
   18129              : #line 28403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18130              : (TARGET_AVX512F) && 
   18131              : #line 302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18132              : (TARGET_AVX512VL)))
   18133              :             return -1;
   18134              :           return 9274; /* avx512vl_vec_dupv2df */
   18135              : 
   18136              :         default:
   18137              :           return -1;
   18138              :         }
   18139              : 
   18140              :     case 2:
   18141              :       x6 = XVECEXP (x4, 0, 0);
   18142              :       if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   18143              :         return -1;
   18144              :       x7 = XVECEXP (x4, 0, 1);
   18145              :       if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   18146              :         return -1;
   18147              :       switch (GET_MODE (operands[0]))
   18148              :         {
   18149              :         case E_V16SImode:
   18150              :           if (pattern928 (x2, 
   18151              : E_V4SImode, 
   18152              : E_V2SImode, 
   18153              : E_V16SImode) != 0
   18154              :               || !
   18155              : #line 28743 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18156              : (TARGET_AVX512DQ))
   18157              :             return -1;
   18158              :           return 9394; /* *avx512dq_broadcastv16si */
   18159              : 
   18160              :         case E_V8SImode:
   18161              :           if (pattern928 (x2, 
   18162              : E_V4SImode, 
   18163              : E_V2SImode, 
   18164              : E_V8SImode) != 0
   18165              :               || !(
   18166              : #line 28743 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18167              : (TARGET_AVX512DQ) && 
   18168              : #line 28727 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18169              : (TARGET_AVX512VL)))
   18170              :             return -1;
   18171              :           return 9396; /* *avx512dq_broadcastv8si */
   18172              : 
   18173              :         case E_V4SImode:
   18174              :           if (pattern932 (x2, 
   18175              : E_V4SImode, 
   18176              : E_V2SImode) != 0
   18177              :               || !(
   18178              : #line 28743 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18179              : (TARGET_AVX512DQ) && 
   18180              : #line 28727 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18181              : (TARGET_AVX512VL)))
   18182              :             return -1;
   18183              :           return 9398; /* *avx512dq_broadcastv4si */
   18184              : 
   18185              :         case E_V16SFmode:
   18186              :           if (pattern928 (x2, 
   18187              : E_V4SFmode, 
   18188              : E_V2SFmode, 
   18189              : E_V16SFmode) != 0
   18190              :               || !
   18191              : #line 28743 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18192              : (TARGET_AVX512DQ))
   18193              :             return -1;
   18194              :           return 9400; /* *avx512dq_broadcastv16sf */
   18195              : 
   18196              :         case E_V8SFmode:
   18197              :           if (pattern928 (x2, 
   18198              : E_V4SFmode, 
   18199              : E_V2SFmode, 
   18200              : E_V8SFmode) != 0
   18201              :               || !(
   18202              : #line 28743 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18203              : (TARGET_AVX512DQ) && 
   18204              : #line 28728 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18205              : (TARGET_AVX512VL)))
   18206              :             return -1;
   18207              :           return 9402; /* *avx512dq_broadcastv8sf */
   18208              : 
   18209              :         default:
   18210              :           return -1;
   18211              :         }
   18212              : 
   18213              :     default:
   18214              :       return -1;
   18215              :     }
   18216              : }
   18217              : 
   18218              :  int
   18219              : recog_315 (rtx x1 ATTRIBUTE_UNUSED,
   18220              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   18221              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   18222              : {
   18223              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   18224              :   rtx x2, x3, x4;
   18225              :   int res ATTRIBUTE_UNUSED;
   18226              :   x2 = XEXP (x1, 1);
   18227              :   x3 = XEXP (x2, 0);
   18228              :   x4 = XEXP (x3, 0);
   18229              :   switch (GET_CODE (x4))
   18230              :     {
   18231              :     case REG:
   18232              :     case SUBREG:
   18233              :     case MEM:
   18234              :     case NOT:
   18235              :       switch (pattern541 (x2))
   18236              :         {
   18237              :         case 0:
   18238              :           if (!(
   18239              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18240              : ((64 == 64 || TARGET_AVX512VL
   18241              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18242              :    && ix86_pre_reload_split ()
   18243              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18244              :                     STRIP_UNARY (operands[4]))
   18245              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18246              :                        STRIP_UNARY (operands[4]))
   18247              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18248              :                        STRIP_UNARY (operands[3]))
   18249              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18250              :                        STRIP_UNARY (operands[3])))) && 
   18251              : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18252              : (TARGET_AVX512F)))
   18253              :             return -1;
   18254              :           return 5881; /* *avx512bw_vpternlogv32hf_1 */
   18255              : 
   18256              :         case 1:
   18257              :           if (!(
   18258              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18259              : ((32 == 64 || TARGET_AVX512VL
   18260              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18261              :    && ix86_pre_reload_split ()
   18262              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18263              :                     STRIP_UNARY (operands[4]))
   18264              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18265              :                        STRIP_UNARY (operands[4]))
   18266              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18267              :                        STRIP_UNARY (operands[3]))
   18268              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18269              :                        STRIP_UNARY (operands[3])))) && 
   18270              : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18271              : (TARGET_AVX)))
   18272              :             return -1;
   18273              :           return 5908; /* *avx512vl_vpternlogv16hf_1 */
   18274              : 
   18275              :         case 2:
   18276              :           if (!
   18277              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18278              : ((16 == 64 || TARGET_AVX512VL
   18279              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18280              :    && ix86_pre_reload_split ()
   18281              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18282              :                     STRIP_UNARY (operands[4]))
   18283              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18284              :                        STRIP_UNARY (operands[4]))
   18285              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18286              :                        STRIP_UNARY (operands[3]))
   18287              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18288              :                        STRIP_UNARY (operands[3])))))
   18289              :             return -1;
   18290              :           return 5935; /* *avx512fp16_vpternlogv8hf_1 */
   18291              : 
   18292              :         case 3:
   18293              :           if (!(
   18294              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18295              : ((64 == 64 || TARGET_AVX512VL
   18296              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18297              :    && ix86_pre_reload_split ()
   18298              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18299              :                     STRIP_UNARY (operands[4]))
   18300              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18301              :                        STRIP_UNARY (operands[4]))
   18302              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18303              :                        STRIP_UNARY (operands[3]))
   18304              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18305              :                        STRIP_UNARY (operands[3])))) && 
   18306              : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18307              : (TARGET_AVX512F)))
   18308              :             return -1;
   18309              :           return 5962; /* *avx512bw_vpternlogv32bf_1 */
   18310              : 
   18311              :         case 4:
   18312              :           if (!(
   18313              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18314              : ((32 == 64 || TARGET_AVX512VL
   18315              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18316              :    && ix86_pre_reload_split ()
   18317              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18318              :                     STRIP_UNARY (operands[4]))
   18319              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18320              :                        STRIP_UNARY (operands[4]))
   18321              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18322              :                        STRIP_UNARY (operands[3]))
   18323              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18324              :                        STRIP_UNARY (operands[3])))) && 
   18325              : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18326              : (TARGET_AVX)))
   18327              :             return -1;
   18328              :           return 5989; /* *avx512vl_vpternlogv16bf_1 */
   18329              : 
   18330              :         case 5:
   18331              :           if (!
   18332              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18333              : ((16 == 64 || TARGET_AVX512VL
   18334              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18335              :    && ix86_pre_reload_split ()
   18336              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18337              :                     STRIP_UNARY (operands[4]))
   18338              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18339              :                        STRIP_UNARY (operands[4]))
   18340              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18341              :                        STRIP_UNARY (operands[3]))
   18342              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18343              :                        STRIP_UNARY (operands[3])))))
   18344              :             return -1;
   18345              :           return 6016; /* *avx512vl_vpternlogv8bf_1 */
   18346              : 
   18347              :         case 6:
   18348              :           if (!(
   18349              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18350              : ((64 == 64 || TARGET_AVX512VL
   18351              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18352              :    && ix86_pre_reload_split ()
   18353              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18354              :                     STRIP_UNARY (operands[4]))
   18355              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18356              :                        STRIP_UNARY (operands[4]))
   18357              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18358              :                        STRIP_UNARY (operands[3]))
   18359              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18360              :                        STRIP_UNARY (operands[3])))) && 
   18361              : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18362              : (TARGET_AVX512F)))
   18363              :             return -1;
   18364              :           return 6043; /* *avx512f_vpternlogv16sf_1 */
   18365              : 
   18366              :         case 7:
   18367              :           if (!(
   18368              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18369              : ((32 == 64 || TARGET_AVX512VL
   18370              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18371              :    && ix86_pre_reload_split ()
   18372              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18373              :                     STRIP_UNARY (operands[4]))
   18374              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18375              :                        STRIP_UNARY (operands[4]))
   18376              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18377              :                        STRIP_UNARY (operands[3]))
   18378              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18379              :                        STRIP_UNARY (operands[3])))) && 
   18380              : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18381              : (TARGET_AVX)))
   18382              :             return -1;
   18383              :           return 6070; /* *avx512vl_vpternlogv8sf_1 */
   18384              : 
   18385              :         case 8:
   18386              :           if (!
   18387              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18388              : ((16 == 64 || TARGET_AVX512VL
   18389              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18390              :    && ix86_pre_reload_split ()
   18391              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18392              :                     STRIP_UNARY (operands[4]))
   18393              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18394              :                        STRIP_UNARY (operands[4]))
   18395              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18396              :                        STRIP_UNARY (operands[3]))
   18397              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18398              :                        STRIP_UNARY (operands[3])))))
   18399              :             return -1;
   18400              :           return 6097; /* *avx512vl_vpternlogv4sf_1 */
   18401              : 
   18402              :         case 9:
   18403              :           if (!(
   18404              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18405              : ((64 == 64 || TARGET_AVX512VL
   18406              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18407              :    && ix86_pre_reload_split ()
   18408              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18409              :                     STRIP_UNARY (operands[4]))
   18410              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18411              :                        STRIP_UNARY (operands[4]))
   18412              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18413              :                        STRIP_UNARY (operands[3]))
   18414              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18415              :                        STRIP_UNARY (operands[3])))) && 
   18416              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18417              : (TARGET_AVX512F)))
   18418              :             return -1;
   18419              :           return 6124; /* *avx512f_vpternlogv8df_1 */
   18420              : 
   18421              :         case 10:
   18422              :           if (!(
   18423              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18424              : ((32 == 64 || TARGET_AVX512VL
   18425              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18426              :    && ix86_pre_reload_split ()
   18427              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18428              :                     STRIP_UNARY (operands[4]))
   18429              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18430              :                        STRIP_UNARY (operands[4]))
   18431              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18432              :                        STRIP_UNARY (operands[3]))
   18433              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18434              :                        STRIP_UNARY (operands[3])))) && 
   18435              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18436              : (TARGET_AVX)))
   18437              :             return -1;
   18438              :           return 6151; /* *avx512vl_vpternlogv4df_1 */
   18439              : 
   18440              :         case 11:
   18441              :           if (!(
   18442              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18443              : ((16 == 64 || TARGET_AVX512VL
   18444              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18445              :    && ix86_pre_reload_split ()
   18446              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18447              :                     STRIP_UNARY (operands[4]))
   18448              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18449              :                        STRIP_UNARY (operands[4]))
   18450              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18451              :                        STRIP_UNARY (operands[3]))
   18452              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18453              :                        STRIP_UNARY (operands[3])))) && 
   18454              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18455              : (TARGET_SSE2)))
   18456              :             return -1;
   18457              :           return 6178; /* *avx512vl_vpternlogv2df_1 */
   18458              : 
   18459              :         case 12:
   18460              :           if (!(
   18461              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18462              : ((64 == 64 || TARGET_AVX512VL
   18463              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18464              :    && ix86_pre_reload_split ()
   18465              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18466              :                     STRIP_UNARY (operands[4]))
   18467              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18468              :                        STRIP_UNARY (operands[4]))
   18469              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18470              :                        STRIP_UNARY (operands[3]))
   18471              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18472              :                        STRIP_UNARY (operands[3])))) && 
   18473              : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18474              : (TARGET_AVX512F)))
   18475              :             return -1;
   18476              :           return 5884; /* *avx512bw_vpternlogv32hf_1 */
   18477              : 
   18478              :         case 13:
   18479              :           if (!(
   18480              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18481              : ((32 == 64 || TARGET_AVX512VL
   18482              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18483              :    && ix86_pre_reload_split ()
   18484              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18485              :                     STRIP_UNARY (operands[4]))
   18486              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18487              :                        STRIP_UNARY (operands[4]))
   18488              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18489              :                        STRIP_UNARY (operands[3]))
   18490              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18491              :                        STRIP_UNARY (operands[3])))) && 
   18492              : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18493              : (TARGET_AVX)))
   18494              :             return -1;
   18495              :           return 5911; /* *avx512vl_vpternlogv16hf_1 */
   18496              : 
   18497              :         case 14:
   18498              :           if (!
   18499              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18500              : ((16 == 64 || TARGET_AVX512VL
   18501              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18502              :    && ix86_pre_reload_split ()
   18503              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18504              :                     STRIP_UNARY (operands[4]))
   18505              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18506              :                        STRIP_UNARY (operands[4]))
   18507              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18508              :                        STRIP_UNARY (operands[3]))
   18509              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18510              :                        STRIP_UNARY (operands[3])))))
   18511              :             return -1;
   18512              :           return 5938; /* *avx512fp16_vpternlogv8hf_1 */
   18513              : 
   18514              :         case 15:
   18515              :           if (!(
   18516              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18517              : ((64 == 64 || TARGET_AVX512VL
   18518              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18519              :    && ix86_pre_reload_split ()
   18520              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18521              :                     STRIP_UNARY (operands[4]))
   18522              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18523              :                        STRIP_UNARY (operands[4]))
   18524              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18525              :                        STRIP_UNARY (operands[3]))
   18526              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18527              :                        STRIP_UNARY (operands[3])))) && 
   18528              : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18529              : (TARGET_AVX512F)))
   18530              :             return -1;
   18531              :           return 5965; /* *avx512bw_vpternlogv32bf_1 */
   18532              : 
   18533              :         case 16:
   18534              :           if (!(
   18535              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18536              : ((32 == 64 || TARGET_AVX512VL
   18537              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18538              :    && ix86_pre_reload_split ()
   18539              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18540              :                     STRIP_UNARY (operands[4]))
   18541              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18542              :                        STRIP_UNARY (operands[4]))
   18543              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18544              :                        STRIP_UNARY (operands[3]))
   18545              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18546              :                        STRIP_UNARY (operands[3])))) && 
   18547              : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18548              : (TARGET_AVX)))
   18549              :             return -1;
   18550              :           return 5992; /* *avx512vl_vpternlogv16bf_1 */
   18551              : 
   18552              :         case 17:
   18553              :           if (!
   18554              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18555              : ((16 == 64 || TARGET_AVX512VL
   18556              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18557              :    && ix86_pre_reload_split ()
   18558              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18559              :                     STRIP_UNARY (operands[4]))
   18560              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18561              :                        STRIP_UNARY (operands[4]))
   18562              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18563              :                        STRIP_UNARY (operands[3]))
   18564              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18565              :                        STRIP_UNARY (operands[3])))))
   18566              :             return -1;
   18567              :           return 6019; /* *avx512vl_vpternlogv8bf_1 */
   18568              : 
   18569              :         case 18:
   18570              :           if (!(
   18571              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18572              : ((64 == 64 || TARGET_AVX512VL
   18573              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18574              :    && ix86_pre_reload_split ()
   18575              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18576              :                     STRIP_UNARY (operands[4]))
   18577              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18578              :                        STRIP_UNARY (operands[4]))
   18579              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18580              :                        STRIP_UNARY (operands[3]))
   18581              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18582              :                        STRIP_UNARY (operands[3])))) && 
   18583              : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18584              : (TARGET_AVX512F)))
   18585              :             return -1;
   18586              :           return 6046; /* *avx512f_vpternlogv16sf_1 */
   18587              : 
   18588              :         case 19:
   18589              :           if (!(
   18590              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18591              : ((32 == 64 || TARGET_AVX512VL
   18592              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18593              :    && ix86_pre_reload_split ()
   18594              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18595              :                     STRIP_UNARY (operands[4]))
   18596              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18597              :                        STRIP_UNARY (operands[4]))
   18598              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18599              :                        STRIP_UNARY (operands[3]))
   18600              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18601              :                        STRIP_UNARY (operands[3])))) && 
   18602              : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18603              : (TARGET_AVX)))
   18604              :             return -1;
   18605              :           return 6073; /* *avx512vl_vpternlogv8sf_1 */
   18606              : 
   18607              :         case 20:
   18608              :           if (!
   18609              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18610              : ((16 == 64 || TARGET_AVX512VL
   18611              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18612              :    && ix86_pre_reload_split ()
   18613              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18614              :                     STRIP_UNARY (operands[4]))
   18615              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18616              :                        STRIP_UNARY (operands[4]))
   18617              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18618              :                        STRIP_UNARY (operands[3]))
   18619              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18620              :                        STRIP_UNARY (operands[3])))))
   18621              :             return -1;
   18622              :           return 6100; /* *avx512vl_vpternlogv4sf_1 */
   18623              : 
   18624              :         case 21:
   18625              :           if (!(
   18626              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18627              : ((64 == 64 || TARGET_AVX512VL
   18628              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18629              :    && ix86_pre_reload_split ()
   18630              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18631              :                     STRIP_UNARY (operands[4]))
   18632              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18633              :                        STRIP_UNARY (operands[4]))
   18634              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18635              :                        STRIP_UNARY (operands[3]))
   18636              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18637              :                        STRIP_UNARY (operands[3])))) && 
   18638              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18639              : (TARGET_AVX512F)))
   18640              :             return -1;
   18641              :           return 6127; /* *avx512f_vpternlogv8df_1 */
   18642              : 
   18643              :         case 22:
   18644              :           if (!(
   18645              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18646              : ((32 == 64 || TARGET_AVX512VL
   18647              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18648              :    && ix86_pre_reload_split ()
   18649              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18650              :                     STRIP_UNARY (operands[4]))
   18651              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18652              :                        STRIP_UNARY (operands[4]))
   18653              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18654              :                        STRIP_UNARY (operands[3]))
   18655              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18656              :                        STRIP_UNARY (operands[3])))) && 
   18657              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18658              : (TARGET_AVX)))
   18659              :             return -1;
   18660              :           return 6154; /* *avx512vl_vpternlogv4df_1 */
   18661              : 
   18662              :         case 23:
   18663              :           if (!(
   18664              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18665              : ((16 == 64 || TARGET_AVX512VL
   18666              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18667              :    && ix86_pre_reload_split ()
   18668              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18669              :                     STRIP_UNARY (operands[4]))
   18670              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18671              :                        STRIP_UNARY (operands[4]))
   18672              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18673              :                        STRIP_UNARY (operands[3]))
   18674              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18675              :                        STRIP_UNARY (operands[3])))) && 
   18676              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18677              : (TARGET_SSE2)))
   18678              :             return -1;
   18679              :           return 6181; /* *avx512vl_vpternlogv2df_1 */
   18680              : 
   18681              :         case 24:
   18682              :           if (!(
   18683              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18684              : ((64 == 64 || TARGET_AVX512VL
   18685              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18686              :    && ix86_pre_reload_split ()
   18687              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18688              :                     STRIP_UNARY (operands[4]))
   18689              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18690              :                        STRIP_UNARY (operands[4]))
   18691              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18692              :                        STRIP_UNARY (operands[3]))
   18693              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18694              :                        STRIP_UNARY (operands[3])))) && 
   18695              : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18696              : (TARGET_AVX512F)))
   18697              :             return -1;
   18698              :           return 5887; /* *avx512bw_vpternlogv32hf_1 */
   18699              : 
   18700              :         case 25:
   18701              :           if (!(
   18702              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18703              : ((32 == 64 || TARGET_AVX512VL
   18704              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18705              :    && ix86_pre_reload_split ()
   18706              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18707              :                     STRIP_UNARY (operands[4]))
   18708              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18709              :                        STRIP_UNARY (operands[4]))
   18710              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18711              :                        STRIP_UNARY (operands[3]))
   18712              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18713              :                        STRIP_UNARY (operands[3])))) && 
   18714              : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18715              : (TARGET_AVX)))
   18716              :             return -1;
   18717              :           return 5914; /* *avx512vl_vpternlogv16hf_1 */
   18718              : 
   18719              :         case 26:
   18720              :           if (!
   18721              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18722              : ((16 == 64 || TARGET_AVX512VL
   18723              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18724              :    && ix86_pre_reload_split ()
   18725              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18726              :                     STRIP_UNARY (operands[4]))
   18727              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18728              :                        STRIP_UNARY (operands[4]))
   18729              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18730              :                        STRIP_UNARY (operands[3]))
   18731              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18732              :                        STRIP_UNARY (operands[3])))))
   18733              :             return -1;
   18734              :           return 5941; /* *avx512fp16_vpternlogv8hf_1 */
   18735              : 
   18736              :         case 27:
   18737              :           if (!(
   18738              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18739              : ((64 == 64 || TARGET_AVX512VL
   18740              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18741              :    && ix86_pre_reload_split ()
   18742              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18743              :                     STRIP_UNARY (operands[4]))
   18744              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18745              :                        STRIP_UNARY (operands[4]))
   18746              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18747              :                        STRIP_UNARY (operands[3]))
   18748              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18749              :                        STRIP_UNARY (operands[3])))) && 
   18750              : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18751              : (TARGET_AVX512F)))
   18752              :             return -1;
   18753              :           return 5968; /* *avx512bw_vpternlogv32bf_1 */
   18754              : 
   18755              :         case 28:
   18756              :           if (!(
   18757              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18758              : ((32 == 64 || TARGET_AVX512VL
   18759              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18760              :    && ix86_pre_reload_split ()
   18761              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18762              :                     STRIP_UNARY (operands[4]))
   18763              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18764              :                        STRIP_UNARY (operands[4]))
   18765              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18766              :                        STRIP_UNARY (operands[3]))
   18767              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18768              :                        STRIP_UNARY (operands[3])))) && 
   18769              : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18770              : (TARGET_AVX)))
   18771              :             return -1;
   18772              :           return 5995; /* *avx512vl_vpternlogv16bf_1 */
   18773              : 
   18774              :         case 29:
   18775              :           if (!
   18776              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18777              : ((16 == 64 || TARGET_AVX512VL
   18778              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18779              :    && ix86_pre_reload_split ()
   18780              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18781              :                     STRIP_UNARY (operands[4]))
   18782              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18783              :                        STRIP_UNARY (operands[4]))
   18784              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18785              :                        STRIP_UNARY (operands[3]))
   18786              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18787              :                        STRIP_UNARY (operands[3])))))
   18788              :             return -1;
   18789              :           return 6022; /* *avx512vl_vpternlogv8bf_1 */
   18790              : 
   18791              :         case 30:
   18792              :           if (!(
   18793              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18794              : ((64 == 64 || TARGET_AVX512VL
   18795              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18796              :    && ix86_pre_reload_split ()
   18797              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18798              :                     STRIP_UNARY (operands[4]))
   18799              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18800              :                        STRIP_UNARY (operands[4]))
   18801              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18802              :                        STRIP_UNARY (operands[3]))
   18803              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18804              :                        STRIP_UNARY (operands[3])))) && 
   18805              : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18806              : (TARGET_AVX512F)))
   18807              :             return -1;
   18808              :           return 6049; /* *avx512f_vpternlogv16sf_1 */
   18809              : 
   18810              :         case 31:
   18811              :           if (!(
   18812              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18813              : ((32 == 64 || TARGET_AVX512VL
   18814              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18815              :    && ix86_pre_reload_split ()
   18816              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18817              :                     STRIP_UNARY (operands[4]))
   18818              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18819              :                        STRIP_UNARY (operands[4]))
   18820              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18821              :                        STRIP_UNARY (operands[3]))
   18822              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18823              :                        STRIP_UNARY (operands[3])))) && 
   18824              : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18825              : (TARGET_AVX)))
   18826              :             return -1;
   18827              :           return 6076; /* *avx512vl_vpternlogv8sf_1 */
   18828              : 
   18829              :         case 32:
   18830              :           if (!
   18831              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18832              : ((16 == 64 || TARGET_AVX512VL
   18833              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18834              :    && ix86_pre_reload_split ()
   18835              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18836              :                     STRIP_UNARY (operands[4]))
   18837              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18838              :                        STRIP_UNARY (operands[4]))
   18839              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18840              :                        STRIP_UNARY (operands[3]))
   18841              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18842              :                        STRIP_UNARY (operands[3])))))
   18843              :             return -1;
   18844              :           return 6103; /* *avx512vl_vpternlogv4sf_1 */
   18845              : 
   18846              :         case 33:
   18847              :           if (!(
   18848              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18849              : ((64 == 64 || TARGET_AVX512VL
   18850              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18851              :    && ix86_pre_reload_split ()
   18852              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18853              :                     STRIP_UNARY (operands[4]))
   18854              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18855              :                        STRIP_UNARY (operands[4]))
   18856              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18857              :                        STRIP_UNARY (operands[3]))
   18858              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18859              :                        STRIP_UNARY (operands[3])))) && 
   18860              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18861              : (TARGET_AVX512F)))
   18862              :             return -1;
   18863              :           return 6130; /* *avx512f_vpternlogv8df_1 */
   18864              : 
   18865              :         case 34:
   18866              :           if (!(
   18867              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18868              : ((32 == 64 || TARGET_AVX512VL
   18869              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18870              :    && ix86_pre_reload_split ()
   18871              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18872              :                     STRIP_UNARY (operands[4]))
   18873              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18874              :                        STRIP_UNARY (operands[4]))
   18875              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18876              :                        STRIP_UNARY (operands[3]))
   18877              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18878              :                        STRIP_UNARY (operands[3])))) && 
   18879              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18880              : (TARGET_AVX)))
   18881              :             return -1;
   18882              :           return 6157; /* *avx512vl_vpternlogv4df_1 */
   18883              : 
   18884              :         case 35:
   18885              :           if (!(
   18886              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18887              : ((16 == 64 || TARGET_AVX512VL
   18888              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18889              :    && ix86_pre_reload_split ()
   18890              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18891              :                     STRIP_UNARY (operands[4]))
   18892              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18893              :                        STRIP_UNARY (operands[4]))
   18894              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18895              :                        STRIP_UNARY (operands[3]))
   18896              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18897              :                        STRIP_UNARY (operands[3])))) && 
   18898              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18899              : (TARGET_SSE2)))
   18900              :             return -1;
   18901              :           return 6184; /* *avx512vl_vpternlogv2df_1 */
   18902              : 
   18903              :         case 36:
   18904              :           if (!(
   18905              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18906              : ((64 == 64 || TARGET_AVX512VL
   18907              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18908              :    && ix86_pre_reload_split ()) && 
   18909              : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18910              : (TARGET_AVX512F)))
   18911              :             return -1;
   18912              :           return 6949; /* *avx512bw_vpternlogv32hf_3 */
   18913              : 
   18914              :         case 37:
   18915              :           if (!(
   18916              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18917              : ((32 == 64 || TARGET_AVX512VL
   18918              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18919              :    && ix86_pre_reload_split ()) && 
   18920              : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18921              : (TARGET_AVX)))
   18922              :             return -1;
   18923              :           return 6958; /* *avx512vl_vpternlogv16hf_3 */
   18924              : 
   18925              :         case 38:
   18926              :           if (!
   18927              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18928              : ((16 == 64 || TARGET_AVX512VL
   18929              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18930              :    && ix86_pre_reload_split ()))
   18931              :             return -1;
   18932              :           return 6967; /* *avx512fp16_vpternlogv8hf_3 */
   18933              : 
   18934              :         case 39:
   18935              :           if (!(
   18936              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18937              : ((64 == 64 || TARGET_AVX512VL
   18938              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18939              :    && ix86_pre_reload_split ()) && 
   18940              : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18941              : (TARGET_AVX512F)))
   18942              :             return -1;
   18943              :           return 6976; /* *avx512bw_vpternlogv32bf_3 */
   18944              : 
   18945              :         case 40:
   18946              :           if (!(
   18947              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18948              : ((32 == 64 || TARGET_AVX512VL
   18949              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18950              :    && ix86_pre_reload_split ()) && 
   18951              : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18952              : (TARGET_AVX)))
   18953              :             return -1;
   18954              :           return 6985; /* *avx512vl_vpternlogv16bf_3 */
   18955              : 
   18956              :         case 41:
   18957              :           if (!
   18958              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18959              : ((16 == 64 || TARGET_AVX512VL
   18960              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18961              :    && ix86_pre_reload_split ()))
   18962              :             return -1;
   18963              :           return 6994; /* *avx512vl_vpternlogv8bf_3 */
   18964              : 
   18965              :         case 42:
   18966              :           if (!(
   18967              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18968              : ((64 == 64 || TARGET_AVX512VL
   18969              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18970              :    && ix86_pre_reload_split ()) && 
   18971              : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18972              : (TARGET_AVX512F)))
   18973              :             return -1;
   18974              :           return 7003; /* *avx512f_vpternlogv16sf_3 */
   18975              : 
   18976              :         case 43:
   18977              :           if (!(
   18978              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18979              : ((32 == 64 || TARGET_AVX512VL
   18980              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18981              :    && ix86_pre_reload_split ()) && 
   18982              : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18983              : (TARGET_AVX)))
   18984              :             return -1;
   18985              :           return 7012; /* *avx512vl_vpternlogv8sf_3 */
   18986              : 
   18987              :         case 44:
   18988              :           if (!
   18989              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18990              : ((16 == 64 || TARGET_AVX512VL
   18991              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18992              :    && ix86_pre_reload_split ()))
   18993              :             return -1;
   18994              :           return 7021; /* *avx512vl_vpternlogv4sf_3 */
   18995              : 
   18996              :         case 45:
   18997              :           if (!(
   18998              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18999              : ((64 == 64 || TARGET_AVX512VL
   19000              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19001              :    && ix86_pre_reload_split ()) && 
   19002              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19003              : (TARGET_AVX512F)))
   19004              :             return -1;
   19005              :           return 7030; /* *avx512f_vpternlogv8df_3 */
   19006              : 
   19007              :         case 46:
   19008              :           if (!(
   19009              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19010              : ((32 == 64 || TARGET_AVX512VL
   19011              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19012              :    && ix86_pre_reload_split ()) && 
   19013              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19014              : (TARGET_AVX)))
   19015              :             return -1;
   19016              :           return 7039; /* *avx512vl_vpternlogv4df_3 */
   19017              : 
   19018              :         case 47:
   19019              :           if (!(
   19020              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19021              : ((16 == 64 || TARGET_AVX512VL
   19022              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19023              :    && ix86_pre_reload_split ()) && 
   19024              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19025              : (TARGET_SSE2)))
   19026              :             return -1;
   19027              :           return 7048; /* *avx512vl_vpternlogv2df_3 */
   19028              : 
   19029              :         default:
   19030              :           return -1;
   19031              :         }
   19032              : 
   19033              :     case AND:
   19034              :       switch (pattern542 (x2))
   19035              :         {
   19036              :         case 0:
   19037              :           if (!(
   19038              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19039              : ((64 == 64 || TARGET_AVX512VL
   19040              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19041              :    && ix86_pre_reload_split ()
   19042              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19043              :                     STRIP_UNARY (operands[4]))
   19044              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19045              :                        STRIP_UNARY (operands[4]))
   19046              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19047              :                        STRIP_UNARY (operands[3]))
   19048              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19049              :                        STRIP_UNARY (operands[3])))) && 
   19050              : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19051              : (TARGET_AVX512F)))
   19052              :             return -1;
   19053              :           return 6529; /* *avx512bw_vpternlogv32hf_2 */
   19054              : 
   19055              :         case 1:
   19056              :           if (!(
   19057              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19058              : ((32 == 64 || TARGET_AVX512VL
   19059              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19060              :    && ix86_pre_reload_split ()
   19061              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19062              :                     STRIP_UNARY (operands[4]))
   19063              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19064              :                        STRIP_UNARY (operands[4]))
   19065              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19066              :                        STRIP_UNARY (operands[3]))
   19067              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19068              :                        STRIP_UNARY (operands[3])))) && 
   19069              : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19070              : (TARGET_AVX)))
   19071              :             return -1;
   19072              :           return 6556; /* *avx512vl_vpternlogv16hf_2 */
   19073              : 
   19074              :         case 2:
   19075              :           if (!
   19076              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19077              : ((16 == 64 || TARGET_AVX512VL
   19078              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19079              :    && ix86_pre_reload_split ()
   19080              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19081              :                     STRIP_UNARY (operands[4]))
   19082              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19083              :                        STRIP_UNARY (operands[4]))
   19084              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19085              :                        STRIP_UNARY (operands[3]))
   19086              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19087              :                        STRIP_UNARY (operands[3])))))
   19088              :             return -1;
   19089              :           return 6583; /* *avx512fp16_vpternlogv8hf_2 */
   19090              : 
   19091              :         case 3:
   19092              :           if (!(
   19093              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19094              : ((64 == 64 || TARGET_AVX512VL
   19095              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19096              :    && ix86_pre_reload_split ()
   19097              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19098              :                     STRIP_UNARY (operands[4]))
   19099              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19100              :                        STRIP_UNARY (operands[4]))
   19101              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19102              :                        STRIP_UNARY (operands[3]))
   19103              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19104              :                        STRIP_UNARY (operands[3])))) && 
   19105              : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19106              : (TARGET_AVX512F)))
   19107              :             return -1;
   19108              :           return 6610; /* *avx512bw_vpternlogv32bf_2 */
   19109              : 
   19110              :         case 4:
   19111              :           if (!(
   19112              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19113              : ((32 == 64 || TARGET_AVX512VL
   19114              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19115              :    && ix86_pre_reload_split ()
   19116              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19117              :                     STRIP_UNARY (operands[4]))
   19118              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19119              :                        STRIP_UNARY (operands[4]))
   19120              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19121              :                        STRIP_UNARY (operands[3]))
   19122              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19123              :                        STRIP_UNARY (operands[3])))) && 
   19124              : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19125              : (TARGET_AVX)))
   19126              :             return -1;
   19127              :           return 6637; /* *avx512vl_vpternlogv16bf_2 */
   19128              : 
   19129              :         case 5:
   19130              :           if (!
   19131              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19132              : ((16 == 64 || TARGET_AVX512VL
   19133              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19134              :    && ix86_pre_reload_split ()
   19135              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19136              :                     STRIP_UNARY (operands[4]))
   19137              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19138              :                        STRIP_UNARY (operands[4]))
   19139              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19140              :                        STRIP_UNARY (operands[3]))
   19141              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19142              :                        STRIP_UNARY (operands[3])))))
   19143              :             return -1;
   19144              :           return 6664; /* *avx512vl_vpternlogv8bf_2 */
   19145              : 
   19146              :         case 6:
   19147              :           if (!(
   19148              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19149              : ((64 == 64 || TARGET_AVX512VL
   19150              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19151              :    && ix86_pre_reload_split ()
   19152              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19153              :                     STRIP_UNARY (operands[4]))
   19154              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19155              :                        STRIP_UNARY (operands[4]))
   19156              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19157              :                        STRIP_UNARY (operands[3]))
   19158              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19159              :                        STRIP_UNARY (operands[3])))) && 
   19160              : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19161              : (TARGET_AVX512F)))
   19162              :             return -1;
   19163              :           return 6691; /* *avx512f_vpternlogv16sf_2 */
   19164              : 
   19165              :         case 7:
   19166              :           if (!(
   19167              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19168              : ((32 == 64 || TARGET_AVX512VL
   19169              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19170              :    && ix86_pre_reload_split ()
   19171              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19172              :                     STRIP_UNARY (operands[4]))
   19173              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19174              :                        STRIP_UNARY (operands[4]))
   19175              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19176              :                        STRIP_UNARY (operands[3]))
   19177              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19178              :                        STRIP_UNARY (operands[3])))) && 
   19179              : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19180              : (TARGET_AVX)))
   19181              :             return -1;
   19182              :           return 6718; /* *avx512vl_vpternlogv8sf_2 */
   19183              : 
   19184              :         case 8:
   19185              :           if (!
   19186              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19187              : ((16 == 64 || TARGET_AVX512VL
   19188              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19189              :    && ix86_pre_reload_split ()
   19190              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19191              :                     STRIP_UNARY (operands[4]))
   19192              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19193              :                        STRIP_UNARY (operands[4]))
   19194              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19195              :                        STRIP_UNARY (operands[3]))
   19196              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19197              :                        STRIP_UNARY (operands[3])))))
   19198              :             return -1;
   19199              :           return 6745; /* *avx512vl_vpternlogv4sf_2 */
   19200              : 
   19201              :         case 9:
   19202              :           if (!(
   19203              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19204              : ((64 == 64 || TARGET_AVX512VL
   19205              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19206              :    && ix86_pre_reload_split ()
   19207              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19208              :                     STRIP_UNARY (operands[4]))
   19209              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19210              :                        STRIP_UNARY (operands[4]))
   19211              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19212              :                        STRIP_UNARY (operands[3]))
   19213              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19214              :                        STRIP_UNARY (operands[3])))) && 
   19215              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19216              : (TARGET_AVX512F)))
   19217              :             return -1;
   19218              :           return 6772; /* *avx512f_vpternlogv8df_2 */
   19219              : 
   19220              :         case 10:
   19221              :           if (!(
   19222              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19223              : ((32 == 64 || TARGET_AVX512VL
   19224              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19225              :    && ix86_pre_reload_split ()
   19226              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19227              :                     STRIP_UNARY (operands[4]))
   19228              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19229              :                        STRIP_UNARY (operands[4]))
   19230              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19231              :                        STRIP_UNARY (operands[3]))
   19232              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19233              :                        STRIP_UNARY (operands[3])))) && 
   19234              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19235              : (TARGET_AVX)))
   19236              :             return -1;
   19237              :           return 6799; /* *avx512vl_vpternlogv4df_2 */
   19238              : 
   19239              :         case 11:
   19240              :           if (!(
   19241              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19242              : ((16 == 64 || TARGET_AVX512VL
   19243              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19244              :    && ix86_pre_reload_split ()
   19245              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19246              :                     STRIP_UNARY (operands[4]))
   19247              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19248              :                        STRIP_UNARY (operands[4]))
   19249              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19250              :                        STRIP_UNARY (operands[3]))
   19251              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19252              :                        STRIP_UNARY (operands[3])))) && 
   19253              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19254              : (TARGET_SSE2)))
   19255              :             return -1;
   19256              :           return 6826; /* *avx512vl_vpternlogv2df_2 */
   19257              : 
   19258              :         default:
   19259              :           return -1;
   19260              :         }
   19261              : 
   19262              :     case IOR:
   19263              :       switch (pattern542 (x2))
   19264              :         {
   19265              :         case 0:
   19266              :           if (!(
   19267              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19268              : ((64 == 64 || TARGET_AVX512VL
   19269              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19270              :    && ix86_pre_reload_split ()
   19271              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19272              :                     STRIP_UNARY (operands[4]))
   19273              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19274              :                        STRIP_UNARY (operands[4]))
   19275              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19276              :                        STRIP_UNARY (operands[3]))
   19277              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19278              :                        STRIP_UNARY (operands[3])))) && 
   19279              : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19280              : (TARGET_AVX512F)))
   19281              :             return -1;
   19282              :           return 6532; /* *avx512bw_vpternlogv32hf_2 */
   19283              : 
   19284              :         case 1:
   19285              :           if (!(
   19286              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19287              : ((32 == 64 || TARGET_AVX512VL
   19288              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19289              :    && ix86_pre_reload_split ()
   19290              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19291              :                     STRIP_UNARY (operands[4]))
   19292              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19293              :                        STRIP_UNARY (operands[4]))
   19294              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19295              :                        STRIP_UNARY (operands[3]))
   19296              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19297              :                        STRIP_UNARY (operands[3])))) && 
   19298              : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19299              : (TARGET_AVX)))
   19300              :             return -1;
   19301              :           return 6559; /* *avx512vl_vpternlogv16hf_2 */
   19302              : 
   19303              :         case 2:
   19304              :           if (!
   19305              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19306              : ((16 == 64 || TARGET_AVX512VL
   19307              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19308              :    && ix86_pre_reload_split ()
   19309              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19310              :                     STRIP_UNARY (operands[4]))
   19311              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19312              :                        STRIP_UNARY (operands[4]))
   19313              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19314              :                        STRIP_UNARY (operands[3]))
   19315              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19316              :                        STRIP_UNARY (operands[3])))))
   19317              :             return -1;
   19318              :           return 6586; /* *avx512fp16_vpternlogv8hf_2 */
   19319              : 
   19320              :         case 3:
   19321              :           if (!(
   19322              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19323              : ((64 == 64 || TARGET_AVX512VL
   19324              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19325              :    && ix86_pre_reload_split ()
   19326              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19327              :                     STRIP_UNARY (operands[4]))
   19328              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19329              :                        STRIP_UNARY (operands[4]))
   19330              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19331              :                        STRIP_UNARY (operands[3]))
   19332              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19333              :                        STRIP_UNARY (operands[3])))) && 
   19334              : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19335              : (TARGET_AVX512F)))
   19336              :             return -1;
   19337              :           return 6613; /* *avx512bw_vpternlogv32bf_2 */
   19338              : 
   19339              :         case 4:
   19340              :           if (!(
   19341              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19342              : ((32 == 64 || TARGET_AVX512VL
   19343              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19344              :    && ix86_pre_reload_split ()
   19345              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19346              :                     STRIP_UNARY (operands[4]))
   19347              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19348              :                        STRIP_UNARY (operands[4]))
   19349              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19350              :                        STRIP_UNARY (operands[3]))
   19351              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19352              :                        STRIP_UNARY (operands[3])))) && 
   19353              : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19354              : (TARGET_AVX)))
   19355              :             return -1;
   19356              :           return 6640; /* *avx512vl_vpternlogv16bf_2 */
   19357              : 
   19358              :         case 5:
   19359              :           if (!
   19360              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19361              : ((16 == 64 || TARGET_AVX512VL
   19362              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19363              :    && ix86_pre_reload_split ()
   19364              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19365              :                     STRIP_UNARY (operands[4]))
   19366              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19367              :                        STRIP_UNARY (operands[4]))
   19368              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19369              :                        STRIP_UNARY (operands[3]))
   19370              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19371              :                        STRIP_UNARY (operands[3])))))
   19372              :             return -1;
   19373              :           return 6667; /* *avx512vl_vpternlogv8bf_2 */
   19374              : 
   19375              :         case 6:
   19376              :           if (!(
   19377              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19378              : ((64 == 64 || TARGET_AVX512VL
   19379              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19380              :    && ix86_pre_reload_split ()
   19381              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19382              :                     STRIP_UNARY (operands[4]))
   19383              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19384              :                        STRIP_UNARY (operands[4]))
   19385              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19386              :                        STRIP_UNARY (operands[3]))
   19387              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19388              :                        STRIP_UNARY (operands[3])))) && 
   19389              : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19390              : (TARGET_AVX512F)))
   19391              :             return -1;
   19392              :           return 6694; /* *avx512f_vpternlogv16sf_2 */
   19393              : 
   19394              :         case 7:
   19395              :           if (!(
   19396              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19397              : ((32 == 64 || TARGET_AVX512VL
   19398              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19399              :    && ix86_pre_reload_split ()
   19400              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19401              :                     STRIP_UNARY (operands[4]))
   19402              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19403              :                        STRIP_UNARY (operands[4]))
   19404              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19405              :                        STRIP_UNARY (operands[3]))
   19406              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19407              :                        STRIP_UNARY (operands[3])))) && 
   19408              : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19409              : (TARGET_AVX)))
   19410              :             return -1;
   19411              :           return 6721; /* *avx512vl_vpternlogv8sf_2 */
   19412              : 
   19413              :         case 8:
   19414              :           if (!
   19415              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19416              : ((16 == 64 || TARGET_AVX512VL
   19417              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19418              :    && ix86_pre_reload_split ()
   19419              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19420              :                     STRIP_UNARY (operands[4]))
   19421              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19422              :                        STRIP_UNARY (operands[4]))
   19423              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19424              :                        STRIP_UNARY (operands[3]))
   19425              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19426              :                        STRIP_UNARY (operands[3])))))
   19427              :             return -1;
   19428              :           return 6748; /* *avx512vl_vpternlogv4sf_2 */
   19429              : 
   19430              :         case 9:
   19431              :           if (!(
   19432              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19433              : ((64 == 64 || TARGET_AVX512VL
   19434              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19435              :    && ix86_pre_reload_split ()
   19436              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19437              :                     STRIP_UNARY (operands[4]))
   19438              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19439              :                        STRIP_UNARY (operands[4]))
   19440              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19441              :                        STRIP_UNARY (operands[3]))
   19442              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19443              :                        STRIP_UNARY (operands[3])))) && 
   19444              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19445              : (TARGET_AVX512F)))
   19446              :             return -1;
   19447              :           return 6775; /* *avx512f_vpternlogv8df_2 */
   19448              : 
   19449              :         case 10:
   19450              :           if (!(
   19451              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19452              : ((32 == 64 || TARGET_AVX512VL
   19453              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19454              :    && ix86_pre_reload_split ()
   19455              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19456              :                     STRIP_UNARY (operands[4]))
   19457              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19458              :                        STRIP_UNARY (operands[4]))
   19459              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19460              :                        STRIP_UNARY (operands[3]))
   19461              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19462              :                        STRIP_UNARY (operands[3])))) && 
   19463              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19464              : (TARGET_AVX)))
   19465              :             return -1;
   19466              :           return 6802; /* *avx512vl_vpternlogv4df_2 */
   19467              : 
   19468              :         case 11:
   19469              :           if (!(
   19470              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19471              : ((16 == 64 || TARGET_AVX512VL
   19472              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19473              :    && ix86_pre_reload_split ()
   19474              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19475              :                     STRIP_UNARY (operands[4]))
   19476              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19477              :                        STRIP_UNARY (operands[4]))
   19478              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19479              :                        STRIP_UNARY (operands[3]))
   19480              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19481              :                        STRIP_UNARY (operands[3])))) && 
   19482              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19483              : (TARGET_SSE2)))
   19484              :             return -1;
   19485              :           return 6829; /* *avx512vl_vpternlogv2df_2 */
   19486              : 
   19487              :         default:
   19488              :           return -1;
   19489              :         }
   19490              : 
   19491              :     case XOR:
   19492              :       switch (pattern542 (x2))
   19493              :         {
   19494              :         case 0:
   19495              :           if (!(
   19496              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19497              : ((64 == 64 || TARGET_AVX512VL
   19498              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19499              :    && ix86_pre_reload_split ()
   19500              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19501              :                     STRIP_UNARY (operands[4]))
   19502              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19503              :                        STRIP_UNARY (operands[4]))
   19504              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19505              :                        STRIP_UNARY (operands[3]))
   19506              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19507              :                        STRIP_UNARY (operands[3])))) && 
   19508              : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19509              : (TARGET_AVX512F)))
   19510              :             return -1;
   19511              :           return 6535; /* *avx512bw_vpternlogv32hf_2 */
   19512              : 
   19513              :         case 1:
   19514              :           if (!(
   19515              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19516              : ((32 == 64 || TARGET_AVX512VL
   19517              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19518              :    && ix86_pre_reload_split ()
   19519              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19520              :                     STRIP_UNARY (operands[4]))
   19521              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19522              :                        STRIP_UNARY (operands[4]))
   19523              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19524              :                        STRIP_UNARY (operands[3]))
   19525              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19526              :                        STRIP_UNARY (operands[3])))) && 
   19527              : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19528              : (TARGET_AVX)))
   19529              :             return -1;
   19530              :           return 6562; /* *avx512vl_vpternlogv16hf_2 */
   19531              : 
   19532              :         case 2:
   19533              :           if (!
   19534              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19535              : ((16 == 64 || TARGET_AVX512VL
   19536              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19537              :    && ix86_pre_reload_split ()
   19538              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19539              :                     STRIP_UNARY (operands[4]))
   19540              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19541              :                        STRIP_UNARY (operands[4]))
   19542              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19543              :                        STRIP_UNARY (operands[3]))
   19544              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19545              :                        STRIP_UNARY (operands[3])))))
   19546              :             return -1;
   19547              :           return 6589; /* *avx512fp16_vpternlogv8hf_2 */
   19548              : 
   19549              :         case 3:
   19550              :           if (!(
   19551              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19552              : ((64 == 64 || TARGET_AVX512VL
   19553              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19554              :    && ix86_pre_reload_split ()
   19555              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19556              :                     STRIP_UNARY (operands[4]))
   19557              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19558              :                        STRIP_UNARY (operands[4]))
   19559              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19560              :                        STRIP_UNARY (operands[3]))
   19561              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19562              :                        STRIP_UNARY (operands[3])))) && 
   19563              : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19564              : (TARGET_AVX512F)))
   19565              :             return -1;
   19566              :           return 6616; /* *avx512bw_vpternlogv32bf_2 */
   19567              : 
   19568              :         case 4:
   19569              :           if (!(
   19570              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19571              : ((32 == 64 || TARGET_AVX512VL
   19572              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19573              :    && ix86_pre_reload_split ()
   19574              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19575              :                     STRIP_UNARY (operands[4]))
   19576              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19577              :                        STRIP_UNARY (operands[4]))
   19578              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19579              :                        STRIP_UNARY (operands[3]))
   19580              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19581              :                        STRIP_UNARY (operands[3])))) && 
   19582              : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19583              : (TARGET_AVX)))
   19584              :             return -1;
   19585              :           return 6643; /* *avx512vl_vpternlogv16bf_2 */
   19586              : 
   19587              :         case 5:
   19588              :           if (!
   19589              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19590              : ((16 == 64 || TARGET_AVX512VL
   19591              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19592              :    && ix86_pre_reload_split ()
   19593              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19594              :                     STRIP_UNARY (operands[4]))
   19595              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19596              :                        STRIP_UNARY (operands[4]))
   19597              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19598              :                        STRIP_UNARY (operands[3]))
   19599              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19600              :                        STRIP_UNARY (operands[3])))))
   19601              :             return -1;
   19602              :           return 6670; /* *avx512vl_vpternlogv8bf_2 */
   19603              : 
   19604              :         case 6:
   19605              :           if (!(
   19606              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19607              : ((64 == 64 || TARGET_AVX512VL
   19608              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19609              :    && ix86_pre_reload_split ()
   19610              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19611              :                     STRIP_UNARY (operands[4]))
   19612              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19613              :                        STRIP_UNARY (operands[4]))
   19614              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19615              :                        STRIP_UNARY (operands[3]))
   19616              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19617              :                        STRIP_UNARY (operands[3])))) && 
   19618              : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19619              : (TARGET_AVX512F)))
   19620              :             return -1;
   19621              :           return 6697; /* *avx512f_vpternlogv16sf_2 */
   19622              : 
   19623              :         case 7:
   19624              :           if (!(
   19625              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19626              : ((32 == 64 || TARGET_AVX512VL
   19627              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19628              :    && ix86_pre_reload_split ()
   19629              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19630              :                     STRIP_UNARY (operands[4]))
   19631              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19632              :                        STRIP_UNARY (operands[4]))
   19633              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19634              :                        STRIP_UNARY (operands[3]))
   19635              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19636              :                        STRIP_UNARY (operands[3])))) && 
   19637              : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19638              : (TARGET_AVX)))
   19639              :             return -1;
   19640              :           return 6724; /* *avx512vl_vpternlogv8sf_2 */
   19641              : 
   19642              :         case 8:
   19643              :           if (!
   19644              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19645              : ((16 == 64 || TARGET_AVX512VL
   19646              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19647              :    && ix86_pre_reload_split ()
   19648              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19649              :                     STRIP_UNARY (operands[4]))
   19650              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19651              :                        STRIP_UNARY (operands[4]))
   19652              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19653              :                        STRIP_UNARY (operands[3]))
   19654              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19655              :                        STRIP_UNARY (operands[3])))))
   19656              :             return -1;
   19657              :           return 6751; /* *avx512vl_vpternlogv4sf_2 */
   19658              : 
   19659              :         case 9:
   19660              :           if (!(
   19661              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19662              : ((64 == 64 || TARGET_AVX512VL
   19663              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19664              :    && ix86_pre_reload_split ()
   19665              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19666              :                     STRIP_UNARY (operands[4]))
   19667              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19668              :                        STRIP_UNARY (operands[4]))
   19669              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19670              :                        STRIP_UNARY (operands[3]))
   19671              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19672              :                        STRIP_UNARY (operands[3])))) && 
   19673              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19674              : (TARGET_AVX512F)))
   19675              :             return -1;
   19676              :           return 6778; /* *avx512f_vpternlogv8df_2 */
   19677              : 
   19678              :         case 10:
   19679              :           if (!(
   19680              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19681              : ((32 == 64 || TARGET_AVX512VL
   19682              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19683              :    && ix86_pre_reload_split ()
   19684              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19685              :                     STRIP_UNARY (operands[4]))
   19686              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19687              :                        STRIP_UNARY (operands[4]))
   19688              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19689              :                        STRIP_UNARY (operands[3]))
   19690              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19691              :                        STRIP_UNARY (operands[3])))) && 
   19692              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19693              : (TARGET_AVX)))
   19694              :             return -1;
   19695              :           return 6805; /* *avx512vl_vpternlogv4df_2 */
   19696              : 
   19697              :         case 11:
   19698              :           if (!(
   19699              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19700              : ((16 == 64 || TARGET_AVX512VL
   19701              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19702              :    && ix86_pre_reload_split ()
   19703              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19704              :                     STRIP_UNARY (operands[4]))
   19705              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19706              :                        STRIP_UNARY (operands[4]))
   19707              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19708              :                        STRIP_UNARY (operands[3]))
   19709              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19710              :                        STRIP_UNARY (operands[3])))) && 
   19711              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19712              : (TARGET_SSE2)))
   19713              :             return -1;
   19714              :           return 6832; /* *avx512vl_vpternlogv2df_2 */
   19715              : 
   19716              :         default:
   19717              :           return -1;
   19718              :         }
   19719              : 
   19720              :     default:
   19721              :       return -1;
   19722              :     }
   19723              : }
   19724              : 
   19725              :  int
   19726              : recog_325 (rtx x1 ATTRIBUTE_UNUSED,
   19727              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   19728              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   19729              : {
   19730              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   19731              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   19732              :   rtx x10, x11, x12, x13, x14, x15, x16, x17;
   19733              :   rtx x18, x19, x20, x21, x22, x23, x24, x25;
   19734              :   rtx x26, x27, x28, x29, x30, x31, x32, x33;
   19735              :   rtx x34, x35, x36, x37, x38, x39, x40, x41;
   19736              :   rtx x42, x43, x44, x45, x46, x47, x48, x49;
   19737              :   rtx x50, x51, x52, x53, x54, x55, x56, x57;
   19738              :   rtx x58, x59, x60, x61, x62, x63, x64, x65;
   19739              :   rtx x66, x67, x68, x69;
   19740              :   int res ATTRIBUTE_UNUSED;
   19741              :   x2 = XEXP (x1, 1);
   19742              :   x3 = XEXP (x2, 1);
   19743              :   if (GET_CODE (x3) != PARALLEL)
   19744              :     return -1;
   19745              :   x4 = XEXP (x1, 0);
   19746              :   operands[0] = x4;
   19747              :   x5 = XEXP (x2, 0);
   19748              :   switch (GET_CODE (x5))
   19749              :     {
   19750              :     case VEC_CONCAT:
   19751              :       x6 = XEXP (x5, 0);
   19752              :       switch (GET_CODE (x6))
   19753              :         {
   19754              :         case REG:
   19755              :         case SUBREG:
   19756              :         case MEM:
   19757              :           operands[1] = x6;
   19758              :           res = recog_289 (x1, insn, pnum_clobbers);
   19759              :           if (res >= 0)
   19760              :             return res;
   19761              :           if (XVECLEN (x3, 0) < 1)
   19762              :             return -1;
   19763              :           operands[4] = x3;
   19764              :           switch (pattern813 (x2))
   19765              :             {
   19766              :             case 0:
   19767              :               if (
   19768              : #line 24501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19769              : (TARGET_AVX2))
   19770              :                 return 8803; /* *avx2_zero_extendv16qiv16hi2_2 */
   19771              :               break;
   19772              : 
   19773              :             case 1:
   19774              :               if (
   19775              : #line 24501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19776              : (TARGET_AVX2))
   19777              :                 return 8804; /* *avx2_zero_extendv16qiv16hi2_2 */
   19778              :               break;
   19779              : 
   19780              :             case 2:
   19781              :               if (
   19782              : #line 24501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19783              : (TARGET_AVX2))
   19784              :                 return 8805; /* *avx2_zero_extendv16qiv16hi2_2 */
   19785              :               break;
   19786              : 
   19787              :             case 3:
   19788              :               if (
   19789              : #line 24554 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19790              : (TARGET_AVX512BW))
   19791              :                 return 8811; /* *avx512bw_zero_extendv32qiv32hi2_2 */
   19792              :               break;
   19793              : 
   19794              :             case 4:
   19795              :               if (
   19796              : #line 24554 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19797              : (TARGET_AVX512BW))
   19798              :                 return 8812; /* *avx512bw_zero_extendv32qiv32hi2_2 */
   19799              :               break;
   19800              : 
   19801              :             case 5:
   19802              :               if (
   19803              : #line 24554 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19804              : (TARGET_AVX512BW))
   19805              :                 return 8813; /* *avx512bw_zero_extendv32qiv32hi2_2 */
   19806              :               break;
   19807              : 
   19808              :             case 6:
   19809              :               if (
   19810              : #line 24691 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19811              : (TARGET_SSE4_1))
   19812              :                 return 8827; /* *sse4_1_zero_extendv8qiv8hi2_4 */
   19813              :               break;
   19814              : 
   19815              :             case 7:
   19816              :               if (
   19817              : #line 24691 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19818              : (TARGET_SSE4_1))
   19819              :                 return 8828; /* *sse4_1_zero_extendv8qiv8hi2_4 */
   19820              :               break;
   19821              : 
   19822              :             case 8:
   19823              :               if (
   19824              : #line 24691 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19825              : (TARGET_SSE4_1))
   19826              :                 return 8829; /* *sse4_1_zero_extendv8qiv8hi2_4 */
   19827              :               break;
   19828              : 
   19829              :             case 9:
   19830              :               if (
   19831              : #line 24980 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19832              : (TARGET_AVX512F))
   19833              :                 return 8865; /* *avx512f_zero_extendv16hiv16si2_2 */
   19834              :               break;
   19835              : 
   19836              :             case 10:
   19837              :               if (
   19838              : #line 24980 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19839              : (TARGET_AVX512F))
   19840              :                 return 8866; /* *avx512f_zero_extendv16hiv16si2_2 */
   19841              :               break;
   19842              : 
   19843              :             case 11:
   19844              :               if (
   19845              : #line 24980 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19846              : (TARGET_AVX512F))
   19847              :                 return 8867; /* *avx512f_zero_extendv16hiv16si2_2 */
   19848              :               break;
   19849              : 
   19850              :             case 12:
   19851              :               if (
   19852              : #line 25034 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19853              : (TARGET_AVX2))
   19854              :                 return 8873; /* *avx2_zero_extendv8hiv8si2_2 */
   19855              :               break;
   19856              : 
   19857              :             case 13:
   19858              :               if (
   19859              : #line 25034 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19860              : (TARGET_AVX2))
   19861              :                 return 8874; /* *avx2_zero_extendv8hiv8si2_2 */
   19862              :               break;
   19863              : 
   19864              :             case 14:
   19865              :               if (
   19866              : #line 25034 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19867              : (TARGET_AVX2))
   19868              :                 return 8875; /* *avx2_zero_extendv8hiv8si2_2 */
   19869              :               break;
   19870              : 
   19871              :             case 15:
   19872              :               if (
   19873              : #line 25177 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19874              : (TARGET_SSE4_1))
   19875              :                 return 8889; /* *sse4_1_zero_extendv4hiv4si2_4 */
   19876              :               break;
   19877              : 
   19878              :             case 16:
   19879              :               if (
   19880              : #line 25177 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19881              : (TARGET_SSE4_1))
   19882              :                 return 8890; /* *sse4_1_zero_extendv4hiv4si2_4 */
   19883              :               break;
   19884              : 
   19885              :             case 17:
   19886              :               if (
   19887              : #line 25177 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19888              : (TARGET_SSE4_1))
   19889              :                 return 8891; /* *sse4_1_zero_extendv4hiv4si2_4 */
   19890              :               break;
   19891              : 
   19892              :             default:
   19893              :               break;
   19894              :             }
   19895              :           operands[3] = x3;
   19896              :           switch (pattern814 (x2))
   19897              :             {
   19898              :             case 0:
   19899              :               if (!(
   19900              : #line 29761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19901              : (TARGET_SSE2 && ix86_pre_reload_split ()) && 
   19902              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19903              : (TARGET_AVX512F)))
   19904              :                 return -1;
   19905              :               return 9697; /* *vec_concatv64qi_0_1 */
   19906              : 
   19907              :             case 1:
   19908              :               if (!(
   19909              : #line 29761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19910              : (TARGET_SSE2 && ix86_pre_reload_split ()) && 
   19911              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19912              : (TARGET_AVX)))
   19913              :                 return -1;
   19914              :               return 9698; /* *vec_concatv32qi_0_1 */
   19915              : 
   19916              :             case 2:
   19917              :               if (!
   19918              : #line 29761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19919              : (TARGET_SSE2 && ix86_pre_reload_split ()))
   19920              :                 return -1;
   19921              :               return 9699; /* *vec_concatv16qi_0_1 */
   19922              : 
   19923              :             case 3:
   19924              :               if (!(
   19925              : #line 29761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19926              : (TARGET_SSE2 && ix86_pre_reload_split ()) && 
   19927              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19928              : (TARGET_AVX512F)))
   19929              :                 return -1;
   19930              :               return 9700; /* *vec_concatv32hi_0_1 */
   19931              : 
   19932              :             case 4:
   19933              :               if (!(
   19934              : #line 29761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19935              : (TARGET_SSE2 && ix86_pre_reload_split ()) && 
   19936              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19937              : (TARGET_AVX)))
   19938              :                 return -1;
   19939              :               return 9701; /* *vec_concatv16hi_0_1 */
   19940              : 
   19941              :             case 5:
   19942              :               if (!
   19943              : #line 29761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19944              : (TARGET_SSE2 && ix86_pre_reload_split ()))
   19945              :                 return -1;
   19946              :               return 9702; /* *vec_concatv8hi_0_1 */
   19947              : 
   19948              :             default:
   19949              :               return -1;
   19950              :             }
   19951              : 
   19952              :         case SS_TRUNCATE:
   19953              :           x7 = XEXP (x5, 1);
   19954              :           if (GET_CODE (x7) != SS_TRUNCATE)
   19955              :             return -1;
   19956              :           x8 = XEXP (x6, 0);
   19957              :           operands[1] = x8;
   19958              :           x9 = XEXP (x7, 0);
   19959              :           operands[2] = x9;
   19960              :           switch (XVECLEN (x3, 0))
   19961              :             {
   19962              :             case 32:
   19963              :               if (pattern845 (x3) != 0)
   19964              :                 return -1;
   19965              :               x10 = XVECEXP (x3, 0, 4);
   19966              :               if (GET_CODE (x10) != CONST_INT)
   19967              :                 return -1;
   19968              :               x11 = XVECEXP (x3, 0, 5);
   19969              :               if (GET_CODE (x11) != CONST_INT)
   19970              :                 return -1;
   19971              :               x12 = XVECEXP (x3, 0, 6);
   19972              :               if (GET_CODE (x12) != CONST_INT)
   19973              :                 return -1;
   19974              :               x13 = XVECEXP (x3, 0, 7);
   19975              :               if (GET_CODE (x13) != CONST_INT)
   19976              :                 return -1;
   19977              :               x14 = XVECEXP (x3, 0, 8);
   19978              :               if (GET_CODE (x14) != CONST_INT)
   19979              :                 return -1;
   19980              :               x15 = XVECEXP (x3, 0, 9);
   19981              :               if (GET_CODE (x15) != CONST_INT)
   19982              :                 return -1;
   19983              :               x16 = XVECEXP (x3, 0, 10);
   19984              :               if (GET_CODE (x16) != CONST_INT)
   19985              :                 return -1;
   19986              :               x17 = XVECEXP (x3, 0, 11);
   19987              :               if (GET_CODE (x17) != CONST_INT
   19988              :                   || pattern1711 (x3, 
   19989              : 23, 
   19990              : 22, 
   19991              : 21, 
   19992              : 20, 
   19993              : 8) != 0)
   19994              :                 return -1;
   19995              :               x18 = XVECEXP (x3, 0, 17);
   19996              :               if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 9])
   19997              :                 return -1;
   19998              :               x19 = XVECEXP (x3, 0, 18);
   19999              :               if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 10])
   20000              :                 return -1;
   20001              :               x20 = XVECEXP (x3, 0, 19);
   20002              :               if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 11])
   20003              :                 return -1;
   20004              :               x21 = XVECEXP (x3, 0, 20);
   20005              :               if (GET_CODE (x21) != CONST_INT)
   20006              :                 return -1;
   20007              :               x22 = XVECEXP (x3, 0, 21);
   20008              :               if (GET_CODE (x22) != CONST_INT)
   20009              :                 return -1;
   20010              :               x23 = XVECEXP (x3, 0, 22);
   20011              :               if (GET_CODE (x23) != CONST_INT)
   20012              :                 return -1;
   20013              :               x24 = XVECEXP (x3, 0, 23);
   20014              :               if (GET_CODE (x24) != CONST_INT)
   20015              :                 return -1;
   20016              :               x25 = XVECEXP (x3, 0, 24);
   20017              :               if (GET_CODE (x25) != CONST_INT)
   20018              :                 return -1;
   20019              :               x26 = XVECEXP (x3, 0, 25);
   20020              :               if (GET_CODE (x26) != CONST_INT)
   20021              :                 return -1;
   20022              :               x27 = XVECEXP (x3, 0, 26);
   20023              :               if (GET_CODE (x27) != CONST_INT)
   20024              :                 return -1;
   20025              :               x28 = XVECEXP (x3, 0, 27);
   20026              :               if (GET_CODE (x28) != CONST_INT
   20027              :                   || pattern1891 (x3, 
   20028              : 31, 
   20029              : 30, 
   20030              : 29, 
   20031              : 28) != 0)
   20032              :                 return -1;
   20033              :               switch (XWINT (x10, 0))
   20034              :                 {
   20035              :                 case 4L:
   20036              :                   if (XWINT (x11, 0) != 5L
   20037              :                       || XWINT (x12, 0) != 6L
   20038              :                       || XWINT (x13, 0) != 7L
   20039              :                       || XWINT (x14, 0) != 16L
   20040              :                       || XWINT (x15, 0) != 17L
   20041              :                       || XWINT (x16, 0) != 18L
   20042              :                       || XWINT (x17, 0) != 19L
   20043              :                       || XWINT (x21, 0) != 12L
   20044              :                       || XWINT (x22, 0) != 13L
   20045              :                       || XWINT (x23, 0) != 14L
   20046              :                       || XWINT (x24, 0) != 15L
   20047              :                       || pattern1916 (x3) != 0
   20048              :                       || pattern1846 (x2, 
   20049              : E_V16HImode, 
   20050              : E_V16QImode, 
   20051              : E_V32QImode) != 0
   20052              :                       || !
   20053              : #line 19584 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20054              : (TARGET_AVX2 && 1 && 1))
   20055              :                     return -1;
   20056              :                   return 8348; /* avx2_packsswb */
   20057              : 
   20058              :                 case 16L:
   20059              :                   if (XWINT (x11, 0) != 17L
   20060              :                       || XWINT (x12, 0) != 18L
   20061              :                       || XWINT (x13, 0) != 19L
   20062              :                       || XWINT (x14, 0) != 4L
   20063              :                       || XWINT (x15, 0) != 5L
   20064              :                       || XWINT (x16, 0) != 6L
   20065              :                       || XWINT (x17, 0) != 7L
   20066              :                       || XWINT (x21, 0) != 24L
   20067              :                       || XWINT (x22, 0) != 25L
   20068              :                       || XWINT (x23, 0) != 26L
   20069              :                       || XWINT (x24, 0) != 27L
   20070              :                       || XWINT (x25, 0) != 12L
   20071              :                       || XWINT (x26, 0) != 13L
   20072              :                       || XWINT (x27, 0) != 14L
   20073              :                       || XWINT (x28, 0) != 15L
   20074              :                       || pattern1846 (x2, 
   20075              : E_V16SImode, 
   20076              : E_V16HImode, 
   20077              : E_V32HImode) != 0
   20078              :                       || !
   20079              : #line 19700 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20080              : (TARGET_AVX512BW))
   20081              :                     return -1;
   20082              :                   return 8356; /* avx512bw_packssdw */
   20083              : 
   20084              :                 default:
   20085              :                   return -1;
   20086              :                 }
   20087              : 
   20088              :             case 64:
   20089              :               if (pattern848 (x3, 
   20090              : 35, 
   20091              : 34, 
   20092              : 33, 
   20093              : 32) != 0
   20094              :                   || pattern1711 (x3, 
   20095              : 39, 
   20096              : 38, 
   20097              : 37, 
   20098              : 36, 
   20099              : 8) != 0
   20100              :                   || pattern1831 (x3, 
   20101              : 13, 
   20102              : 12, 
   20103              : 11, 
   20104              : 10, 
   20105              : 9) != 0
   20106              :                   || pattern1873 (x3, 
   20107              : 42, 
   20108              : 41, 
   20109              : 40, 
   20110              : 15, 
   20111              : 14) != 0)
   20112              :                 return -1;
   20113              :               x28 = XVECEXP (x3, 0, 27);
   20114              :               if (x28 != const_int_rtx[MAX_SAVED_CONST_INT + 43]
   20115              :                   || pattern1891 (x3, 
   20116              : 47, 
   20117              : 46, 
   20118              : 45, 
   20119              : 44) != 0)
   20120              :                 return -1;
   20121              :               x29 = XVECEXP (x3, 0, 32);
   20122              :               if (x29 != const_int_rtx[MAX_SAVED_CONST_INT + 16])
   20123              :                 return -1;
   20124              :               x30 = XVECEXP (x3, 0, 33);
   20125              :               if (x30 != const_int_rtx[MAX_SAVED_CONST_INT + 17])
   20126              :                 return -1;
   20127              :               x31 = XVECEXP (x3, 0, 34);
   20128              :               if (x31 != const_int_rtx[MAX_SAVED_CONST_INT + 18])
   20129              :                 return -1;
   20130              :               x32 = XVECEXP (x3, 0, 35);
   20131              :               if (x32 != const_int_rtx[MAX_SAVED_CONST_INT + 19])
   20132              :                 return -1;
   20133              :               x33 = XVECEXP (x3, 0, 36);
   20134              :               if (x33 != const_int_rtx[MAX_SAVED_CONST_INT + 20])
   20135              :                 return -1;
   20136              :               x34 = XVECEXP (x3, 0, 37);
   20137              :               if (x34 != const_int_rtx[MAX_SAVED_CONST_INT + 21])
   20138              :                 return -1;
   20139              :               x35 = XVECEXP (x3, 0, 38);
   20140              :               if (x35 != const_int_rtx[MAX_SAVED_CONST_INT + 22])
   20141              :                 return -1;
   20142              :               x36 = XVECEXP (x3, 0, 39);
   20143              :               if (x36 != const_int_rtx[MAX_SAVED_CONST_INT + 23])
   20144              :                 return -1;
   20145              :               x37 = XVECEXP (x3, 0, 40);
   20146              :               if (x37 != const_int_rtx[MAX_SAVED_CONST_INT + 48])
   20147              :                 return -1;
   20148              :               x38 = XVECEXP (x3, 0, 41);
   20149              :               if (x38 != const_int_rtx[MAX_SAVED_CONST_INT + 49])
   20150              :                 return -1;
   20151              :               x39 = XVECEXP (x3, 0, 42);
   20152              :               if (x39 != const_int_rtx[MAX_SAVED_CONST_INT + 50])
   20153              :                 return -1;
   20154              :               x40 = XVECEXP (x3, 0, 43);
   20155              :               if (x40 != const_int_rtx[MAX_SAVED_CONST_INT + 51])
   20156              :                 return -1;
   20157              :               x41 = XVECEXP (x3, 0, 44);
   20158              :               if (x41 != const_int_rtx[MAX_SAVED_CONST_INT + 52])
   20159              :                 return -1;
   20160              :               x42 = XVECEXP (x3, 0, 45);
   20161              :               if (x42 != const_int_rtx[MAX_SAVED_CONST_INT + 53])
   20162              :                 return -1;
   20163              :               x43 = XVECEXP (x3, 0, 46);
   20164              :               if (x43 != const_int_rtx[MAX_SAVED_CONST_INT + 54])
   20165              :                 return -1;
   20166              :               x44 = XVECEXP (x3, 0, 47);
   20167              :               if (x44 != const_int_rtx[MAX_SAVED_CONST_INT + 55])
   20168              :                 return -1;
   20169              :               x45 = XVECEXP (x3, 0, 48);
   20170              :               if (x45 != const_int_rtx[MAX_SAVED_CONST_INT + 24])
   20171              :                 return -1;
   20172              :               x46 = XVECEXP (x3, 0, 49);
   20173              :               if (x46 != const_int_rtx[MAX_SAVED_CONST_INT + 25])
   20174              :                 return -1;
   20175              :               x47 = XVECEXP (x3, 0, 50);
   20176              :               if (x47 != const_int_rtx[MAX_SAVED_CONST_INT + 26])
   20177              :                 return -1;
   20178              :               x48 = XVECEXP (x3, 0, 51);
   20179              :               if (x48 != const_int_rtx[MAX_SAVED_CONST_INT + 27])
   20180              :                 return -1;
   20181              :               x49 = XVECEXP (x3, 0, 52);
   20182              :               if (x49 != const_int_rtx[MAX_SAVED_CONST_INT + 28])
   20183              :                 return -1;
   20184              :               x50 = XVECEXP (x3, 0, 53);
   20185              :               if (x50 != const_int_rtx[MAX_SAVED_CONST_INT + 29])
   20186              :                 return -1;
   20187              :               x51 = XVECEXP (x3, 0, 54);
   20188              :               if (x51 != const_int_rtx[MAX_SAVED_CONST_INT + 30])
   20189              :                 return -1;
   20190              :               x52 = XVECEXP (x3, 0, 55);
   20191              :               if (x52 != const_int_rtx[MAX_SAVED_CONST_INT + 31])
   20192              :                 return -1;
   20193              :               x53 = XVECEXP (x3, 0, 56);
   20194              :               if (x53 != const_int_rtx[MAX_SAVED_CONST_INT + 56])
   20195              :                 return -1;
   20196              :               x54 = XVECEXP (x3, 0, 57);
   20197              :               if (x54 != const_int_rtx[MAX_SAVED_CONST_INT + 57])
   20198              :                 return -1;
   20199              :               x55 = XVECEXP (x3, 0, 58);
   20200              :               if (x55 != const_int_rtx[MAX_SAVED_CONST_INT + 58])
   20201              :                 return -1;
   20202              :               x56 = XVECEXP (x3, 0, 59);
   20203              :               if (x56 != const_int_rtx[MAX_SAVED_CONST_INT + 59])
   20204              :                 return -1;
   20205              :               x57 = XVECEXP (x3, 0, 60);
   20206              :               if (x57 != const_int_rtx[MAX_SAVED_CONST_INT + 60])
   20207              :                 return -1;
   20208              :               x58 = XVECEXP (x3, 0, 61);
   20209              :               if (x58 != const_int_rtx[MAX_SAVED_CONST_INT + 61])
   20210              :                 return -1;
   20211              :               x59 = XVECEXP (x3, 0, 62);
   20212              :               if (x59 != const_int_rtx[MAX_SAVED_CONST_INT + 62])
   20213              :                 return -1;
   20214              :               x60 = XVECEXP (x3, 0, 63);
   20215              :               if (x60 != const_int_rtx[MAX_SAVED_CONST_INT + 63]
   20216              :                   || pattern1846 (x2, 
   20217              : E_V32HImode, 
   20218              : E_V32QImode, 
   20219              : E_V64QImode) != 0
   20220              :                   || !
   20221              : #line 19631 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20222              : (TARGET_AVX512BW))
   20223              :                 return -1;
   20224              :               return 8350; /* avx512bw_packsswb */
   20225              : 
   20226              :             case 16:
   20227              :               if (pattern846 (x3, 
   20228              : 10, 
   20229              : 9, 
   20230              : 8) != 0
   20231              :                   || pattern1514 (x3, 
   20232              : 7, 
   20233              : 6, 
   20234              : 5, 
   20235              : 4, 
   20236              : 11) != 0
   20237              :                   || pattern1846 (x2, 
   20238              : E_V8SImode, 
   20239              : E_V8HImode, 
   20240              : E_V16HImode) != 0
   20241              :                   || !
   20242              : #line 19670 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20243              : (TARGET_AVX2 && 1 && 1))
   20244              :                 return -1;
   20245              :               return 8354; /* avx2_packssdw */
   20246              : 
   20247              :             default:
   20248              :               return -1;
   20249              :             }
   20250              : 
   20251              :         case VEC_CONCAT:
   20252              :           switch (pattern523 (x2))
   20253              :             {
   20254              :             case 0:
   20255              :               if (!
   20256              : #line 25668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20257              : (TARGET_AVX512F))
   20258              :                 return -1;
   20259              :               return 8960; /* *avx512f_zero_extendv8siv8di2_2 */
   20260              : 
   20261              :             case 1:
   20262              :               if (!
   20263              : #line 25720 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20264              : (TARGET_AVX2))
   20265              :                 return -1;
   20266              :               return 8966; /* *avx2_zero_extendv4siv4di2_2 */
   20267              : 
   20268              :             case 2:
   20269              :               if (!
   20270              : #line 25839 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20271              : (TARGET_SSE4_1))
   20272              :                 return -1;
   20273              :               return 8980; /* *sse4_1_zero_extendv2siv2di2_4 */
   20274              : 
   20275              :             default:
   20276              :               return -1;
   20277              :             }
   20278              : 
   20279              :         default:
   20280              :           return -1;
   20281              :         }
   20282              : 
   20283              :     case REG:
   20284              :     case SUBREG:
   20285              :     case MEM:
   20286              :       operands[1] = x5;
   20287              :       res = recog_303 (x1, insn, pnum_clobbers);
   20288              :       if (res >= 0)
   20289              :         return res;
   20290              :       if (GET_CODE (x5) != SUBREG)
   20291              :         return -1;
   20292              :       switch (pattern525 (x2))
   20293              :         {
   20294              :         case 0:
   20295              :           if (!
   20296              : #line 15360 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20297              : (TARGET_AVX512BW && ix86_pre_reload_split ()))
   20298              :             return -1;
   20299              :           return 7273; /* *avx512bw_permvar_truncv16siv16hi_1_hf */
   20300              : 
   20301              :         case 1:
   20302              :           if (!
   20303              : #line 15413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20304              : (TARGET_AVX512VL && TARGET_AVX512BW && ix86_pre_reload_split ()))
   20305              :             return -1;
   20306              :           return 7275; /* *avx512f_permvar_truncv8siv8hi_1_hf */
   20307              : 
   20308              :         default:
   20309              :           return -1;
   20310              :         }
   20311              : 
   20312              :     case UNSPEC:
   20313              :       switch (XVECLEN (x5, 0))
   20314              :         {
   20315              :         case 2:
   20316              :           switch (pattern527 (x2))
   20317              :             {
   20318              :             case 0:
   20319              :               if (!
   20320              : #line 15335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20321              : (TARGET_AVX512BW && ix86_pre_reload_split ()))
   20322              :                 return -1;
   20323              :               return 7272; /* *avx512bw_permvar_truncv16siv16hi_1 */
   20324              : 
   20325              :             case 1:
   20326              :               if (!
   20327              : #line 15597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20328              : (TARGET_AVX512VL && TARGET_AVX512VBMI
   20329              :    && ix86_pre_reload_split ()))
   20330              :                 return -1;
   20331              :               return 7305; /* *avx512f_permvar_truncv16hiv16qi_1 */
   20332              : 
   20333              :             case 2:
   20334              :               if (!
   20335              : #line 15392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20336              : (TARGET_AVX512VL && TARGET_AVX512BW && ix86_pre_reload_split ()))
   20337              :                 return -1;
   20338              :               return 7274; /* *avx512f_permvar_truncv8siv8hi_1 */
   20339              : 
   20340              :             case 3:
   20341              :               if (!
   20342              : #line 15444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20343              : (TARGET_AVX512F && ix86_pre_reload_split ()))
   20344              :                 return -1;
   20345              :               return 7276; /* *avx512f_vpermvar_truncv8div8si_1 */
   20346              : 
   20347              :             case 4:
   20348              :               if (!
   20349              : #line 15516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20350              : (TARGET_AVX512VBMI && ix86_pre_reload_split ()))
   20351              :                 return -1;
   20352              :               return 7292; /* *avx512f_permvar_truncv32hiv32qi_1 */
   20353              : 
   20354              :             case 5:
   20355              :               if (!
   20356              : #line 15616 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20357              : (TARGET_AVX512VL && ix86_pre_reload_split ()))
   20358              :                 return -1;
   20359              :               return 7306; /* *avx512f_permvar_truncv4div4si_1 */
   20360              : 
   20361              :             default:
   20362              :               return -1;
   20363              :             }
   20364              : 
   20365              :         case 1:
   20366              :           if (XINT (x5, 1) != 150
   20367              :               || GET_MODE (x5) != E_V8SFmode
   20368              :               || XVECLEN (x3, 0) != 4
   20369              :               || pattern845 (x3) != 0
   20370              :               || !register_operand (operands[0], E_V4SFmode)
   20371              :               || GET_MODE (x2) != E_V4SFmode)
   20372              :             return -1;
   20373              :           x61 = XVECEXP (x5, 0, 0);
   20374              :           operands[1] = x61;
   20375              :           if (!register_operand (operands[1], E_V8HImode)
   20376              :               || !
   20377              : #line 29778 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20378              : (TARGET_F16C || TARGET_AVX512VL))
   20379              :             return -1;
   20380              :           return 9721; /* vcvtph2ps */
   20381              : 
   20382              :         case 4:
   20383              :           if (pnum_clobbers == NULL
   20384              :               || XINT (x5, 1) != 154)
   20385              :             return -1;
   20386              :           x62 = XVECEXP (x5, 0, 1);
   20387              :           if (GET_CODE (x62) != MEM)
   20388              :             return -1;
   20389              :           x63 = XEXP (x62, 0);
   20390              :           if (GET_CODE (x63) != UNSPEC
   20391              :               || XVECLEN (x63, 0) != 3
   20392              :               || XINT (x63, 1) != 155)
   20393              :             return -1;
   20394              :           x64 = XVECEXP (x5, 0, 2);
   20395              :           if (GET_CODE (x64) != MEM
   20396              :               || GET_MODE (x64) != E_BLKmode)
   20397              :             return -1;
   20398              :           x65 = XEXP (x64, 0);
   20399              :           if (GET_CODE (x65) != SCRATCH
   20400              :               || XVECLEN (x3, 0) != 4
   20401              :               || pattern845 (x3) != 0)
   20402              :             return -1;
   20403              :           x66 = XVECEXP (x63, 0, 1);
   20404              :           if (!register_operand (x66, E_V4DImode))
   20405              :             return -1;
   20406              :           x67 = XVECEXP (x63, 0, 2);
   20407              :           if (!const1248_operand (x67, E_SImode))
   20408              :             return -1;
   20409              :           x61 = XVECEXP (x5, 0, 0);
   20410              :           switch (GET_CODE (x61))
   20411              :             {
   20412              :             case REG:
   20413              :             case SUBREG:
   20414              :               operands[2] = x61;
   20415              :               operands[7] = x62;
   20416              :               x68 = XVECEXP (x63, 0, 0);
   20417              :               operands[3] = x68;
   20418              :               operands[4] = x66;
   20419              :               operands[6] = x67;
   20420              :               x69 = XVECEXP (x5, 0, 3);
   20421              :               operands[5] = x69;
   20422              :               switch (GET_MODE (operands[0]))
   20423              :                 {
   20424              :                 case E_V4SImode:
   20425              :                   switch (pattern1868 (x2, 
   20426              : E_V4SImode, 
   20427              : E_SImode, 
   20428              : E_V8SImode))
   20429              :                     {
   20430              :                     case 0:
   20431              :                       if (!(
   20432              : #line 30105 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20433              : (TARGET_AVX2) && 
   20434              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   20435              : (Pmode == SImode)))
   20436              :                         return -1;
   20437              :                       *pnum_clobbers = 1;
   20438              :                       return 9808; /* *avx2_gatherdiv8si_3 */
   20439              : 
   20440              :                     case 1:
   20441              :                       if (!(
   20442              : #line 30105 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20443              : (TARGET_AVX2) && 
   20444              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   20445              : (Pmode == DImode)))
   20446              :                         return -1;
   20447              :                       *pnum_clobbers = 1;
   20448              :                       return 9810; /* *avx2_gatherdiv8si_3 */
   20449              : 
   20450              :                     default:
   20451              :                       return -1;
   20452              :                     }
   20453              : 
   20454              :                 case E_V4SFmode:
   20455              :                   switch (pattern1868 (x2, 
   20456              : E_V4SFmode, 
   20457              : E_SFmode, 
   20458              : E_V8SFmode))
   20459              :                     {
   20460              :                     case 0:
   20461              :                       if (!(
   20462              : #line 30105 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20463              : (TARGET_AVX2) && 
   20464              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   20465              : (Pmode == SImode)))
   20466              :                         return -1;
   20467              :                       *pnum_clobbers = 1;
   20468              :                       return 9809; /* *avx2_gatherdiv8sf_3 */
   20469              : 
   20470              :                     case 1:
   20471              :                       if (!(
   20472              : #line 30105 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20473              : (TARGET_AVX2) && 
   20474              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   20475              : (Pmode == DImode)))
   20476              :                         return -1;
   20477              :                       *pnum_clobbers = 1;
   20478              :                       return 9811; /* *avx2_gatherdiv8sf_3 */
   20479              : 
   20480              :                     default:
   20481              :                       return -1;
   20482              :                     }
   20483              : 
   20484              :                 default:
   20485              :                   return -1;
   20486              :                 }
   20487              : 
   20488              :             case PC:
   20489              :               operands[6] = x62;
   20490              :               x68 = XVECEXP (x63, 0, 0);
   20491              :               operands[2] = x68;
   20492              :               operands[3] = x66;
   20493              :               operands[5] = x67;
   20494              :               x69 = XVECEXP (x5, 0, 3);
   20495              :               operands[4] = x69;
   20496              :               switch (GET_MODE (operands[0]))
   20497              :                 {
   20498              :                 case E_V4SImode:
   20499              :                   switch (pattern1862 (x2, 
   20500              : E_V4SImode, 
   20501              : E_SImode, 
   20502              : E_V8SImode))
   20503              :                     {
   20504              :                     case 0:
   20505              :                       if (!(
   20506              : #line 30129 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20507              : (TARGET_AVX2) && 
   20508              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   20509              : (Pmode == SImode)))
   20510              :                         return -1;
   20511              :                       *pnum_clobbers = 1;
   20512              :                       return 9812; /* *avx2_gatherdiv8si_4 */
   20513              : 
   20514              :                     case 1:
   20515              :                       if (!(
   20516              : #line 30129 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20517              : (TARGET_AVX2) && 
   20518              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   20519              : (Pmode == DImode)))
   20520              :                         return -1;
   20521              :                       *pnum_clobbers = 1;
   20522              :                       return 9814; /* *avx2_gatherdiv8si_4 */
   20523              : 
   20524              :                     default:
   20525              :                       return -1;
   20526              :                     }
   20527              : 
   20528              :                 case E_V4SFmode:
   20529              :                   switch (pattern1862 (x2, 
   20530              : E_V4SFmode, 
   20531              : E_SFmode, 
   20532              : E_V8SFmode))
   20533              :                     {
   20534              :                     case 0:
   20535              :                       if (!(
   20536              : #line 30129 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20537              : (TARGET_AVX2) && 
   20538              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   20539              : (Pmode == SImode)))
   20540              :                         return -1;
   20541              :                       *pnum_clobbers = 1;
   20542              :                       return 9813; /* *avx2_gatherdiv8sf_4 */
   20543              : 
   20544              :                     case 1:
   20545              :                       if (!(
   20546              : #line 30129 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20547              : (TARGET_AVX2) && 
   20548              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   20549              : (Pmode == DImode)))
   20550              :                         return -1;
   20551              :                       *pnum_clobbers = 1;
   20552              :                       return 9815; /* *avx2_gatherdiv8sf_4 */
   20553              : 
   20554              :                     default:
   20555              :                       return -1;
   20556              :                     }
   20557              : 
   20558              :                 default:
   20559              :                   return -1;
   20560              :                 }
   20561              : 
   20562              :             default:
   20563              :               return -1;
   20564              :             }
   20565              : 
   20566              :         default:
   20567              :           return -1;
   20568              :         }
   20569              : 
   20570              :     default:
   20571              :       return -1;
   20572              :     }
   20573              : }
   20574              : 
   20575              :  int
   20576              : recog_330 (rtx x1 ATTRIBUTE_UNUSED,
   20577              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   20578              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   20579              : {
   20580              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   20581              :   rtx x2, x3, x4, x5, x6, x7, x8;
   20582              :   int res ATTRIBUTE_UNUSED;
   20583              :   x2 = XEXP (x1, 0);
   20584              :   operands[0] = x2;
   20585              :   x3 = XEXP (x1, 1);
   20586              :   x4 = XEXP (x3, 1);
   20587              :   operands[2] = x4;
   20588              :   x5 = XEXP (x3, 0);
   20589              :   switch (GET_CODE (x5))
   20590              :     {
   20591              :     case REG:
   20592              :     case SUBREG:
   20593              :     case MEM:
   20594              :     case VEC_DUPLICATE:
   20595              :       return recog_278 (x1, insn, pnum_clobbers);
   20596              : 
   20597              :     case NEG:
   20598              :       x6 = XEXP (x5, 0);
   20599              :       operands[1] = x6;
   20600              :       x7 = XEXP (x3, 2);
   20601              :       switch (GET_CODE (x7))
   20602              :         {
   20603              :         case REG:
   20604              :         case SUBREG:
   20605              :         case MEM:
   20606              :         case VEC_DUPLICATE:
   20607              :           operands[3] = x7;
   20608              :           switch (GET_MODE (operands[0]))
   20609              :             {
   20610              :             case E_V4SFmode:
   20611              :               if (!register_operand (operands[0], E_V4SFmode)
   20612              :                   || GET_MODE (x3) != E_V4SFmode
   20613              :                   || GET_MODE (x5) != E_V4SFmode)
   20614              :                 return -1;
   20615              :               if (nonimmediate_operand (operands[1], E_V4SFmode)
   20616              :                   && nonimmediate_operand (operands[2], E_V4SFmode)
   20617              :                   && nonimmediate_operand (operands[3], E_V4SFmode)
   20618              :                   && 
   20619              : #line 6466 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20620              : (TARGET_FMA || TARGET_FMA4))
   20621              :                 return 3998; /* *fma_fnmadd_v4sf */
   20622              :               if (!bcst_vector_operand (operands[1], E_V4SFmode)
   20623              :                   || !bcst_vector_operand (operands[2], E_V4SFmode)
   20624              :                   || !bcst_vector_operand (operands[3], E_V4SFmode)
   20625              :                   || !(
   20626              : #line 6498 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20627              : (TARGET_AVX512F && 1 && 1) && 
   20628              : #line 6280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20629              : (TARGET_AVX512VL)))
   20630              :                 return -1;
   20631              :               return 4018; /* *fma_fnmadd_v4sf */
   20632              : 
   20633              :             case E_V2DFmode:
   20634              :               if (!register_operand (operands[0], E_V2DFmode)
   20635              :                   || GET_MODE (x3) != E_V2DFmode
   20636              :                   || GET_MODE (x5) != E_V2DFmode)
   20637              :                 return -1;
   20638              :               if (nonimmediate_operand (operands[1], E_V2DFmode)
   20639              :                   && nonimmediate_operand (operands[2], E_V2DFmode)
   20640              :                   && nonimmediate_operand (operands[3], E_V2DFmode)
   20641              :                   && 
   20642              : #line 6466 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20643              : (TARGET_FMA || TARGET_FMA4))
   20644              :                 return 3999; /* *fma_fnmadd_v2df */
   20645              :               if (!bcst_vector_operand (operands[1], E_V2DFmode)
   20646              :                   || !bcst_vector_operand (operands[2], E_V2DFmode)
   20647              :                   || !bcst_vector_operand (operands[3], E_V2DFmode)
   20648              :                   || !(
   20649              : #line 6498 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20650              : (TARGET_AVX512F && 1 && 1) && 
   20651              : #line 6281 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20652              : (TARGET_AVX512VL)))
   20653              :                 return -1;
   20654              :               return 4027; /* *fma_fnmadd_v2df */
   20655              : 
   20656              :             case E_V8SFmode:
   20657              :               if (!register_operand (operands[0], E_V8SFmode)
   20658              :                   || GET_MODE (x3) != E_V8SFmode
   20659              :                   || GET_MODE (x5) != E_V8SFmode)
   20660              :                 return -1;
   20661              :               if (nonimmediate_operand (operands[1], E_V8SFmode)
   20662              :                   && nonimmediate_operand (operands[2], E_V8SFmode)
   20663              :                   && nonimmediate_operand (operands[3], E_V8SFmode)
   20664              :                   && 
   20665              : #line 6466 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20666              : (TARGET_FMA || TARGET_FMA4))
   20667              :                 return 4000; /* *fma_fnmadd_v8sf */
   20668              :               if (!bcst_vector_operand (operands[1], E_V8SFmode)
   20669              :                   || !bcst_vector_operand (operands[2], E_V8SFmode)
   20670              :                   || !bcst_vector_operand (operands[3], E_V8SFmode)
   20671              :                   || !(
   20672              : #line 6498 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20673              : (TARGET_AVX512F && 1 && 1) && 
   20674              : #line 6280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20675              : (TARGET_AVX512VL)))
   20676              :                 return -1;
   20677              :               return 4016; /* *fma_fnmadd_v8sf */
   20678              : 
   20679              :             case E_V4DFmode:
   20680              :               if (!register_operand (operands[0], E_V4DFmode)
   20681              :                   || GET_MODE (x3) != E_V4DFmode
   20682              :                   || GET_MODE (x5) != E_V4DFmode)
   20683              :                 return -1;
   20684              :               if (nonimmediate_operand (operands[1], E_V4DFmode)
   20685              :                   && nonimmediate_operand (operands[2], E_V4DFmode)
   20686              :                   && nonimmediate_operand (operands[3], E_V4DFmode)
   20687              :                   && 
   20688              : #line 6466 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20689              : (TARGET_FMA || TARGET_FMA4))
   20690              :                 return 4001; /* *fma_fnmadd_v4df */
   20691              :               if (!bcst_vector_operand (operands[1], E_V4DFmode)
   20692              :                   || !bcst_vector_operand (operands[2], E_V4DFmode)
   20693              :                   || !bcst_vector_operand (operands[3], E_V4DFmode)
   20694              :                   || !(
   20695              : #line 6498 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20696              : (TARGET_AVX512F && 1 && 1) && 
   20697              : #line 6281 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20698              : (TARGET_AVX512VL)))
   20699              :                 return -1;
   20700              :               return 4025; /* *fma_fnmadd_v4df */
   20701              : 
   20702              :             case E_V32HFmode:
   20703              :               if (pattern876 (x3, 
   20704              : E_V32HFmode) != 0
   20705              :                   || !(
   20706              : #line 6498 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20707              : (TARGET_AVX512F && 1 && 1) && 
   20708              : #line 6276 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20709              : (TARGET_AVX512FP16)))
   20710              :                 return -1;
   20711              :               return 4002; /* *fma_fnmadd_v32hf */
   20712              : 
   20713              :             case E_V16HFmode:
   20714              :               if (pattern876 (x3, 
   20715              : E_V16HFmode) != 0
   20716              :                   || !(
   20717              : #line 6498 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20718              : (TARGET_AVX512F && 1 && 1) && 
   20719              : #line 6277 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20720              : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
   20721              :                 return -1;
   20722              :               return 4006; /* *fma_fnmadd_v16hf */
   20723              : 
   20724              :             case E_V8HFmode:
   20725              :               if (pattern876 (x3, 
   20726              : E_V8HFmode) != 0
   20727              :                   || !(
   20728              : #line 6498 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20729              : (TARGET_AVX512F && 1 && 1) && 
   20730              : #line 6278 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20731              : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
   20732              :                 return -1;
   20733              :               return 4008; /* *fma_fnmadd_v8hf */
   20734              : 
   20735              :             case E_V16SFmode:
   20736              :               if (pattern876 (x3, 
   20737              : E_V16SFmode) != 0
   20738              :                   || !
   20739              : #line 6498 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20740              : (TARGET_AVX512F && 1 && 1))
   20741              :                 return -1;
   20742              :               return 4012; /* *fma_fnmadd_v16sf */
   20743              : 
   20744              :             case E_V8DFmode:
   20745              :               if (pattern876 (x3, 
   20746              : E_V8DFmode) != 0
   20747              :                   || !
   20748              : #line 6498 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20749              : (TARGET_AVX512F && 1 && 1))
   20750              :                 return -1;
   20751              :               return 4021; /* *fma_fnmadd_v8df */
   20752              : 
   20753              :             case E_V32BFmode:
   20754              :               if (pattern926 (x3, 
   20755              : E_V32BFmode) != 0
   20756              :                   || !
   20757              : #line 32916 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20758              : (TARGET_AVX10_2))
   20759              :                 return -1;
   20760              :               return 10714; /* avx10_2_fnmaddbf16_v32bf */
   20761              : 
   20762              :             case E_V16BFmode:
   20763              :               if (pattern926 (x3, 
   20764              : E_V16BFmode) != 0
   20765              :                   || !
   20766              : #line 32916 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20767              : (TARGET_AVX10_2))
   20768              :                 return -1;
   20769              :               return 10716; /* avx10_2_fnmaddbf16_v16bf */
   20770              : 
   20771              :             case E_V8BFmode:
   20772              :               if (pattern926 (x3, 
   20773              : E_V8BFmode) != 0
   20774              :                   || !
   20775              : #line 32916 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20776              : (TARGET_AVX10_2))
   20777              :                 return -1;
   20778              :               return 10718; /* avx10_2_fnmaddbf16_v8bf */
   20779              : 
   20780              :             default:
   20781              :               return -1;
   20782              :             }
   20783              : 
   20784              :         case NEG:
   20785              :           x8 = XEXP (x7, 0);
   20786              :           operands[3] = x8;
   20787              :           switch (GET_MODE (operands[0]))
   20788              :             {
   20789              :             case E_V4SFmode:
   20790              :               if (pattern877 (x3, 
   20791              : E_V4SFmode) != 0)
   20792              :                 return -1;
   20793              :               if (nonimmediate_operand (operands[1], E_V4SFmode)
   20794              :                   && nonimmediate_operand (operands[2], E_V4SFmode)
   20795              :                   && nonimmediate_operand (operands[3], E_V4SFmode)
   20796              :                   && 
   20797              : #line 6573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20798              : (TARGET_FMA || TARGET_FMA4))
   20799              :                 return 4057; /* *fma_fnmsub_v4sf */
   20800              :               if (!bcst_vector_operand (operands[1], E_V4SFmode)
   20801              :                   || !bcst_vector_operand (operands[2], E_V4SFmode)
   20802              :                   || !bcst_vector_operand (operands[3], E_V4SFmode)
   20803              :                   || !(
   20804              : #line 6606 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20805              : (TARGET_AVX512F && 1 && 1) && 
   20806              : #line 6280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20807              : (TARGET_AVX512VL)))
   20808              :                 return -1;
   20809              :               return 4089; /* *fma_fnmsub_v4sf */
   20810              : 
   20811              :             case E_V2DFmode:
   20812              :               if (pattern877 (x3, 
   20813              : E_V2DFmode) != 0)
   20814              :                 return -1;
   20815              :               if (nonimmediate_operand (operands[1], E_V2DFmode)
   20816              :                   && nonimmediate_operand (operands[2], E_V2DFmode)
   20817              :                   && nonimmediate_operand (operands[3], E_V2DFmode)
   20818              :                   && 
   20819              : #line 6573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20820              : (TARGET_FMA || TARGET_FMA4))
   20821              :                 return 4061; /* *fma_fnmsub_v2df */
   20822              :               if (!bcst_vector_operand (operands[1], E_V2DFmode)
   20823              :                   || !bcst_vector_operand (operands[2], E_V2DFmode)
   20824              :                   || !bcst_vector_operand (operands[3], E_V2DFmode)
   20825              :                   || !(
   20826              : #line 6606 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20827              : (TARGET_AVX512F && 1 && 1) && 
   20828              : #line 6281 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20829              : (TARGET_AVX512VL)))
   20830              :                 return -1;
   20831              :               return 4098; /* *fma_fnmsub_v2df */
   20832              : 
   20833              :             case E_V8SFmode:
   20834              :               if (pattern877 (x3, 
   20835              : E_V8SFmode) != 0)
   20836              :                 return -1;
   20837              :               if (nonimmediate_operand (operands[1], E_V8SFmode)
   20838              :                   && nonimmediate_operand (operands[2], E_V8SFmode)
   20839              :                   && nonimmediate_operand (operands[3], E_V8SFmode)
   20840              :                   && 
   20841              : #line 6573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20842              : (TARGET_FMA || TARGET_FMA4))
   20843              :                 return 4065; /* *fma_fnmsub_v8sf */
   20844              :               if (!bcst_vector_operand (operands[1], E_V8SFmode)
   20845              :                   || !bcst_vector_operand (operands[2], E_V8SFmode)
   20846              :                   || !bcst_vector_operand (operands[3], E_V8SFmode)
   20847              :                   || !(
   20848              : #line 6606 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20849              : (TARGET_AVX512F && 1 && 1) && 
   20850              : #line 6280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20851              : (TARGET_AVX512VL)))
   20852              :                 return -1;
   20853              :               return 4087; /* *fma_fnmsub_v8sf */
   20854              : 
   20855              :             case E_V4DFmode:
   20856              :               if (pattern877 (x3, 
   20857              : E_V4DFmode) != 0)
   20858              :                 return -1;
   20859              :               if (nonimmediate_operand (operands[1], E_V4DFmode)
   20860              :                   && nonimmediate_operand (operands[2], E_V4DFmode)
   20861              :                   && nonimmediate_operand (operands[3], E_V4DFmode)
   20862              :                   && 
   20863              : #line 6573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20864              : (TARGET_FMA || TARGET_FMA4))
   20865              :                 return 4069; /* *fma_fnmsub_v4df */
   20866              :               if (!bcst_vector_operand (operands[1], E_V4DFmode)
   20867              :                   || !bcst_vector_operand (operands[2], E_V4DFmode)
   20868              :                   || !bcst_vector_operand (operands[3], E_V4DFmode)
   20869              :                   || !(
   20870              : #line 6606 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20871              : (TARGET_AVX512F && 1 && 1) && 
   20872              : #line 6281 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20873              : (TARGET_AVX512VL)))
   20874              :                 return -1;
   20875              :               return 4096; /* *fma_fnmsub_v4df */
   20876              : 
   20877              :             case E_V32HFmode:
   20878              :               if (pattern878 (x3, 
   20879              : E_V32HFmode) != 0
   20880              :                   || !(
   20881              : #line 6606 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20882              : (TARGET_AVX512F && 1 && 1) && 
   20883              : #line 6276 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20884              : (TARGET_AVX512FP16)))
   20885              :                 return -1;
   20886              :               return 4073; /* *fma_fnmsub_v32hf */
   20887              : 
   20888              :             case E_V16HFmode:
   20889              :               if (pattern878 (x3, 
   20890              : E_V16HFmode) != 0
   20891              :                   || !(
   20892              : #line 6606 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20893              : (TARGET_AVX512F && 1 && 1) && 
   20894              : #line 6277 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20895              : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
   20896              :                 return -1;
   20897              :               return 4077; /* *fma_fnmsub_v16hf */
   20898              : 
   20899              :             case E_V8HFmode:
   20900              :               if (pattern878 (x3, 
   20901              : E_V8HFmode) != 0
   20902              :                   || !(
   20903              : #line 6606 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20904              : (TARGET_AVX512F && 1 && 1) && 
   20905              : #line 6278 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20906              : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
   20907              :                 return -1;
   20908              :               return 4079; /* *fma_fnmsub_v8hf */
   20909              : 
   20910              :             case E_V16SFmode:
   20911              :               if (pattern878 (x3, 
   20912              : E_V16SFmode) != 0
   20913              :                   || !
   20914              : #line 6606 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20915              : (TARGET_AVX512F && 1 && 1))
   20916              :                 return -1;
   20917              :               return 4083; /* *fma_fnmsub_v16sf */
   20918              : 
   20919              :             case E_V8DFmode:
   20920              :               if (pattern878 (x3, 
   20921              : E_V8DFmode) != 0
   20922              :                   || !
   20923              : #line 6606 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20924              : (TARGET_AVX512F && 1 && 1))
   20925              :                 return -1;
   20926              :               return 4092; /* *fma_fnmsub_v8df */
   20927              : 
   20928              :             case E_V32BFmode:
   20929              :               if (pattern927 (x3, 
   20930              : E_V32BFmode) != 0
   20931              :                   || !
   20932              : #line 33047 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20933              : (TARGET_AVX10_2))
   20934              :                 return -1;
   20935              :               return 10738; /* avx10_2_fnmsubbf16_v32bf */
   20936              : 
   20937              :             case E_V16BFmode:
   20938              :               if (pattern927 (x3, 
   20939              : E_V16BFmode) != 0
   20940              :                   || !
   20941              : #line 33047 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20942              : (TARGET_AVX10_2))
   20943              :                 return -1;
   20944              :               return 10740; /* avx10_2_fnmsubbf16_v16bf */
   20945              : 
   20946              :             case E_V8BFmode:
   20947              :               if (pattern927 (x3, 
   20948              : E_V8BFmode) != 0
   20949              :                   || !
   20950              : #line 33047 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20951              : (TARGET_AVX10_2))
   20952              :                 return -1;
   20953              :               return 10742; /* avx10_2_fnmsubbf16_v8bf */
   20954              : 
   20955              :             default:
   20956              :               return -1;
   20957              :             }
   20958              : 
   20959              :         default:
   20960              :           return -1;
   20961              :         }
   20962              : 
   20963              :     default:
   20964              :       return -1;
   20965              :     }
   20966              : }
   20967              : 
   20968              :  int
   20969              : recog_333 (rtx x1 ATTRIBUTE_UNUSED,
   20970              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   20971              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   20972              : {
   20973              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   20974              :   int res ATTRIBUTE_UNUSED;
   20975              :   switch (pattern30 (x1))
   20976              :     {
   20977              :     case 0:
   20978              :       if (nonimmediate_operand (operands[1], E_V16HImode)
   20979              :           && nonmemory_operand (operands[2], E_DImode)
   20980              :           && (
   20981              : #line 17615 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20982              : (TARGET_AVX512VL) && 
   20983              : #line 790 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20984              : (TARGET_AVX512BW)))
   20985              :         return 7682; /* *lshrv16hi3 */
   20986              :       if (!register_operand (operands[1], E_V16HImode))
   20987              :         return -1;
   20988              :       if (nonmemory_operand (operands[2], E_DImode)
   20989              :           && (
   20990              : #line 17629 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20991              : (TARGET_SSE2) && 
   20992              : #line 767 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20993              : (TARGET_AVX2)))
   20994              :         return 7705; /* lshrv16hi3 */
   20995              :       if (!nonimmediate_operand (operands[2], E_V16HImode)
   20996              :           || !(
   20997              : #line 29636 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20998              : (TARGET_AVX512BW) && 
   20999              : #line 679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21000              : (TARGET_AVX512VL)))
   21001              :         return -1;
   21002              :       return 9675; /* avx512vl_lshrvv16hi */
   21003              : 
   21004              :     case 1:
   21005              :       if (nonimmediate_operand (operands[1], E_V8HImode)
   21006              :           && nonmemory_operand (operands[2], E_DImode)
   21007              :           && (
   21008              : #line 17615 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21009              : (TARGET_AVX512VL) && 
   21010              : #line 790 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21011              : (TARGET_AVX512BW)))
   21012              :         return 7686; /* *lshrv8hi3 */
   21013              :       if (!register_operand (operands[1], E_V8HImode))
   21014              :         return -1;
   21015              :       if (nonmemory_operand (operands[2], E_DImode)
   21016              :           && 
   21017              : #line 17629 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21018              : (TARGET_SSE2))
   21019              :         return 7707; /* lshrv8hi3 */
   21020              :       if (!nonimmediate_operand (operands[2], E_V8HImode)
   21021              :           || !(
   21022              : #line 29636 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21023              : (TARGET_AVX512BW) && 
   21024              : #line 679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21025              : (TARGET_AVX512VL)))
   21026              :         return -1;
   21027              :       return 9671; /* avx512vl_lshrvv8hi */
   21028              : 
   21029              :     case 2:
   21030              :       if (nonimmediate_operand (operands[1], E_V8SImode)
   21031              :           && nonmemory_operand (operands[2], E_DImode)
   21032              :           && 
   21033              : #line 17615 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21034              : (TARGET_AVX512VL))
   21035              :         return 7690; /* *lshrv8si3 */
   21036              :       if (!register_operand (operands[1], E_V8SImode))
   21037              :         return -1;
   21038              :       if (nonmemory_operand (operands[2], E_DImode)
   21039              :           && (
   21040              : #line 17629 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21041              : (TARGET_SSE2) && 
   21042              : #line 768 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21043              : (TARGET_AVX2)))
   21044              :         return 7709; /* lshrv8si3 */
   21045              :       if (!nonimmediate_operand (operands[2], E_V8SImode)
   21046              :           || !
   21047              : #line 29625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21048              : (TARGET_AVX2 && 1))
   21049              :         return -1;
   21050              :       return 9651; /* avx2_lshrvv8si */
   21051              : 
   21052              :     case 3:
   21053              :       if (nonimmediate_operand (operands[1], E_V4SImode)
   21054              :           && nonmemory_operand (operands[2], E_DImode)
   21055              :           && 
   21056              : #line 17615 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21057              : (TARGET_AVX512VL))
   21058              :         return 7694; /* *lshrv4si3 */
   21059              :       if (!register_operand (operands[1], E_V4SImode))
   21060              :         return -1;
   21061              :       if (nonmemory_operand (operands[2], E_DImode)
   21062              :           && 
   21063              : #line 17629 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21064              : (TARGET_SSE2))
   21065              :         return 7711; /* lshrv4si3 */
   21066              :       if (!nonimmediate_operand (operands[2], E_V4SImode)
   21067              :           || !
   21068              : #line 29625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21069              : (TARGET_AVX2 && 1))
   21070              :         return -1;
   21071              :       return 9655; /* avx2_lshrvv4si */
   21072              : 
   21073              :     case 4:
   21074              :       if (nonimmediate_operand (operands[1], E_V4DImode)
   21075              :           && nonmemory_operand (operands[2], E_DImode)
   21076              :           && 
   21077              : #line 17615 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21078              : (TARGET_AVX512VL))
   21079              :         return 7698; /* *lshrv4di3 */
   21080              :       if (!register_operand (operands[1], E_V4DImode))
   21081              :         return -1;
   21082              :       if (nonmemory_operand (operands[2], E_DImode)
   21083              :           && (
   21084              : #line 17629 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21085              : (TARGET_SSE2) && 
   21086              : #line 769 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21087              : (TARGET_AVX2)))
   21088              :         return 7713; /* lshrv4di3 */
   21089              :       if (!nonimmediate_operand (operands[2], E_V4DImode)
   21090              :           || !
   21091              : #line 29625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21092              : (TARGET_AVX2 && 1))
   21093              :         return -1;
   21094              :       return 9663; /* avx2_lshrvv4di */
   21095              : 
   21096              :     case 5:
   21097              :       if (nonimmediate_operand (operands[1], E_V2DImode)
   21098              :           && nonmemory_operand (operands[2], E_DImode)
   21099              :           && 
   21100              : #line 17615 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21101              : (TARGET_AVX512VL))
   21102              :         return 7702; /* *lshrv2di3 */
   21103              :       if (!register_operand (operands[1], E_V2DImode))
   21104              :         return -1;
   21105              :       if (nonmemory_operand (operands[2], E_DImode)
   21106              :           && 
   21107              : #line 17629 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21108              : (TARGET_SSE2))
   21109              :         return 7715; /* lshrv2di3 */
   21110              :       if (!nonimmediate_operand (operands[2], E_V2DImode)
   21111              :           || !
   21112              : #line 29625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21113              : (TARGET_AVX2 && 1))
   21114              :         return -1;
   21115              :       return 9667; /* avx2_lshrvv2di */
   21116              : 
   21117              :     case 6:
   21118              :       if (nonimmediate_operand (operands[1], E_V32HImode)
   21119              :           && nonmemory_operand (operands[2], E_DImode)
   21120              :           && (
   21121              : #line 17703 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21122              : (TARGET_AVX512F) && 
   21123              : #line 777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21124              : (TARGET_AVX512BW)))
   21125              :         return 7722; /* lshrv32hi3 */
   21126              :       if (!register_operand (operands[1], E_V32HImode)
   21127              :           || !nonimmediate_operand (operands[2], E_V32HImode)
   21128              :           || !
   21129              : #line 29636 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21130              : (TARGET_AVX512BW))
   21131              :         return -1;
   21132              :       return 9679; /* avx512bw_lshrvv32hi */
   21133              : 
   21134              :     case 7:
   21135              :       if (nonimmediate_operand (operands[1], E_V16SImode)
   21136              :           && nonmemory_operand (operands[2], E_DImode)
   21137              :           && 
   21138              : #line 17703 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21139              : (TARGET_AVX512F))
   21140              :         return 7726; /* lshrv16si3 */
   21141              :       if (!register_operand (operands[1], E_V16SImode)
   21142              :           || !nonimmediate_operand (operands[2], E_V16SImode)
   21143              :           || !(
   21144              : #line 29625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21145              : (TARGET_AVX2 && 1) && 
   21146              : #line 795 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21147              : (TARGET_AVX512F)))
   21148              :         return -1;
   21149              :       return 9647; /* avx512f_lshrvv16si */
   21150              : 
   21151              :     case 8:
   21152              :       if (nonimmediate_operand (operands[1], E_V8DImode)
   21153              :           && nonmemory_operand (operands[2], E_DImode)
   21154              :           && 
   21155              : #line 17703 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21156              : (TARGET_AVX512F))
   21157              :         return 7730; /* lshrv8di3 */
   21158              :       if (!register_operand (operands[1], E_V8DImode)
   21159              :           || !nonimmediate_operand (operands[2], E_V8DImode)
   21160              :           || !(
   21161              : #line 29625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21162              : (TARGET_AVX2 && 1) && 
   21163              : #line 796 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21164              : (TARGET_AVX512F)))
   21165              :         return -1;
   21166              :       return 9659; /* avx512f_lshrvv8di */
   21167              : 
   21168              :     case 9:
   21169              :       if (register_operand (operands[1], E_V1TImode)
   21170              :           && const_0_to_255_not_mul_8_operand (operands[2], E_SImode)
   21171              :           && 
   21172              : #line 17807 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21173              : (TARGET_SSE2 && TARGET_64BIT
   21174              :    && ix86_pre_reload_split ()))
   21175              :         return 7733; /* *lshrv1ti3_internal */
   21176              :       if (!const_0_to_255_mul_8_operand (operands[2], E_SImode))
   21177              :         return -1;
   21178              :       if (nonimmediate_operand (operands[1], E_V1TImode)
   21179              :           && (
   21180              : #line 17922 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21181              : (TARGET_AVX512BW) && 
   21182              : #line 722 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21183              : (TARGET_AVX512VL)))
   21184              :         return 7742; /* avx512bw_lshrv1ti3 */
   21185              :       if (!register_operand (operands[1], E_V1TImode)
   21186              :           || !
   21187              : #line 17937 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21188              : (TARGET_SSE2))
   21189              :         return -1;
   21190              :       return 7746; /* sse2_lshrv1ti3 */
   21191              : 
   21192              :     case 10:
   21193              :       if (!
   21194              : #line 17922 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21195              : (TARGET_AVX512BW))
   21196              :         return -1;
   21197              :       return 7738; /* avx512bw_lshrv4ti3 */
   21198              : 
   21199              :     case 11:
   21200              :       if (nonimmediate_operand (operands[1], E_V2TImode)
   21201              :           && (
   21202              : #line 17922 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21203              : (TARGET_AVX512BW) && 
   21204              : #line 722 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21205              : (TARGET_AVX512VL)))
   21206              :         return 7740; /* avx512bw_lshrv2ti3 */
   21207              :       if (!register_operand (operands[1], E_V2TImode)
   21208              :           || !(
   21209              : #line 17937 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21210              : (TARGET_SSE2) && 
   21211              : #line 725 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21212              : (TARGET_AVX2)))
   21213              :         return -1;
   21214              :       return 7744; /* avx2_lshrv2ti3 */
   21215              : 
   21216              :     default:
   21217              :       return -1;
   21218              :     }
   21219              : }
   21220              : 
   21221              :  int
   21222              : recog_338 (rtx x1 ATTRIBUTE_UNUSED,
   21223              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   21224              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   21225              : {
   21226              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   21227              :   rtx x2, x3, x4, x5, x6, x7;
   21228              :   int res ATTRIBUTE_UNUSED;
   21229              :   switch (pattern35 (x1))
   21230              :     {
   21231              :     case 0:
   21232              :       if (!
   21233              : #line 24466 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21234              : (TARGET_AVX2 && 1 && 1))
   21235              :         return -1;
   21236              :       return 8800; /* avx2_zero_extendv16qiv16hi2 */
   21237              : 
   21238              :     case 1:
   21239              :       if (!
   21240              : #line 24520 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21241              : (TARGET_AVX512BW))
   21242              :         return -1;
   21243              :       return 8808; /* avx512bw_zero_extendv32qiv32hi2 */
   21244              : 
   21245              :     case 2:
   21246              :       if (!
   21247              : #line 24590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21248              : (TARGET_SSE4_1 && 1 && 1))
   21249              :         return -1;
   21250              :       return 8820; /* *sse4_1_zero_extendv8qiv8hi2_1 */
   21251              : 
   21252              :     case 3:
   21253              :       if (!
   21254              : #line 24741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21255              : (TARGET_AVX512F))
   21256              :         return -1;
   21257              :       return 8832; /* *avx512f_zero_extendv16qiv16si2 */
   21258              : 
   21259              :     case 4:
   21260              :       if (!
   21261              : #line 24940 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21262              : (TARGET_AVX512F))
   21263              :         return -1;
   21264              :       return 8862; /* avx512f_zero_extendv16hiv16si2 */
   21265              : 
   21266              :     case 5:
   21267              :       if (!
   21268              : #line 24773 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21269              : (TARGET_AVX2 && 1))
   21270              :         return -1;
   21271              :       return 8840; /* *avx2_zero_extendv8qiv8si2_1 */
   21272              : 
   21273              :     case 6:
   21274              :       if (!
   21275              : #line 24993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21276              : (TARGET_AVX2 && 1))
   21277              :         return -1;
   21278              :       return 8870; /* avx2_zero_extendv8hiv8si2 */
   21279              : 
   21280              :     case 7:
   21281              :       if (!
   21282              : #line 24861 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21283              : (TARGET_SSE4_1 && 1))
   21284              :         return -1;
   21285              :       return 8852; /* *sse4_1_zero_extendv4qiv4si2_1 */
   21286              : 
   21287              :     case 8:
   21288              :       if (!
   21289              : #line 25063 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21290              : (TARGET_SSE4_1 && 1))
   21291              :         return -1;
   21292              :       return 8882; /* *sse4_1_zero_extendv4hiv4si2_1 */
   21293              : 
   21294              :     case 9:
   21295              :       if (!
   21296              : #line 25219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21297              : (TARGET_AVX512F))
   21298              :         return -1;
   21299              :       return 8898; /* *avx512f_zero_extendv8qiv8di2_1 */
   21300              : 
   21301              :     case 10:
   21302              :       if (!
   21303              : #line 25445 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21304              : (TARGET_AVX512F))
   21305              :         return -1;
   21306              :       return 8929; /* avx512f_zero_extendv8hiv8di2 */
   21307              : 
   21308              :     case 11:
   21309              :       if (!
   21310              : #line 25635 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21311              : (TARGET_AVX512F))
   21312              :         return -1;
   21313              :       return 8957; /* avx512f_zero_extendv8siv8di2 */
   21314              : 
   21315              :     case 12:
   21316              :       if (!
   21317              : #line 25303 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21318              : (TARGET_AVX2 && 1))
   21319              :         return -1;
   21320              :       return 8910; /* *avx2_zero_extendv4qiv4di2_1 */
   21321              : 
   21322              :     case 13:
   21323              :       if (!
   21324              : #line 25475 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21325              : (TARGET_AVX2 && 1))
   21326              :         return -1;
   21327              :       return 8937; /* *avx2_zero_extendv4hiv4di2_1 */
   21328              : 
   21329              :     case 14:
   21330              :       if (!
   21331              : #line 25686 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21332              : (TARGET_AVX2 && 1))
   21333              :         return -1;
   21334              :       return 8963; /* avx2_zero_extendv4siv4di2 */
   21335              : 
   21336              :     case 15:
   21337              :       if (!
   21338              : #line 25394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21339              : (TARGET_SSE4_1 && 1))
   21340              :         return -1;
   21341              :       return 8922; /* *sse4_1_zero_extendv2qiv2di2_1 */
   21342              : 
   21343              :     case 16:
   21344              :       if (!
   21345              : #line 25558 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21346              : (TARGET_SSE4_1 && 1))
   21347              :         return -1;
   21348              :       return 8949; /* *sse4_1_zero_extendv2hiv2di2_1 */
   21349              : 
   21350              :     case 17:
   21351              :       if (!
   21352              : #line 25752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21353              : (TARGET_SSE4_1 && 1))
   21354              :         return -1;
   21355              :       return 8973; /* *sse4_1_zero_extendv2siv2di2_1 */
   21356              : 
   21357              :     case 18:
   21358              :       x2 = XEXP (x1, 1);
   21359              :       x3 = XEXP (x2, 0);
   21360              :       x4 = XEXP (x3, 0);
   21361              :       operands[1] = x4;
   21362              :       switch (pattern545 (x2))
   21363              :         {
   21364              :         case 0:
   21365              :           if (
   21366              : #line 24578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21367              : (TARGET_SSE4_1 && 1 && 1))
   21368              :             return 8816; /* sse4_1_zero_extendv8qiv8hi2 */
   21369              :           break;
   21370              : 
   21371              :         case 1:
   21372              :           if (
   21373              : #line 24762 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21374              : (TARGET_AVX2 && 1))
   21375              :             return 8836; /* avx2_zero_extendv8qiv8si2 */
   21376              :           break;
   21377              : 
   21378              :         case 2:
   21379              :           if (
   21380              : #line 25209 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21381              : (TARGET_AVX512F))
   21382              :             return 8894; /* avx512f_zero_extendv8qiv8di2 */
   21383              :           break;
   21384              : 
   21385              :         case 3:
   21386              :           if (
   21387              : #line 24849 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21388              : (TARGET_SSE4_1 && 1))
   21389              :             return 8848; /* sse4_1_zero_extendv4qiv4si2 */
   21390              :           break;
   21391              : 
   21392              :         case 4:
   21393              :           if (
   21394              : #line 25051 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21395              : (TARGET_SSE4_1 && 1))
   21396              :             return 8878; /* sse4_1_zero_extendv4hiv4si2 */
   21397              :           break;
   21398              : 
   21399              :         case 5:
   21400              :           if (
   21401              : #line 25292 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21402              : (TARGET_AVX2 && 1))
   21403              :             return 8906; /* avx2_zero_extendv4qiv4di2 */
   21404              :           break;
   21405              : 
   21406              :         case 6:
   21407              :           if (
   21408              : #line 25464 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21409              : (TARGET_AVX2 && 1))
   21410              :             return 8933; /* avx2_zero_extendv4hiv4di2 */
   21411              :           break;
   21412              : 
   21413              :         case 7:
   21414              :           if (
   21415              : #line 25382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21416              : (TARGET_SSE4_1 && 1))
   21417              :             return 8918; /* sse4_1_zero_extendv2qiv2di2 */
   21418              :           break;
   21419              : 
   21420              :         case 8:
   21421              :           if (
   21422              : #line 25546 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21423              : (TARGET_SSE4_1 && 1))
   21424              :             return 8945; /* sse4_1_zero_extendv2hiv2di2 */
   21425              :           break;
   21426              : 
   21427              :         case 9:
   21428              :           if (
   21429              : #line 25740 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21430              : (TARGET_SSE4_1 && 1))
   21431              :             return 8969; /* sse4_1_zero_extendv2siv2di2 */
   21432              :           break;
   21433              : 
   21434              :         default:
   21435              :           break;
   21436              :         }
   21437              :       if (GET_CODE (x4) != SUBREG
   21438              :           || maybe_ne (SUBREG_BYTE (x4), 0))
   21439              :         return -1;
   21440              :       x5 = XEXP (x4, 0);
   21441              :       switch (GET_CODE (x5))
   21442              :         {
   21443              :         case VEC_CONCAT:
   21444              :           switch (pattern689 (x2))
   21445              :             {
   21446              :             case 0:
   21447              :               if (!
   21448              : #line 24614 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21449              : (TARGET_SSE4_1
   21450              :    && ix86_pre_reload_split ()))
   21451              :                 return -1;
   21452              :               return 8823; /* *sse4_1_zero_extendv8qiv8hi2_2 */
   21453              : 
   21454              :             case 1:
   21455              :               if (!
   21456              : #line 24792 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21457              : (TARGET_AVX2
   21458              :    && ix86_pre_reload_split ()))
   21459              :                 return -1;
   21460              :               return 8843; /* *avx2_zero_extendv8qiv8si2_2 */
   21461              : 
   21462              :             case 2:
   21463              :               if (!
   21464              : #line 25237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21465              : (TARGET_AVX512F && ix86_pre_reload_split ()))
   21466              :                 return -1;
   21467              :               return 8901; /* *avx512f_zero_extendv8qiv8di2_2 */
   21468              : 
   21469              :             case 3:
   21470              :               if (!
   21471              : #line 25082 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21472              : (TARGET_SSE4_1
   21473              :    && ix86_pre_reload_split ()))
   21474              :                 return -1;
   21475              :               return 8885; /* *sse4_1_zero_extendv4hiv4si2_2 */
   21476              : 
   21477              :             case 4:
   21478              :               if (!
   21479              : #line 25492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21480              : (TARGET_AVX2
   21481              :    && ix86_pre_reload_split ()))
   21482              :                 return -1;
   21483              :               return 8940; /* *avx2_zero_extendv4hiv4di2_2 */
   21484              : 
   21485              :             case 5:
   21486              :               if (!
   21487              : #line 25770 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21488              : (TARGET_SSE4_1
   21489              :    && ix86_pre_reload_split ()))
   21490              :                 return -1;
   21491              :               return 8976; /* *sse4_1_zero_extendv2siv2di2_2 */
   21492              : 
   21493              :             default:
   21494              :               return -1;
   21495              :             }
   21496              : 
   21497              :         case VEC_MERGE:
   21498              :           x6 = XEXP (x5, 0);
   21499              :           if (GET_CODE (x6) != VEC_DUPLICATE)
   21500              :             return -1;
   21501              :           if (GET_MODE (x6) == E_V4SImode)
   21502              :             {
   21503              :               switch (pattern1042 (x2))
   21504              :                 {
   21505              :                 case 0:
   21506              :                   if (
   21507              : #line 24884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21508              : (TARGET_SSE4_1 && 1
   21509              :    && ix86_pre_reload_split ()))
   21510              :                     return 8856; /* *sse4_1_zero_extendv4qiv4si2_2 */
   21511              :                   break;
   21512              : 
   21513              :                 case 1:
   21514              :                   if (
   21515              : #line 25324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21516              : (TARGET_AVX2
   21517              :    && ix86_pre_reload_split ()))
   21518              :                     return 8913; /* *avx2_zero_extendv4qiv4di2_2 */
   21519              :                   break;
   21520              : 
   21521              :                 case 2:
   21522              :                   if (
   21523              : #line 25580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21524              : (TARGET_SSE4_1
   21525              :    && ix86_pre_reload_split ()))
   21526              :                     return 8952; /* *sse4_1_zero_extendv2hiv2di2_2 */
   21527              :                   break;
   21528              : 
   21529              :                 default:
   21530              :                   break;
   21531              :                 }
   21532              :             }
   21533              :           x7 = XEXP (x5, 2);
   21534              :           if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   21535              :             return -1;
   21536              :           switch (pattern1043 (x2))
   21537              :             {
   21538              :             case 0:
   21539              :               if (!
   21540              : #line 25429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21541              : (TARGET_SSE4_1 && ix86_pre_reload_split ()))
   21542              :                 return -1;
   21543              :               return 8924; /* *sse4_1_zero_extendv2qiv2di2_2 */
   21544              : 
   21545              :             case 1:
   21546              :               if (!
   21547              : #line 25429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21548              : (TARGET_SSE4_1 && ix86_pre_reload_split ()))
   21549              :                 return -1;
   21550              :               return 8925; /* *sse4_1_zero_extendv2qiv2di2_2 */
   21551              : 
   21552              :             case 2:
   21553              :               if (!
   21554              : #line 25429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21555              : (TARGET_SSE4_1 && ix86_pre_reload_split ()))
   21556              :                 return -1;
   21557              :               return 8926; /* *sse4_1_zero_extendv2qiv2di2_2 */
   21558              : 
   21559              :             default:
   21560              :               return -1;
   21561              :             }
   21562              : 
   21563              :         default:
   21564              :           return -1;
   21565              :         }
   21566              : 
   21567              :     default:
   21568              :       return -1;
   21569              :     }
   21570              : }
   21571              : 
   21572              :  int
   21573              : recog_349 (rtx x1 ATTRIBUTE_UNUSED,
   21574              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   21575              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   21576              : {
   21577              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   21578              :   rtx x2, x3, x4;
   21579              :   int res ATTRIBUTE_UNUSED;
   21580              :   x2 = XEXP (x1, 0);
   21581              :   operands[0] = x2;
   21582              :   x3 = XEXP (x1, 1);
   21583              :   x4 = XEXP (x3, 0);
   21584              :   switch (GET_CODE (x4))
   21585              :     {
   21586              :     case REG:
   21587              :     case SUBREG:
   21588              :     case MEM:
   21589              :     case VEC_DUPLICATE:
   21590              :       switch (pattern190 (x3))
   21591              :         {
   21592              :         case 0:
   21593              :           if (!(
   21594              : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21595              : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V32HFmode, operands)
   21596              :    && 1 && 1) && 
   21597              : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21598              : (TARGET_AVX512FP16)))
   21599              :             return -1;
   21600              :           return 2750; /* *subv32hf3 */
   21601              : 
   21602              :         case 1:
   21603              :           if (!(
   21604              : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21605              : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V16HFmode, operands)
   21606              :    && 1 && 1) && 
   21607              : #line 394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21608              : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
   21609              :             return -1;
   21610              :           return 2758; /* *subv16hf3 */
   21611              : 
   21612              :         case 2:
   21613              :           if (!(
   21614              : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21615              : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V8HFmode, operands)
   21616              :    && 1 && 1) && 
   21617              : #line 395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21618              : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
   21619              :             return -1;
   21620              :           return 2766; /* *subv8hf3 */
   21621              : 
   21622              :         case 3:
   21623              :           if (!(
   21624              : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21625              : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V16SFmode, operands)
   21626              :    && 1 && 1) && 
   21627              : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21628              : (TARGET_AVX512F)))
   21629              :             return -1;
   21630              :           return 2774; /* *subv16sf3 */
   21631              : 
   21632              :         case 4:
   21633              :           if (!(
   21634              : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21635              : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V8SFmode, operands)
   21636              :    && 1 && 1) && 
   21637              : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21638              : (TARGET_AVX)))
   21639              :             return -1;
   21640              :           return 2782; /* *subv8sf3 */
   21641              : 
   21642              :         case 5:
   21643              :           if (!
   21644              : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21645              : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V4SFmode, operands)
   21646              :    && 1 && 1))
   21647              :             return -1;
   21648              :           return 2790; /* *subv4sf3 */
   21649              : 
   21650              :         case 6:
   21651              :           if (!(
   21652              : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21653              : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V8DFmode, operands)
   21654              :    && 1 && 1) && 
   21655              : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21656              : (TARGET_AVX512F)))
   21657              :             return -1;
   21658              :           return 2798; /* *subv8df3 */
   21659              : 
   21660              :         case 7:
   21661              :           if (!(
   21662              : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21663              : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V4DFmode, operands)
   21664              :    && 1 && 1) && 
   21665              : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21666              : (TARGET_AVX)))
   21667              :             return -1;
   21668              :           return 2806; /* *subv4df3 */
   21669              : 
   21670              :         case 8:
   21671              :           if (!(
   21672              : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21673              : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V2DFmode, operands)
   21674              :    && 1 && 1) && 
   21675              : #line 398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21676              : (TARGET_SSE2)))
   21677              :             return -1;
   21678              :           return 2814; /* *subv2df3 */
   21679              : 
   21680              :         case 9:
   21681              :           if (!(
   21682              : #line 16592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21683              : (TARGET_SSE2 && ix86_binary_operator_ok (MINUS, V64QImode, operands)) && 
   21684              : #line 572 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21685              : (TARGET_AVX512BW)))
   21686              :             return -1;
   21687              :           return 7500; /* *subv64qi3 */
   21688              : 
   21689              :         case 10:
   21690              :           if (!(
   21691              : #line 16592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21692              : (TARGET_SSE2 && ix86_binary_operator_ok (MINUS, V32QImode, operands)) && 
   21693              : #line 572 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21694              : (TARGET_AVX2)))
   21695              :             return -1;
   21696              :           return 7502; /* *subv32qi3 */
   21697              : 
   21698              :         case 11:
   21699              :           if (!
   21700              : #line 16592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21701              : (TARGET_SSE2 && ix86_binary_operator_ok (MINUS, V16QImode, operands)))
   21702              :             return -1;
   21703              :           return 7504; /* *subv16qi3 */
   21704              : 
   21705              :         case 12:
   21706              :           if (!(
   21707              : #line 16592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21708              : (TARGET_SSE2 && ix86_binary_operator_ok (MINUS, V32HImode, operands)) && 
   21709              : #line 573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21710              : (TARGET_AVX512BW)))
   21711              :             return -1;
   21712              :           return 7506; /* *subv32hi3 */
   21713              : 
   21714              :         case 13:
   21715              :           if (!(
   21716              : #line 16592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21717              : (TARGET_SSE2 && ix86_binary_operator_ok (MINUS, V16HImode, operands)) && 
   21718              : #line 573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21719              : (TARGET_AVX2)))
   21720              :             return -1;
   21721              :           return 7508; /* *subv16hi3 */
   21722              : 
   21723              :         case 14:
   21724              :           if (!
   21725              : #line 16592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21726              : (TARGET_SSE2 && ix86_binary_operator_ok (MINUS, V8HImode, operands)))
   21727              :             return -1;
   21728              :           return 7510; /* *subv8hi3 */
   21729              : 
   21730              :         case 15:
   21731              :           if (!(
   21732              : #line 16592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21733              : (TARGET_SSE2 && ix86_binary_operator_ok (MINUS, V16SImode, operands)) && 
   21734              : #line 574 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21735              : (TARGET_AVX512F)))
   21736              :             return -1;
   21737              :           return 7512; /* *subv16si3 */
   21738              : 
   21739              :         case 16:
   21740              :           if (!(
   21741              : #line 16592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21742              : (TARGET_SSE2 && ix86_binary_operator_ok (MINUS, V8SImode, operands)) && 
   21743              : #line 574 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21744              : (TARGET_AVX2)))
   21745              :             return -1;
   21746              :           return 7514; /* *subv8si3 */
   21747              : 
   21748              :         case 17:
   21749              :           if (!
   21750              : #line 16592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21751              : (TARGET_SSE2 && ix86_binary_operator_ok (MINUS, V4SImode, operands)))
   21752              :             return -1;
   21753              :           return 7516; /* *subv4si3 */
   21754              : 
   21755              :         case 18:
   21756              :           if (!(
   21757              : #line 16592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21758              : (TARGET_SSE2 && ix86_binary_operator_ok (MINUS, V8DImode, operands)) && 
   21759              : #line 575 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21760              : (TARGET_AVX512F)))
   21761              :             return -1;
   21762              :           return 7518; /* *subv8di3 */
   21763              : 
   21764              :         case 19:
   21765              :           if (!(
   21766              : #line 16592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21767              : (TARGET_SSE2 && ix86_binary_operator_ok (MINUS, V4DImode, operands)) && 
   21768              : #line 575 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21769              : (TARGET_AVX2)))
   21770              :             return -1;
   21771              :           return 7520; /* *subv4di3 */
   21772              : 
   21773              :         case 20:
   21774              :           if (!
   21775              : #line 16592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21776              : (TARGET_SSE2 && ix86_binary_operator_ok (MINUS, V2DImode, operands)))
   21777              :             return -1;
   21778              :           return 7522; /* *subv2di3 */
   21779              : 
   21780              :         case 21:
   21781              :           if (!
   21782              : #line 32828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21783              : (TARGET_AVX10_2))
   21784              :             return -1;
   21785              :           return 10680; /* avx10_2_subbf16_v32bf */
   21786              : 
   21787              :         case 22:
   21788              :           if (!
   21789              : #line 32828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21790              : (TARGET_AVX10_2))
   21791              :             return -1;
   21792              :           return 10688; /* avx10_2_subbf16_v16bf */
   21793              : 
   21794              :         case 23:
   21795              :           if (!
   21796              : #line 32828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21797              : (TARGET_AVX10_2))
   21798              :             return -1;
   21799              :           return 10696; /* avx10_2_subbf16_v8bf */
   21800              : 
   21801              :         default:
   21802              :           return -1;
   21803              :         }
   21804              : 
   21805              :     case VEC_SELECT:
   21806              :       switch (pattern197 (x3))
   21807              :         {
   21808              :         case 0:
   21809              :           if (!
   21810              : #line 22922 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21811              : (TARGET_AVX2))
   21812              :             return -1;
   21813              :           return 8634; /* avx2_phsubwv16hi3 */
   21814              : 
   21815              :         case 1:
   21816              :           if (!
   21817              : #line 22945 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21818              : (TARGET_SSSE3))
   21819              :             return -1;
   21820              :           return 8638; /* ssse3_phsubwv8hi3 */
   21821              : 
   21822              :         case 2:
   21823              :           if (!
   21824              : #line 23012 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21825              : (TARGET_AVX2))
   21826              :             return -1;
   21827              :           return 8645; /* avx2_phsubdv8si3 */
   21828              : 
   21829              :         case 3:
   21830              :           if (!
   21831              : #line 23033 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21832              : (TARGET_SSSE3))
   21833              :             return -1;
   21834              :           return 8647; /* ssse3_phsubdv4si3 */
   21835              : 
   21836              :         default:
   21837              :           return -1;
   21838              :         }
   21839              : 
   21840              :     case SIGN_EXTEND:
   21841              :       switch (pattern199 (x3, 
   21842              : SIGN_EXTEND))
   21843              :         {
   21844              :         case 0:
   21845              :           if (!
   21846              : #line 27047 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21847              : (TARGET_XOP))
   21848              :             return -1;
   21849              :           return 9080; /* xop_phsubbw */
   21850              : 
   21851              :         case 1:
   21852              :           if (!
   21853              : #line 27067 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21854              : (TARGET_XOP))
   21855              :             return -1;
   21856              :           return 9081; /* xop_phsubwd */
   21857              : 
   21858              :         case 2:
   21859              :           if (!
   21860              : #line 27085 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21861              : (TARGET_XOP))
   21862              :             return -1;
   21863              :           return 9082; /* xop_phsubdq */
   21864              : 
   21865              :         default:
   21866              :           return -1;
   21867              :         }
   21868              : 
   21869              :     default:
   21870              :       return -1;
   21871              :     }
   21872              : }
   21873              : 
   21874              :  int
   21875              : recog_356 (rtx x1 ATTRIBUTE_UNUSED,
   21876              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   21877              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   21878              : {
   21879              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   21880              :   rtx x2, x3, x4, x5;
   21881              :   int res ATTRIBUTE_UNUSED;
   21882              :   x2 = XEXP (x1, 0);
   21883              :   operands[0] = x2;
   21884              :   x3 = XEXP (x1, 1);
   21885              :   x4 = XEXP (x3, 0);
   21886              :   operands[1] = x4;
   21887              :   x5 = XEXP (x3, 1);
   21888              :   operands[2] = x5;
   21889              :   switch (GET_MODE (operands[0]))
   21890              :     {
   21891              :     case E_V32HFmode:
   21892              :       if (pattern516 (x3, 
   21893              : E_V32HFmode) != 0
   21894              :           || !(
   21895              : #line 2922 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21896              : (TARGET_SSE && 1 && 1) && 
   21897              : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21898              : (TARGET_AVX512FP16)))
   21899              :         return -1;
   21900              :       return 2914; /* avx512fp16_divv32hf3 */
   21901              : 
   21902              :     case E_V16HFmode:
   21903              :       if (pattern516 (x3, 
   21904              : E_V16HFmode) != 0
   21905              :           || !(
   21906              : #line 2922 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21907              : (TARGET_SSE && 1 && 1) && 
   21908              : #line 394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21909              : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
   21910              :         return -1;
   21911              :       return 2918; /* avx512fp16_divv16hf3 */
   21912              : 
   21913              :     case E_V8HFmode:
   21914              :       if (pattern516 (x3, 
   21915              : E_V8HFmode) != 0
   21916              :           || !(
   21917              : #line 2922 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21918              : (TARGET_SSE && 1 && 1) && 
   21919              : #line 395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21920              : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
   21921              :         return -1;
   21922              :       return 2920; /* avx512fp16_divv8hf3 */
   21923              : 
   21924              :     case E_V16SFmode:
   21925              :       if (pattern516 (x3, 
   21926              : E_V16SFmode) != 0
   21927              :           || !(
   21928              : #line 2922 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21929              : (TARGET_SSE && 1 && 1) && 
   21930              : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21931              : (TARGET_AVX512F)))
   21932              :         return -1;
   21933              :       return 2922; /* avx512f_divv16sf3 */
   21934              : 
   21935              :     case E_V8SFmode:
   21936              :       if (pattern516 (x3, 
   21937              : E_V8SFmode) != 0
   21938              :           || !(
   21939              : #line 2922 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21940              : (TARGET_SSE && 1 && 1) && 
   21941              : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21942              : (TARGET_AVX)))
   21943              :         return -1;
   21944              :       return 2926; /* avx_divv8sf3 */
   21945              : 
   21946              :     case E_V4SFmode:
   21947              :       if (pattern516 (x3, 
   21948              : E_V4SFmode) != 0
   21949              :           || !
   21950              : #line 2922 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21951              : (TARGET_SSE && 1 && 1))
   21952              :         return -1;
   21953              :       return 2928; /* sse_divv4sf3 */
   21954              : 
   21955              :     case E_V8DFmode:
   21956              :       if (pattern516 (x3, 
   21957              : E_V8DFmode) != 0
   21958              :           || !(
   21959              : #line 2922 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21960              : (TARGET_SSE && 1 && 1) && 
   21961              : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21962              : (TARGET_AVX512F)))
   21963              :         return -1;
   21964              :       return 2930; /* avx512f_divv8df3 */
   21965              : 
   21966              :     case E_V4DFmode:
   21967              :       if (pattern516 (x3, 
   21968              : E_V4DFmode) != 0
   21969              :           || !(
   21970              : #line 2922 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21971              : (TARGET_SSE && 1 && 1) && 
   21972              : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21973              : (TARGET_AVX)))
   21974              :         return -1;
   21975              :       return 2934; /* avx_divv4df3 */
   21976              : 
   21977              :     case E_V2DFmode:
   21978              :       if (pattern516 (x3, 
   21979              : E_V2DFmode) != 0
   21980              :           || !(
   21981              : #line 2922 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21982              : (TARGET_SSE && 1 && 1) && 
   21983              : #line 398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21984              : (TARGET_SSE2)))
   21985              :         return -1;
   21986              :       return 2936; /* sse2_divv2df3 */
   21987              : 
   21988              :     case E_V32BFmode:
   21989              :       if (pattern12 (x3, 
   21990              : E_V32BFmode) != 0
   21991              :           || !
   21992              : #line 32828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21993              : (TARGET_AVX10_2))
   21994              :         return -1;
   21995              :       return 10684; /* avx10_2_divbf16_v32bf */
   21996              : 
   21997              :     case E_V16BFmode:
   21998              :       if (pattern12 (x3, 
   21999              : E_V16BFmode) != 0
   22000              :           || !
   22001              : #line 32828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22002              : (TARGET_AVX10_2))
   22003              :         return -1;
   22004              :       return 10692; /* avx10_2_divbf16_v16bf */
   22005              : 
   22006              :     case E_V8BFmode:
   22007              :       if (pattern12 (x3, 
   22008              : E_V8BFmode) != 0
   22009              :           || !
   22010              : #line 32828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22011              : (TARGET_AVX10_2))
   22012              :         return -1;
   22013              :       return 10700; /* avx10_2_divbf16_v8bf */
   22014              : 
   22015              :     default:
   22016              :       return -1;
   22017              :     }
   22018              : }
   22019              : 
   22020              :  int
   22021              : recog_365 (rtx x1 ATTRIBUTE_UNUSED,
   22022              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   22023              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   22024              : {
   22025              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   22026              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   22027              :   rtx x10, x11;
   22028              :   int res ATTRIBUTE_UNUSED;
   22029              :   x2 = XVECEXP (x1, 0, 0);
   22030              :   x3 = XEXP (x2, 0);
   22031              :   switch (GET_CODE (x3))
   22032              :     {
   22033              :     case REG:
   22034              :     case SUBREG:
   22035              :     case MEM:
   22036              :       res = recog_363 (x1, insn, pnum_clobbers);
   22037              :       if (res >= 0)
   22038              :         return res;
   22039              :       break;
   22040              : 
   22041              :     case STRICT_LOW_PART:
   22042              :       x4 = XVECEXP (x1, 0, 1);
   22043              :       if (pattern236 (x4, 
   22044              : E_CCmode, 
   22045              : 17) == 0)
   22046              :         {
   22047              :           x5 = XEXP (x3, 0);
   22048              :           operands[0] = x5;
   22049              :           x6 = XEXP (x2, 1);
   22050              :           operands[1] = x6;
   22051              :           switch (GET_MODE (operands[0]))
   22052              :             {
   22053              :             case E_QImode:
   22054              :               if (register_operand (operands[0], E_QImode)
   22055              :                   && const0_operand (operands[1], E_QImode)
   22056              :                   && 
   22057              : #line 3467 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22058              : (reload_completed))
   22059              :                 return 117; /* *movstrictqi_xor */
   22060              :               break;
   22061              : 
   22062              :             case E_HImode:
   22063              :               if (register_operand (operands[0], E_HImode)
   22064              :                   && const0_operand (operands[1], E_HImode)
   22065              :                   && 
   22066              : #line 3467 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22067              : (reload_completed))
   22068              :                 return 118; /* *movstricthi_xor */
   22069              :               break;
   22070              : 
   22071              :             default:
   22072              :               break;
   22073              :             }
   22074              :         }
   22075              :       break;
   22076              : 
   22077              :     case PC:
   22078              :       res = recog_364 (x1, insn, pnum_clobbers);
   22079              :       if (res >= 0)
   22080              :         return res;
   22081              :       break;
   22082              : 
   22083              :     default:
   22084              :       break;
   22085              :     }
   22086              :   x4 = XVECEXP (x1, 0, 1);
   22087              :   if (GET_CODE (x4) != CLOBBER)
   22088              :     return -1;
   22089              :   x7 = XEXP (x4, 0);
   22090              :   if (GET_CODE (x7) != REG
   22091              :       || REGNO (x7) != 17
   22092              :       || GET_MODE (x7) != E_CCmode)
   22093              :     return -1;
   22094              :   x6 = XEXP (x2, 1);
   22095              :   switch (GET_CODE (x6))
   22096              :     {
   22097              :     case SUBREG:
   22098              :       if (maybe_ne (SUBREG_BYTE (x6), 0))
   22099              :         return -1;
   22100              :       switch (pattern1047 (x2))
   22101              :         {
   22102              :         case 0:
   22103              :           x8 = XEXP (x6, 0);
   22104              :           x9 = XEXP (x8, 1);
   22105              :           operands[2] = x9;
   22106              :           if (general_operand (operands[2], E_QImode))
   22107              :             {
   22108              :               switch (pattern1045 (x2))
   22109              :                 {
   22110              :                 case 0:
   22111              :                   return 337; /* *addqi_exthi_1 */
   22112              : 
   22113              :                 case 1:
   22114              :                   return 338; /* *addqi_extsi_1 */
   22115              : 
   22116              :                 case 2:
   22117              :                   if (
   22118              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22119              : (TARGET_64BIT))
   22120              :                     return 339; /* *addqi_extdi_1 */
   22121              :                   break;
   22122              : 
   22123              :                 default:
   22124              :                   break;
   22125              :                 }
   22126              :             }
   22127              :           if (GET_CODE (x9) != SUBREG)
   22128              :             return -1;
   22129              :           switch (pattern1814 (x2))
   22130              :             {
   22131              :             case 0:
   22132              :               return 340; /* *addqi_exthi_2 */
   22133              : 
   22134              :             case 1:
   22135              :               return 342; /* *addqi_extsi_2 */
   22136              : 
   22137              :             case 2:
   22138              :               if (!
   22139              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22140              : (TARGET_64BIT))
   22141              :                 return -1;
   22142              :               return 344; /* *addqi_extdi_2 */
   22143              : 
   22144              :             default:
   22145              :               return -1;
   22146              :             }
   22147              : 
   22148              :         case 1:
   22149              :           x8 = XEXP (x6, 0);
   22150              :           x9 = XEXP (x8, 1);
   22151              :           if (GET_CODE (x9) == SUBREG)
   22152              :             {
   22153              :               switch (pattern1814 (x2))
   22154              :                 {
   22155              :                 case 0:
   22156              :                   return 341; /* *subqi_exthi_2 */
   22157              : 
   22158              :                 case 1:
   22159              :                   return 343; /* *subqi_extsi_2 */
   22160              : 
   22161              :                 case 2:
   22162              :                   if (
   22163              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22164              : (TARGET_64BIT))
   22165              :                     return 345; /* *subqi_extdi_2 */
   22166              :                   break;
   22167              : 
   22168              :                 default:
   22169              :                   break;
   22170              :                 }
   22171              :             }
   22172              :           operands[2] = x9;
   22173              :           if (!general_operand (operands[2], E_QImode))
   22174              :             return -1;
   22175              :           switch (pattern1045 (x2))
   22176              :             {
   22177              :             case 0:
   22178              :               return 426; /* *subqi_exthi_1 */
   22179              : 
   22180              :             case 1:
   22181              :               return 427; /* *subqi_extsi_1 */
   22182              : 
   22183              :             case 2:
   22184              :               if (!
   22185              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22186              : (TARGET_64BIT))
   22187              :                 return -1;
   22188              :               return 428; /* *subqi_extdi_1 */
   22189              : 
   22190              :             default:
   22191              :               return -1;
   22192              :             }
   22193              : 
   22194              :         case 2:
   22195              :           x8 = XEXP (x6, 0);
   22196              :           x9 = XEXP (x8, 1);
   22197              :           operands[2] = x9;
   22198              :           if (general_operand (operands[2], E_QImode))
   22199              :             {
   22200              :               switch (pattern1045 (x2))
   22201              :                 {
   22202              :                 case 0:
   22203              :                   return 801; /* *andqi_exthi_1 */
   22204              : 
   22205              :                 case 1:
   22206              :                   return 804; /* *andqi_extsi_1 */
   22207              : 
   22208              :                 case 2:
   22209              :                   if (
   22210              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22211              : (TARGET_64BIT))
   22212              :                     return 807; /* *andqi_extdi_1 */
   22213              :                   break;
   22214              : 
   22215              :                 default:
   22216              :                   break;
   22217              :                 }
   22218              :             }
   22219              :           if (GET_CODE (x9) != SUBREG)
   22220              :             return -1;
   22221              :           switch (pattern1814 (x2))
   22222              :             {
   22223              :             case 0:
   22224              :               return 819; /* *andqi_exthi_2 */
   22225              : 
   22226              :             case 1:
   22227              :               return 822; /* *andqi_extsi_2 */
   22228              : 
   22229              :             case 2:
   22230              :               if (!
   22231              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22232              : (TARGET_64BIT))
   22233              :                 return -1;
   22234              :               return 825; /* *andqi_extdi_2 */
   22235              : 
   22236              :             default:
   22237              :               return -1;
   22238              :             }
   22239              : 
   22240              :         case 3:
   22241              :           x8 = XEXP (x6, 0);
   22242              :           x9 = XEXP (x8, 1);
   22243              :           operands[2] = x9;
   22244              :           if (general_operand (operands[2], E_QImode))
   22245              :             {
   22246              :               switch (pattern1045 (x2))
   22247              :                 {
   22248              :                 case 0:
   22249              :                   return 802; /* *iorqi_exthi_1 */
   22250              : 
   22251              :                 case 1:
   22252              :                   return 805; /* *iorqi_extsi_1 */
   22253              : 
   22254              :                 case 2:
   22255              :                   if (
   22256              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22257              : (TARGET_64BIT))
   22258              :                     return 808; /* *iorqi_extdi_1 */
   22259              :                   break;
   22260              : 
   22261              :                 default:
   22262              :                   break;
   22263              :                 }
   22264              :             }
   22265              :           if (GET_CODE (x9) != SUBREG)
   22266              :             return -1;
   22267              :           switch (pattern1814 (x2))
   22268              :             {
   22269              :             case 0:
   22270              :               return 820; /* *iorqi_exthi_2 */
   22271              : 
   22272              :             case 1:
   22273              :               return 823; /* *iorqi_extsi_2 */
   22274              : 
   22275              :             case 2:
   22276              :               if (!
   22277              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22278              : (TARGET_64BIT))
   22279              :                 return -1;
   22280              :               return 826; /* *iorqi_extdi_2 */
   22281              : 
   22282              :             default:
   22283              :               return -1;
   22284              :             }
   22285              : 
   22286              :         case 4:
   22287              :           x8 = XEXP (x6, 0);
   22288              :           x9 = XEXP (x8, 1);
   22289              :           operands[2] = x9;
   22290              :           if (general_operand (operands[2], E_QImode))
   22291              :             {
   22292              :               switch (pattern1045 (x2))
   22293              :                 {
   22294              :                 case 0:
   22295              :                   return 803; /* *xorqi_exthi_1 */
   22296              : 
   22297              :                 case 1:
   22298              :                   return 806; /* *xorqi_extsi_1 */
   22299              : 
   22300              :                 case 2:
   22301              :                   if (
   22302              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22303              : (TARGET_64BIT))
   22304              :                     return 809; /* *xorqi_extdi_1 */
   22305              :                   break;
   22306              : 
   22307              :                 default:
   22308              :                   break;
   22309              :                 }
   22310              :             }
   22311              :           if (GET_CODE (x9) != SUBREG)
   22312              :             return -1;
   22313              :           switch (pattern1814 (x2))
   22314              :             {
   22315              :             case 0:
   22316              :               return 821; /* *xorqi_exthi_2 */
   22317              : 
   22318              :             case 1:
   22319              :               return 824; /* *xorqi_extsi_2 */
   22320              : 
   22321              :             case 2:
   22322              :               if (!
   22323              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22324              : (TARGET_64BIT))
   22325              :                 return -1;
   22326              :               return 827; /* *xorqi_extdi_2 */
   22327              : 
   22328              :             default:
   22329              :               return -1;
   22330              :             }
   22331              : 
   22332              :         case 5:
   22333              :           return 1020; /* *negqi_exthi_1 */
   22334              : 
   22335              :         case 6:
   22336              :           return 1021; /* *negqi_extsi_1 */
   22337              : 
   22338              :         case 7:
   22339              :           if (!
   22340              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22341              : (TARGET_64BIT))
   22342              :             return -1;
   22343              :           return 1022; /* *negqi_extdi_1 */
   22344              : 
   22345              :         case 8:
   22346              :           return 1151; /* *ashlqi_exthi_1 */
   22347              : 
   22348              :         case 9:
   22349              :           return 1152; /* *ashlqi_extsi_1 */
   22350              : 
   22351              :         case 10:
   22352              :           if (!
   22353              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22354              : (TARGET_64BIT))
   22355              :             return -1;
   22356              :           return 1153; /* *ashlqi_extdi_1 */
   22357              : 
   22358              :         case 11:
   22359              :           operands[0] = x3;
   22360              :           switch (pattern1240 (x6))
   22361              :             {
   22362              :             case 0:
   22363              :               if ((
   22364              : #line 17093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22365              : (UINTVAL (operands[2]) < 4 * BITS_PER_UNIT) && 
   22366              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22367              : (!TARGET_64BIT)))
   22368              :                 return 1170; /* lshrdi3_doubleword_lowpart */
   22369              :               break;
   22370              : 
   22371              :             case 1:
   22372              :               if ((
   22373              : #line 17093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22374              : (UINTVAL (operands[2]) < 8 * BITS_PER_UNIT) && 
   22375              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22376              : (TARGET_64BIT)))
   22377              :                 return 1172; /* lshrti3_doubleword_lowpart */
   22378              :               break;
   22379              : 
   22380              :             default:
   22381              :               break;
   22382              :             }
   22383              :           x8 = XEXP (x6, 0);
   22384              :           if (GET_MODE (x8) != E_QImode)
   22385              :             return -1;
   22386              :           switch (pattern1046 (x2))
   22387              :             {
   22388              :             case 0:
   22389              :               return 1270; /* *lshrqi_exthi_1 */
   22390              : 
   22391              :             case 1:
   22392              :               return 1272; /* *lshrqi_extsi_1 */
   22393              : 
   22394              :             case 2:
   22395              :               if (!
   22396              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22397              : (TARGET_64BIT))
   22398              :                 return -1;
   22399              :               return 1274; /* *lshrqi_extdi_1 */
   22400              : 
   22401              :             default:
   22402              :               return -1;
   22403              :             }
   22404              : 
   22405              :         case 12:
   22406              :           operands[0] = x3;
   22407              :           switch (pattern1240 (x6))
   22408              :             {
   22409              :             case 0:
   22410              :               if ((
   22411              : #line 17093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22412              : (UINTVAL (operands[2]) < 4 * BITS_PER_UNIT) && 
   22413              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22414              : (!TARGET_64BIT)))
   22415              :                 return 1171; /* ashrdi3_doubleword_lowpart */
   22416              :               break;
   22417              : 
   22418              :             case 1:
   22419              :               if ((
   22420              : #line 17093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22421              : (UINTVAL (operands[2]) < 8 * BITS_PER_UNIT) && 
   22422              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22423              : (TARGET_64BIT)))
   22424              :                 return 1173; /* ashrti3_doubleword_lowpart */
   22425              :               break;
   22426              : 
   22427              :             default:
   22428              :               break;
   22429              :             }
   22430              :           x8 = XEXP (x6, 0);
   22431              :           if (GET_MODE (x8) != E_QImode)
   22432              :             return -1;
   22433              :           switch (pattern1046 (x2))
   22434              :             {
   22435              :             case 0:
   22436              :               return 1271; /* *ashrqi_exthi_1 */
   22437              : 
   22438              :             case 1:
   22439              :               return 1273; /* *ashrqi_extsi_1 */
   22440              : 
   22441              :             case 2:
   22442              :               if (!
   22443              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22444              : (TARGET_64BIT))
   22445              :                 return -1;
   22446              :               return 1275; /* *ashrqi_extdi_1 */
   22447              : 
   22448              :             default:
   22449              :               return -1;
   22450              :             }
   22451              : 
   22452              :         default:
   22453              :           return -1;
   22454              :         }
   22455              : 
   22456              :     case CONST_INT:
   22457              :       if (GET_CODE (x3) != ZERO_EXTRACT)
   22458              :         return -1;
   22459              :       x10 = XEXP (x3, 1);
   22460              :       if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   22461              :         return -1;
   22462              :       x5 = XEXP (x3, 0);
   22463              :       operands[0] = x5;
   22464              :       x11 = XEXP (x3, 2);
   22465              :       operands[1] = x11;
   22466              :       switch (XWINT (x6, 0))
   22467              :         {
   22468              :         case 0L:
   22469              :           switch (GET_CODE (operands[1]))
   22470              :             {
   22471              :             case REG:
   22472              :             case SUBREG:
   22473              :               if (!register_operand (operands[1], E_QImode)
   22474              :                   || GET_MODE (x3) != E_HImode)
   22475              :                 return -1;
   22476              :               switch (GET_MODE (operands[0]))
   22477              :                 {
   22478              :                 case E_QImode:
   22479              :                   if (!nonimmediate_operand (operands[0], E_QImode)
   22480              :                       || !
   22481              : #line 19323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22482              : (TARGET_USE_BT && ix86_pre_reload_split ()))
   22483              :                     return -1;
   22484              :                   return 1443; /* *btrqi_2 */
   22485              : 
   22486              :                 case E_HImode:
   22487              :                   if (!nonimmediate_operand (operands[0], E_HImode)
   22488              :                       || !
   22489              : #line 19323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22490              : (TARGET_USE_BT && ix86_pre_reload_split ()))
   22491              :                     return -1;
   22492              :                   return 1444; /* *btrhi_2 */
   22493              : 
   22494              :                 default:
   22495              :                   return -1;
   22496              :                 }
   22497              : 
   22498              :             case CONST_INT:
   22499              :               if (!const_0_to_63_operand (operands[1], E_QImode)
   22500              :                   || GET_MODE (x3) != E_DImode
   22501              :                   || !nonimmediate_operand (operands[0], E_DImode)
   22502              :                   || !
   22503              : #line 19387 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22504              : (TARGET_64BIT && (TARGET_USE_BT || reload_completed)))
   22505              :                 return -1;
   22506              :               return 1446; /* *btrq_imm */
   22507              : 
   22508              :             default:
   22509              :               return -1;
   22510              :             }
   22511              : 
   22512              :         case 1L:
   22513              :           if (GET_MODE (x3) != E_DImode
   22514              :               || !nonimmediate_operand (operands[0], E_DImode)
   22515              :               || !const_0_to_63_operand (operands[1], E_QImode)
   22516              :               || !
   22517              : #line 19374 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22518              : (TARGET_64BIT && (TARGET_USE_BT || reload_completed)))
   22519              :             return -1;
   22520              :           return 1445; /* *btsq_imm */
   22521              : 
   22522              :         default:
   22523              :           return -1;
   22524              :         }
   22525              : 
   22526              :     default:
   22527              :       return -1;
   22528              :     }
   22529              : }
   22530              : 
   22531              :  int
   22532              : recog_379 (rtx x1 ATTRIBUTE_UNUSED,
   22533              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   22534              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   22535              : {
   22536              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   22537              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   22538              :   rtx x10;
   22539              :   int res ATTRIBUTE_UNUSED;
   22540              :   if (pattern344 (x1) != 0)
   22541              :     return -1;
   22542              :   x2 = XVECEXP (x1, 0, 0);
   22543              :   x3 = XEXP (x2, 1);
   22544              :   x4 = XEXP (x3, 0);
   22545              :   x5 = XEXP (x4, 0);
   22546              :   switch (GET_CODE (x5))
   22547              :     {
   22548              :     case REG:
   22549              :     case SUBREG:
   22550              :     case MEM:
   22551              :       operands[1] = x5;
   22552              :       x6 = XEXP (x4, 1);
   22553              :       operands[2] = x6;
   22554              :       switch (GET_MODE (operands[0]))
   22555              :         {
   22556              :         case E_HImode:
   22557              :           if (!register_operand (operands[0], E_HImode)
   22558              :               || GET_MODE (x3) != E_HImode
   22559              :               || GET_MODE (x4) != E_QImode
   22560              :               || !nonimmediate_operand (operands[1], E_QImode)
   22561              :               || !general_operand (operands[2], E_QImode)
   22562              :               || !
   22563              : #line 6728 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22564              : (TARGET_APX_NDD && true
   22565              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   22566              :             return -1;
   22567              :           return 291; /* *addqi_1_zexthi */
   22568              : 
   22569              :         case E_SImode:
   22570              :           if (!register_operand (operands[0], E_SImode)
   22571              :               || GET_MODE (x3) != E_SImode)
   22572              :             return -1;
   22573              :           switch (GET_MODE (x4))
   22574              :             {
   22575              :             case E_QImode:
   22576              :               if (!nonimmediate_operand (operands[1], E_QImode)
   22577              :                   || !general_operand (operands[2], E_QImode)
   22578              :                   || !
   22579              : #line 6728 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22580              : (TARGET_APX_NDD && true
   22581              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   22582              :                 return -1;
   22583              :               return 293; /* *addqi_1_zextsi */
   22584              : 
   22585              :             case E_HImode:
   22586              :               if (!nonimmediate_operand (operands[1], E_HImode)
   22587              :                   || !general_operand (operands[2], E_HImode)
   22588              :                   || !
   22589              : #line 6766 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22590              : (TARGET_APX_NDD && true
   22591              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   22592              :                 return -1;
   22593              :               return 297; /* *addhi_1_zextsi */
   22594              : 
   22595              :             default:
   22596              :               return -1;
   22597              :             }
   22598              : 
   22599              :         case E_DImode:
   22600              :           if (!register_operand (operands[0], E_DImode)
   22601              :               || GET_MODE (x3) != E_DImode)
   22602              :             return -1;
   22603              :           switch (GET_MODE (x4))
   22604              :             {
   22605              :             case E_QImode:
   22606              :               if (!nonimmediate_operand (operands[1], E_QImode)
   22607              :                   || !general_operand (operands[2], E_QImode)
   22608              :                   || !
   22609              : #line 6728 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22610              : (TARGET_APX_NDD && true
   22611              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   22612              :                 return -1;
   22613              :               return 295; /* *addqi_1_zextdi */
   22614              : 
   22615              :             case E_HImode:
   22616              :               if (!nonimmediate_operand (operands[1], E_HImode)
   22617              :                   || !general_operand (operands[2], E_HImode)
   22618              :                   || !
   22619              : #line 6766 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22620              : (TARGET_APX_NDD && true
   22621              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   22622              :                 return -1;
   22623              :               return 299; /* *addhi_1_zextdi */
   22624              : 
   22625              :             case E_SImode:
   22626              :               if (!nonimmediate_operand (operands[1], E_SImode)
   22627              :                   || !x86_64_general_operand (operands[2], E_SImode)
   22628              :                   || !
   22629              : #line 6811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22630              : (TARGET_64BIT
   22631              :    && ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)))
   22632              :                 return -1;
   22633              :               return 300; /* addsi_1_zext */
   22634              : 
   22635              :             default:
   22636              :               return -1;
   22637              :             }
   22638              : 
   22639              :         default:
   22640              :           return -1;
   22641              :         }
   22642              : 
   22643              :     case PLUS:
   22644              :       x7 = XEXP (x5, 0);
   22645              :       switch (GET_CODE (x7))
   22646              :         {
   22647              :         case LTU:
   22648              :         case UNLT:
   22649              :           operands[3] = x7;
   22650              :           x8 = XEXP (x7, 0);
   22651              :           if (GET_CODE (x8) != REG
   22652              :               || REGNO (x8) != 17)
   22653              :             return -1;
   22654              :           x9 = XEXP (x7, 1);
   22655              :           if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   22656              :             return -1;
   22657              :           x10 = XEXP (x5, 1);
   22658              :           operands[1] = x10;
   22659              :           x6 = XEXP (x4, 1);
   22660              :           operands[2] = x6;
   22661              :           switch (pattern1163 (x3))
   22662              :             {
   22663              :             case 0:
   22664              :               if (pattern1772 (x5, 
   22665              : E_QImode) != 0
   22666              :                   || !
   22667              : #line 9011 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22668              : (TARGET_APX_NDD
   22669              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   22670              :                 return -1;
   22671              :               return 481; /* *addqi3_carry_zexthi */
   22672              : 
   22673              :             case 1:
   22674              :               if (pattern1772 (x5, 
   22675              : E_QImode) != 0
   22676              :                   || !
   22677              : #line 9011 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22678              : (TARGET_APX_NDD
   22679              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   22680              :                 return -1;
   22681              :               return 482; /* *addqi3_carry_zextsi */
   22682              : 
   22683              :             case 2:
   22684              :               if (pattern1772 (x5, 
   22685              : E_HImode) != 0
   22686              :                   || !
   22687              : #line 9030 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22688              : (TARGET_APX_NDD
   22689              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   22690              :                 return -1;
   22691              :               return 484; /* *addhi3_carry_zextsi */
   22692              : 
   22693              :             case 3:
   22694              :               if (pattern1772 (x5, 
   22695              : E_QImode) != 0
   22696              :                   || !
   22697              : #line 9011 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22698              : (TARGET_APX_NDD
   22699              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   22700              :                 return -1;
   22701              :               return 483; /* *addqi3_carry_zextdi */
   22702              : 
   22703              :             case 4:
   22704              :               if (pattern1772 (x5, 
   22705              : E_HImode) != 0
   22706              :                   || !
   22707              : #line 9030 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22708              : (TARGET_APX_NDD
   22709              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   22710              :                 return -1;
   22711              :               return 485; /* *addhi3_carry_zextdi */
   22712              : 
   22713              :             case 5:
   22714              :               if (pattern1772 (x5, 
   22715              : E_SImode) != 0
   22716              :                   || !
   22717              : #line 9049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22718              : (TARGET_64BIT
   22719              :    && ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)))
   22720              :                 return -1;
   22721              :               return 486; /* *addsi3_carry_zext */
   22722              : 
   22723              :             default:
   22724              :               return -1;
   22725              :             }
   22726              : 
   22727              :         default:
   22728              :           return -1;
   22729              :         }
   22730              : 
   22731              :     case LTU:
   22732              :     case UNLT:
   22733              :       switch (pattern1164 (x3))
   22734              :         {
   22735              :         case 0:
   22736              :           if (!ix86_carry_flag_operator (operands[2], E_QImode)
   22737              :               || !nonimmediate_operand (operands[1], E_QImode)
   22738              :               || !
   22739              : #line 9068 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22740              : (TARGET_APX_NDD))
   22741              :             return -1;
   22742              :           return 487; /* *addqi3_carry_zexthi_0 */
   22743              : 
   22744              :         case 1:
   22745              :           if (!ix86_carry_flag_operator (operands[2], E_QImode)
   22746              :               || !nonimmediate_operand (operands[1], E_QImode)
   22747              :               || !
   22748              : #line 9068 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22749              : (TARGET_APX_NDD))
   22750              :             return -1;
   22751              :           return 488; /* *addqi3_carry_zextsi_0 */
   22752              : 
   22753              :         case 2:
   22754              :           if (!ix86_carry_flag_operator (operands[2], E_HImode)
   22755              :               || !nonimmediate_operand (operands[1], E_HImode)
   22756              :               || !
   22757              : #line 9082 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22758              : (TARGET_APX_NDD))
   22759              :             return -1;
   22760              :           return 490; /* *addhi3_carry_zextsi_0 */
   22761              : 
   22762              :         case 3:
   22763              :           if (!ix86_carry_flag_operator (operands[2], E_QImode)
   22764              :               || !nonimmediate_operand (operands[1], E_QImode)
   22765              :               || !
   22766              : #line 9068 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22767              : (TARGET_APX_NDD))
   22768              :             return -1;
   22769              :           return 489; /* *addqi3_carry_zextdi_0 */
   22770              : 
   22771              :         case 4:
   22772              :           if (!ix86_carry_flag_operator (operands[2], E_HImode)
   22773              :               || !nonimmediate_operand (operands[1], E_HImode)
   22774              :               || !
   22775              : #line 9082 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22776              : (TARGET_APX_NDD))
   22777              :             return -1;
   22778              :           return 491; /* *addhi3_carry_zextdi_0 */
   22779              : 
   22780              :         case 5:
   22781              :           if (!ix86_carry_flag_operator (operands[2], E_SImode)
   22782              :               || !nonimmediate_operand (operands[1], E_SImode)
   22783              :               || !
   22784              : #line 9096 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22785              : (TARGET_64BIT))
   22786              :             return -1;
   22787              :           return 492; /* *addsi3_carry_zext_0 */
   22788              : 
   22789              :         default:
   22790              :           return -1;
   22791              :         }
   22792              : 
   22793              :     case GE:
   22794              :     case GEU:
   22795              :       switch (pattern1164 (x3))
   22796              :         {
   22797              :         case 0:
   22798              :           if (!ix86_carry_flag_unset_operator (operands[2], E_QImode)
   22799              :               || !nonimmediate_operand (operands[1], E_QImode)
   22800              :               || !
   22801              : #line 9113 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22802              : (TARGET_APX_NDD))
   22803              :             return -1;
   22804              :           return 493; /* *addqi3_carry_zexthi_0r */
   22805              : 
   22806              :         case 1:
   22807              :           if (!ix86_carry_flag_unset_operator (operands[2], E_QImode)
   22808              :               || !nonimmediate_operand (operands[1], E_QImode)
   22809              :               || !
   22810              : #line 9113 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22811              : (TARGET_APX_NDD))
   22812              :             return -1;
   22813              :           return 494; /* *addqi3_carry_zextsi_0r */
   22814              : 
   22815              :         case 2:
   22816              :           if (!ix86_carry_flag_unset_operator (operands[2], E_HImode)
   22817              :               || !nonimmediate_operand (operands[1], E_HImode)
   22818              :               || !
   22819              : #line 9127 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22820              : (TARGET_APX_NDD))
   22821              :             return -1;
   22822              :           return 496; /* *addhi3_carry_zextsi_0r */
   22823              : 
   22824              :         case 3:
   22825              :           if (!ix86_carry_flag_unset_operator (operands[2], E_QImode)
   22826              :               || !nonimmediate_operand (operands[1], E_QImode)
   22827              :               || !
   22828              : #line 9113 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22829              : (TARGET_APX_NDD))
   22830              :             return -1;
   22831              :           return 495; /* *addqi3_carry_zextdi_0r */
   22832              : 
   22833              :         case 4:
   22834              :           if (!ix86_carry_flag_unset_operator (operands[2], E_HImode)
   22835              :               || !nonimmediate_operand (operands[1], E_HImode)
   22836              :               || !
   22837              : #line 9127 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22838              : (TARGET_APX_NDD))
   22839              :             return -1;
   22840              :           return 497; /* *addhi3_carry_zextdi_0r */
   22841              : 
   22842              :         case 5:
   22843              :           if (!ix86_carry_flag_unset_operator (operands[2], E_SImode)
   22844              :               || !nonimmediate_operand (operands[1], E_SImode)
   22845              :               || !
   22846              : #line 9141 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22847              : (TARGET_64BIT))
   22848              :             return -1;
   22849              :           return 498; /* *addsi3_carry_zext_0r */
   22850              : 
   22851              :         default:
   22852              :           return -1;
   22853              :         }
   22854              : 
   22855              :     case UNSPEC:
   22856              :       if (pattern1165 (x5) != 0
   22857              :           || !register_operand (operands[0], E_DImode)
   22858              :           || GET_MODE (x3) != E_DImode
   22859              :           || GET_MODE (x4) != E_SImode)
   22860              :         return -1;
   22861              :       x6 = XEXP (x4, 1);
   22862              :       operands[1] = x6;
   22863              :       if (!register_operand (operands[1], E_SImode)
   22864              :           || !
   22865              : #line 23613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22866              : (TARGET_X32))
   22867              :         return -1;
   22868              :       return 1697; /* *add_tp_x32_zext */
   22869              : 
   22870              :     default:
   22871              :       return -1;
   22872              :     }
   22873              : }
   22874              : 
   22875              :  int
   22876              : recog_388 (rtx x1 ATTRIBUTE_UNUSED,
   22877              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   22878              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   22879              : {
   22880              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   22881              :   rtx x2, x3, x4, x5, x6, x7, x8;
   22882              :   int res ATTRIBUTE_UNUSED;
   22883              :   x2 = XVECEXP (x1, 0, 0);
   22884              :   x3 = XEXP (x2, 1);
   22885              :   x4 = XEXP (x3, 1);
   22886              :   if (XWINT (x4, 0) != 0L)
   22887              :     return -1;
   22888              :   x5 = XVECEXP (x1, 0, 1);
   22889              :   switch (GET_CODE (x5))
   22890              :     {
   22891              :     case SET:
   22892              :       x6 = XEXP (x5, 0);
   22893              :       operands[0] = x6;
   22894              :       x7 = XEXP (x5, 1);
   22895              :       switch (GET_CODE (x7))
   22896              :         {
   22897              :         case PLUS:
   22898              :           switch (pattern1498 (x1))
   22899              :             {
   22900              :             case 0:
   22901              :               if (!
   22902              : #line 7173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22903              : (ix86_match_ccmode (insn, CCGOCmode)
   22904              :    && ix86_binary_operator_ok (PLUS, QImode, operands, TARGET_APX_NDD)))
   22905              :                 return -1;
   22906              :               return 313; /* *addqi_2 */
   22907              : 
   22908              :             case 1:
   22909              :               if (!
   22910              : #line 7173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22911              : (ix86_match_ccmode (insn, CCGOCmode)
   22912              :    && ix86_binary_operator_ok (PLUS, HImode, operands, TARGET_APX_NDD)))
   22913              :                 return -1;
   22914              :               return 314; /* *addhi_2 */
   22915              : 
   22916              :             case 2:
   22917              :               if (!
   22918              : #line 7173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22919              : (ix86_match_ccmode (insn, CCGOCmode)
   22920              :    && ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)))
   22921              :                 return -1;
   22922              :               return 315; /* *addsi_2 */
   22923              : 
   22924              :             case 3:
   22925              :               if (!(
   22926              : #line 7173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22927              : (ix86_match_ccmode (insn, CCGOCmode)
   22928              :    && ix86_binary_operator_ok (PLUS, DImode, operands, TARGET_APX_NDD)) && 
   22929              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22930              : (TARGET_64BIT)))
   22931              :                 return -1;
   22932              :               return 316; /* *adddi_2 */
   22933              : 
   22934              :             default:
   22935              :               return -1;
   22936              :             }
   22937              : 
   22938              :         case ZERO_EXTEND:
   22939              :           if (pattern1436 (x1, 
   22940              : PLUS) != 0
   22941              :               || !
   22942              : #line 7223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22943              : (TARGET_64BIT && ix86_match_ccmode (insn, CCGOCmode)
   22944              :    && ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)))
   22945              :             return -1;
   22946              :           return 317; /* *addsi_2_zext */
   22947              : 
   22948              :         default:
   22949              :           return -1;
   22950              :         }
   22951              : 
   22952              :     case CLOBBER:
   22953              :       x6 = XEXP (x5, 0);
   22954              :       operands[0] = x6;
   22955              :       x8 = XEXP (x3, 0);
   22956              :       switch (pattern1329 (x8))
   22957              :         {
   22958              :         case 0:
   22959              :           if (!
   22960              : #line 7455 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22961              : (ix86_match_ccmode (insn, CCGOCmode)
   22962              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   22963              :             return -1;
   22964              :           return 327; /* *addqi_5 */
   22965              : 
   22966              :         case 1:
   22967              :           if (!
   22968              : #line 7455 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22969              : (ix86_match_ccmode (insn, CCGOCmode)
   22970              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   22971              :             return -1;
   22972              :           return 328; /* *addhi_5 */
   22973              : 
   22974              :         case 2:
   22975              :           if (!
   22976              : #line 7455 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22977              : (ix86_match_ccmode (insn, CCGOCmode)
   22978              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   22979              :             return -1;
   22980              :           return 329; /* *addsi_5 */
   22981              : 
   22982              :         case 3:
   22983              :           if (!(
   22984              : #line 7455 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22985              : (ix86_match_ccmode (insn, CCGOCmode)
   22986              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
   22987              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22988              : (TARGET_64BIT)))
   22989              :             return -1;
   22990              :           return 330; /* *adddi_5 */
   22991              : 
   22992              :         default:
   22993              :           return -1;
   22994              :         }
   22995              : 
   22996              :     default:
   22997              :       return -1;
   22998              :     }
   22999              : }
   23000              : 
   23001              :  int
   23002              : recog_392 (rtx x1 ATTRIBUTE_UNUSED,
   23003              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   23004              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   23005              : {
   23006              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   23007              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   23008              :   rtx x10, x11;
   23009              :   int res ATTRIBUTE_UNUSED;
   23010              :   x2 = XVECEXP (x1, 0, 0);
   23011              :   x3 = XEXP (x2, 0);
   23012              :   if (GET_CODE (x3) != REG
   23013              :       || REGNO (x3) != 17)
   23014              :     return -1;
   23015              :   x4 = XVECEXP (x1, 0, 1);
   23016              :   if (GET_CODE (x4) != SET)
   23017              :     return -1;
   23018              :   x5 = XEXP (x2, 1);
   23019              :   x6 = XEXP (x5, 0);
   23020              :   x7 = XEXP (x6, 1);
   23021              :   operands[2] = x7;
   23022              :   x8 = XEXP (x4, 0);
   23023              :   operands[0] = x8;
   23024              :   x9 = XEXP (x4, 1);
   23025              :   switch (GET_CODE (x9))
   23026              :     {
   23027              :     case AND:
   23028              :       x10 = XEXP (x9, 0);
   23029              :       if (!rtx_equal_p (x10, operands[1]))
   23030              :         return -1;
   23031              :       x11 = XEXP (x9, 1);
   23032              :       if (!rtx_equal_p (x11, operands[2]))
   23033              :         return -1;
   23034              :       switch (GET_MODE (x6))
   23035              :         {
   23036              :         case E_DImode:
   23037              :           if (!nonimmediate_operand (operands[1], E_DImode)
   23038              :               || !x86_64_szext_general_operand (operands[2], E_DImode)
   23039              :               || !nonimmediate_operand (operands[0], E_DImode)
   23040              :               || GET_MODE (x9) != E_DImode
   23041              :               || !
   23042              : #line 13244 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23043              : (TARGET_64BIT
   23044              :    && ix86_match_ccmode
   23045              :         (insn,
   23046              :          /* If we are going to emit andl instead of andq, and the operands[2]
   23047              :             constant might have the SImode sign bit set, make sure the sign
   23048              :             flag isn't tested, because the instruction will set the sign flag
   23049              :             based on bit 31 rather than bit 63.  If it isn't CONST_INT,
   23050              :             conservatively assume it might have bit 31 set.  */
   23051              :          (satisfies_constraint_Z (operands[2])
   23052              :           && (!CONST_INT_P (operands[2])
   23053              :               || val_signbit_known_set_p (SImode, INTVAL (operands[2]))))
   23054              :          ? CCZmode : CCNOmode)
   23055              :    && ix86_binary_operator_ok (AND, DImode, operands, TARGET_APX_NDD)))
   23056              :             return -1;
   23057              :           return 777; /* *anddi_2 */
   23058              : 
   23059              :         case E_QImode:
   23060              :           if (pattern1438 (x9, 
   23061              : E_QImode) != 0)
   23062              :             return -1;
   23063              :           if (
   23064              : #line 13295 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23065              : (ix86_binary_operator_ok (AND, QImode, operands, TARGET_APX_NDD)
   23066              :    && ix86_match_ccmode (insn,
   23067              :                          CONST_INT_P (operands[2])
   23068              :                          && INTVAL (operands[2]) >= 0 ? CCNOmode : CCZmode)))
   23069              :             return 779; /* *andqi_2_maybe_si */
   23070              :           if (!
   23071              : #line 13337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23072              : (ix86_match_ccmode (insn, CCNOmode)
   23073              :    && ix86_binary_operator_ok (AND, QImode, operands, TARGET_APX_NDD)))
   23074              :             return -1;
   23075              :           return 780; /* *andqi_2 */
   23076              : 
   23077              :         case E_HImode:
   23078              :           if (pattern1438 (x9, 
   23079              : E_HImode) != 0
   23080              :               || !
   23081              : #line 13337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23082              : (ix86_match_ccmode (insn, CCNOmode)
   23083              :    && ix86_binary_operator_ok (AND, HImode, operands, TARGET_APX_NDD)))
   23084              :             return -1;
   23085              :           return 781; /* *andhi_2 */
   23086              : 
   23087              :         case E_SImode:
   23088              :           if (pattern1439 (x9, 
   23089              : E_SImode) != 0
   23090              :               || !
   23091              : #line 13337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23092              : (ix86_match_ccmode (insn, CCNOmode)
   23093              :    && ix86_binary_operator_ok (AND, SImode, operands, TARGET_APX_NDD)))
   23094              :             return -1;
   23095              :           return 782; /* *andsi_2 */
   23096              : 
   23097              :         default:
   23098              :           return -1;
   23099              :         }
   23100              : 
   23101              :     case ZERO_EXTEND:
   23102              :       if (pattern1436 (x1, 
   23103              : AND) != 0
   23104              :           || !
   23105              : #line 13277 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23106              : (TARGET_64BIT && ix86_match_ccmode (insn, CCNOmode)
   23107              :    && ix86_binary_operator_ok (AND, SImode, operands, TARGET_APX_NDD)))
   23108              :         return -1;
   23109              :       return 778; /* *andsi_2_zext */
   23110              : 
   23111              :     default:
   23112              :       return -1;
   23113              :     }
   23114              : }
   23115              : 
   23116              :  int
   23117              : recog_395 (rtx x1 ATTRIBUTE_UNUSED,
   23118              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   23119              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   23120              : {
   23121              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   23122              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   23123              :   rtx x10, x11, x12, x13, x14, x15, x16, x17;
   23124              :   rtx x18;
   23125              :   int res ATTRIBUTE_UNUSED;
   23126              :   if (pattern231 (x1) != 0)
   23127              :     return -1;
   23128              :   x2 = XVECEXP (x1, 0, 0);
   23129              :   x3 = XEXP (x2, 1);
   23130              :   x4 = XEXP (x3, 0);
   23131              :   x5 = XEXP (x4, 0);
   23132              :   switch (GET_CODE (x5))
   23133              :     {
   23134              :     case REG:
   23135              :     case SUBREG:
   23136              :     case MEM:
   23137              :       operands[1] = x5;
   23138              :       x6 = XEXP (x4, 1);
   23139              :       operands[2] = x6;
   23140              :       x7 = XVECEXP (x1, 0, 1);
   23141              :       x8 = XEXP (x7, 0);
   23142              :       operands[0] = x8;
   23143              :       switch (GET_CODE (operands[2]))
   23144              :         {
   23145              :         case CONST_INT:
   23146              :         case CONST_WIDE_INT:
   23147              :         case CONST_POLY_INT:
   23148              :         case CONST_FIXED:
   23149              :         case CONST_DOUBLE:
   23150              :         case CONST_VECTOR:
   23151              :         case CONST:
   23152              :         case REG:
   23153              :         case SUBREG:
   23154              :         case MEM:
   23155              :         case LABEL_REF:
   23156              :         case SYMBOL_REF:
   23157              :         case HIGH:
   23158              :           x9 = XEXP (x7, 1);
   23159              :           switch (GET_CODE (x9))
   23160              :             {
   23161              :             case MINUS:
   23162              :               switch (pattern1498 (x1))
   23163              :                 {
   23164              :                 case 0:
   23165              :                   if (!
   23166              : #line 8303 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23167              : (ix86_match_ccmode (insn, CCGOCmode)
   23168              :    && ix86_binary_operator_ok (MINUS, QImode, operands, TARGET_APX_NDD)))
   23169              :                     return -1;
   23170              :                   return 415; /* *subqi_2 */
   23171              : 
   23172              :                 case 1:
   23173              :                   if (!
   23174              : #line 8303 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23175              : (ix86_match_ccmode (insn, CCGOCmode)
   23176              :    && ix86_binary_operator_ok (MINUS, HImode, operands, TARGET_APX_NDD)))
   23177              :                     return -1;
   23178              :                   return 416; /* *subhi_2 */
   23179              : 
   23180              :                 case 2:
   23181              :                   if (!
   23182              : #line 8303 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23183              : (ix86_match_ccmode (insn, CCGOCmode)
   23184              :    && ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)))
   23185              :                     return -1;
   23186              :                   return 417; /* *subsi_2 */
   23187              : 
   23188              :                 case 3:
   23189              :                   if (!(
   23190              : #line 8303 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23191              : (ix86_match_ccmode (insn, CCGOCmode)
   23192              :    && ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)) && 
   23193              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23194              : (TARGET_64BIT)))
   23195              :                     return -1;
   23196              :                   return 418; /* *subdi_2 */
   23197              : 
   23198              :                 default:
   23199              :                   return -1;
   23200              :                 }
   23201              : 
   23202              :             case ZERO_EXTEND:
   23203              :               if (pattern1436 (x1, 
   23204              : MINUS) != 0
   23205              :                   || !
   23206              : #line 8324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23207              : (TARGET_64BIT && ix86_match_ccmode (insn, CCGOCmode)
   23208              :    && ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)))
   23209              :                 return -1;
   23210              :               return 419; /* *subsi_2_zext */
   23211              : 
   23212              :             default:
   23213              :               return -1;
   23214              :             }
   23215              : 
   23216              :         case LTU:
   23217              :         case UNLT:
   23218              :           x10 = XEXP (x6, 1);
   23219              :           if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   23220              :             return -1;
   23221              :           x9 = XEXP (x7, 1);
   23222              :           if (GET_CODE (x9) != MINUS)
   23223              :             return -1;
   23224              :           x11 = XEXP (x9, 1);
   23225              :           switch (GET_CODE (x11))
   23226              :             {
   23227              :             case LTU:
   23228              :             case UNLT:
   23229              :               switch (pattern1571 (x1))
   23230              :                 {
   23231              :                 case 0:
   23232              :                   if (pattern1774 (x9, 
   23233              : E_QImode) != 0
   23234              :                       || !
   23235              : #line 9625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23236              : (ix86_match_ccmode (insn, CCGOCmode)
   23237              :    && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1]))))
   23238              :                     return -1;
   23239              :                   return 515; /* *subqi3_carry_0_cc */
   23240              : 
   23241              :                 case 1:
   23242              :                   if (pattern1774 (x9, 
   23243              : E_HImode) != 0
   23244              :                       || !
   23245              : #line 9625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23246              : (ix86_match_ccmode (insn, CCGOCmode)
   23247              :    && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1]))))
   23248              :                     return -1;
   23249              :                   return 516; /* *subhi3_carry_0_cc */
   23250              : 
   23251              :                 case 2:
   23252              :                   if (pattern1774 (x9, 
   23253              : E_SImode) != 0
   23254              :                       || !
   23255              : #line 9625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23256              : (ix86_match_ccmode (insn, CCGOCmode)
   23257              :    && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1]))))
   23258              :                     return -1;
   23259              :                   return 517; /* *subsi3_carry_0_cc */
   23260              : 
   23261              :                 case 3:
   23262              :                   if (pattern1774 (x9, 
   23263              : E_DImode) != 0
   23264              :                       || !(
   23265              : #line 9625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23266              : (ix86_match_ccmode (insn, CCGOCmode)
   23267              :    && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1]))) && 
   23268              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23269              : (TARGET_64BIT)))
   23270              :                     return -1;
   23271              :                   return 518; /* *subdi3_carry_0_cc */
   23272              : 
   23273              :                 default:
   23274              :                   return -1;
   23275              :                 }
   23276              : 
   23277              :             default:
   23278              :               return -1;
   23279              :             }
   23280              : 
   23281              :         case GE:
   23282              :         case GEU:
   23283              :           x10 = XEXP (x6, 1);
   23284              :           if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   23285              :             return -1;
   23286              :           x9 = XEXP (x7, 1);
   23287              :           if (GET_CODE (x9) != MINUS)
   23288              :             return -1;
   23289              :           x11 = XEXP (x9, 1);
   23290              :           switch (GET_CODE (x11))
   23291              :             {
   23292              :             case GE:
   23293              :             case GEU:
   23294              :               switch (pattern1571 (x1))
   23295              :                 {
   23296              :                 case 0:
   23297              :                   if (pattern1775 (x9, 
   23298              : E_QImode) != 0
   23299              :                       || !
   23300              : #line 9659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23301              : (ix86_match_ccmode (insn, CCGOCmode)
   23302              :    && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1]))))
   23303              :                     return -1;
   23304              :                   return 523; /* *subqi3_carry_0r_cc */
   23305              : 
   23306              :                 case 1:
   23307              :                   if (pattern1775 (x9, 
   23308              : E_HImode) != 0
   23309              :                       || !
   23310              : #line 9659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23311              : (ix86_match_ccmode (insn, CCGOCmode)
   23312              :    && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1]))))
   23313              :                     return -1;
   23314              :                   return 524; /* *subhi3_carry_0r_cc */
   23315              : 
   23316              :                 case 2:
   23317              :                   if (pattern1775 (x9, 
   23318              : E_SImode) != 0
   23319              :                       || !
   23320              : #line 9659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23321              : (ix86_match_ccmode (insn, CCGOCmode)
   23322              :    && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1]))))
   23323              :                     return -1;
   23324              :                   return 525; /* *subsi3_carry_0r_cc */
   23325              : 
   23326              :                 case 3:
   23327              :                   if (pattern1775 (x9, 
   23328              : E_DImode) != 0
   23329              :                       || !(
   23330              : #line 9659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23331              : (ix86_match_ccmode (insn, CCGOCmode)
   23332              :    && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1]))) && 
   23333              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23334              : (TARGET_64BIT)))
   23335              :                     return -1;
   23336              :                   return 526; /* *subdi3_carry_0r_cc */
   23337              : 
   23338              :                 default:
   23339              :                   return -1;
   23340              :                 }
   23341              : 
   23342              :             default:
   23343              :               return -1;
   23344              :             }
   23345              : 
   23346              :         default:
   23347              :           return -1;
   23348              :         }
   23349              : 
   23350              :     case MINUS:
   23351              :       x12 = XEXP (x5, 1);
   23352              :       switch (GET_CODE (x12))
   23353              :         {
   23354              :         case LTU:
   23355              :         case UNLT:
   23356              :           operands[4] = x12;
   23357              :           x13 = XEXP (x12, 1);
   23358              :           if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   23359              :             return -1;
   23360              :           x7 = XVECEXP (x1, 0, 1);
   23361              :           x9 = XEXP (x7, 1);
   23362              :           if (GET_CODE (x9) != MINUS)
   23363              :             return -1;
   23364              :           x14 = XEXP (x9, 0);
   23365              :           if (GET_CODE (x14) != MINUS)
   23366              :             return -1;
   23367              :           x15 = XEXP (x14, 1);
   23368              :           switch (GET_CODE (x15))
   23369              :             {
   23370              :             case LTU:
   23371              :             case UNLT:
   23372              :               if (!rtx_equal_p (x15, operands[4]))
   23373              :                 return -1;
   23374              :               x16 = XEXP (x5, 0);
   23375              :               operands[1] = x16;
   23376              :               x17 = XEXP (x12, 0);
   23377              :               operands[3] = x17;
   23378              :               if (!flags_reg_operand (operands[3], E_VOIDmode))
   23379              :                 return -1;
   23380              :               x6 = XEXP (x4, 1);
   23381              :               operands[2] = x6;
   23382              :               x8 = XEXP (x7, 0);
   23383              :               operands[0] = x8;
   23384              :               x18 = XEXP (x14, 0);
   23385              :               if (!rtx_equal_p (x18, operands[1]))
   23386              :                 return -1;
   23387              :               x11 = XEXP (x9, 1);
   23388              :               if (!rtx_equal_p (x11, operands[2]))
   23389              :                 return -1;
   23390              :               switch (GET_MODE (x4))
   23391              :                 {
   23392              :                 case E_QImode:
   23393              :                   if (pattern1824 (x1, 
   23394              : E_QImode) != 0
   23395              :                       || !
   23396              : #line 9586 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23397              : (ix86_match_ccmode (insn, CCGOCmode)
   23398              :    && ix86_binary_operator_ok (MINUS, QImode, operands, TARGET_APX_NDD)))
   23399              :                     return -1;
   23400              :                   return 507; /* *subqi3_carry_2 */
   23401              : 
   23402              :                 case E_HImode:
   23403              :                   if (pattern1824 (x1, 
   23404              : E_HImode) != 0
   23405              :                       || !
   23406              : #line 9586 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23407              : (ix86_match_ccmode (insn, CCGOCmode)
   23408              :    && ix86_binary_operator_ok (MINUS, HImode, operands, TARGET_APX_NDD)))
   23409              :                     return -1;
   23410              :                   return 508; /* *subhi3_carry_2 */
   23411              : 
   23412              :                 case E_SImode:
   23413              :                   if (pattern1825 (x1, 
   23414              : E_SImode) != 0
   23415              :                       || !
   23416              : #line 9586 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23417              : (ix86_match_ccmode (insn, CCGOCmode)
   23418              :    && ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)))
   23419              :                     return -1;
   23420              :                   return 509; /* *subsi3_carry_2 */
   23421              : 
   23422              :                 case E_DImode:
   23423              :                   if (pattern1825 (x1, 
   23424              : E_DImode) != 0
   23425              :                       || !(
   23426              : #line 9586 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23427              : (ix86_match_ccmode (insn, CCGOCmode)
   23428              :    && ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)) && 
   23429              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23430              : (TARGET_64BIT)))
   23431              :                     return -1;
   23432              :                   return 510; /* *subdi3_carry_2 */
   23433              : 
   23434              :                 default:
   23435              :                   return -1;
   23436              :                 }
   23437              : 
   23438              :             default:
   23439              :               return -1;
   23440              :             }
   23441              : 
   23442              :         default:
   23443              :           return -1;
   23444              :         }
   23445              : 
   23446              :     case UNSPEC_VOLATILE:
   23447              :       if (XVECLEN (x5, 0) != 2
   23448              :           || XINT (x5, 1) != 110)
   23449              :         return -1;
   23450              :       switch (pattern1246 (x1, 
   23451              : MINUS))
   23452              :         {
   23453              :         case 0:
   23454              :           return 11133; /* atomic_sub_fetch_cmp_0qi_1 */
   23455              : 
   23456              :         case 1:
   23457              :           return 11134; /* atomic_sub_fetch_cmp_0hi_1 */
   23458              : 
   23459              :         case 2:
   23460              :           return 11135; /* atomic_sub_fetch_cmp_0si_1 */
   23461              : 
   23462              :         case 3:
   23463              :           if (!
   23464              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23465              : (TARGET_64BIT))
   23466              :             return -1;
   23467              :           return 11136; /* atomic_sub_fetch_cmp_0di_1 */
   23468              : 
   23469              :         default:
   23470              :           return -1;
   23471              :         }
   23472              : 
   23473              :     default:
   23474              :       return -1;
   23475              :     }
   23476              : }
   23477              : 
   23478              :  int
   23479              : recog_400 (rtx x1 ATTRIBUTE_UNUSED,
   23480              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   23481              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   23482              : {
   23483              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   23484              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   23485              :   rtx x10, x11, x12, x13, x14, x15, x16, x17;
   23486              :   rtx x18, x19, x20, x21, x22, x23, x24, x25;
   23487              :   rtx x26, x27, x28, x29, x30;
   23488              :   int res ATTRIBUTE_UNUSED;
   23489              :   x2 = XVECEXP (x1, 0, 0);
   23490              :   x3 = XEXP (x2, 1);
   23491              :   x4 = XEXP (x3, 0);
   23492              :   switch (GET_CODE (x4))
   23493              :     {
   23494              :     case PLUS:
   23495              :       if (pattern696 (x1, 
   23496              : PLUS) != 0)
   23497              :         return -1;
   23498              :       x5 = XEXP (x4, 0);
   23499              :       switch (GET_CODE (x5))
   23500              :         {
   23501              :         case SIGN_EXTEND:
   23502              :           switch (pattern1574 (x1))
   23503              :             {
   23504              :             case 0:
   23505              :               if (!
   23506              : #line 7693 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23507              : (ix86_binary_operator_ok (PLUS, QImode, operands, TARGET_APX_NDD)))
   23508              :                 return -1;
   23509              :               return 346; /* *addvqi4 */
   23510              : 
   23511              :             case 1:
   23512              :               if (!
   23513              : #line 7693 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23514              : (ix86_binary_operator_ok (PLUS, HImode, operands, TARGET_APX_NDD)))
   23515              :                 return -1;
   23516              :               return 347; /* *addvhi4 */
   23517              : 
   23518              :             case 2:
   23519              :               if (!
   23520              : #line 7693 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23521              : (ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)))
   23522              :                 return -1;
   23523              :               return 348; /* *addvsi4 */
   23524              : 
   23525              :             case 3:
   23526              :               if (x86_64_sext_operand (operands[2], E_DImode)
   23527              :                   && (
   23528              : #line 7693 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23529              : (ix86_binary_operator_ok (PLUS, DImode, operands, TARGET_APX_NDD)) && 
   23530              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23531              : (TARGET_64BIT)))
   23532              :                 return 349; /* *addvdi4 */
   23533              :               if (!nonimmediate_operand (operands[2], E_DImode)
   23534              :                   || !(
   23535              : #line 7746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23536              : (ix86_binary_operator_ok (PLUS, DImode, operands, TARGET_APX_NDD)) && 
   23537              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23538              : (!TARGET_64BIT)))
   23539              :                 return -1;
   23540              :               return 354; /* *addvdi4_doubleword */
   23541              : 
   23542              :             case 4:
   23543              :               if (!(
   23544              : #line 7746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23545              : (ix86_binary_operator_ok (PLUS, TImode, operands, TARGET_APX_NDD)) && 
   23546              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23547              : (TARGET_64BIT)))
   23548              :                 return -1;
   23549              :               return 355; /* *addvti4_doubleword */
   23550              : 
   23551              :             case 5:
   23552              :               if (!
   23553              : #line 7715 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23554              : (ix86_binary_operator_ok (PLUS, QImode, operands, TARGET_APX_NDD)
   23555              :    && CONST_INT_P (operands[2])
   23556              :    && INTVAL (operands[2]) == INTVAL (operands[3])))
   23557              :                 return -1;
   23558              :               return 350; /* addvqi4_1 */
   23559              : 
   23560              :             case 6:
   23561              :               if (!
   23562              : #line 7715 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23563              : (ix86_binary_operator_ok (PLUS, HImode, operands, TARGET_APX_NDD)
   23564              :    && CONST_INT_P (operands[2])
   23565              :    && INTVAL (operands[2]) == INTVAL (operands[3])))
   23566              :                 return -1;
   23567              :               return 351; /* addvhi4_1 */
   23568              : 
   23569              :             case 7:
   23570              :               if (!
   23571              : #line 7715 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23572              : (ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)
   23573              :    && CONST_INT_P (operands[2])
   23574              :    && INTVAL (operands[2]) == INTVAL (operands[3])))
   23575              :                 return -1;
   23576              :               return 352; /* addvsi4_1 */
   23577              : 
   23578              :             case 8:
   23579              :               if (const_int_operand (operands[3], E_TImode)
   23580              :                   && x86_64_immediate_operand (operands[2], E_DImode)
   23581              :                   && (
   23582              : #line 7715 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23583              : (ix86_binary_operator_ok (PLUS, DImode, operands, TARGET_APX_NDD)
   23584              :    && CONST_INT_P (operands[2])
   23585              :    && INTVAL (operands[2]) == INTVAL (operands[3])) && 
   23586              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23587              : (TARGET_64BIT)))
   23588              :                 return 353; /* addvdi4_1 */
   23589              :               if (!const_scalar_int_operand (operands[3], E_TImode)
   23590              :                   || !x86_64_hilo_general_operand (operands[2], E_DImode)
   23591              :                   || !(
   23592              : #line 7792 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23593              : (ix86_binary_operator_ok (PLUS, DImode, operands, TARGET_APX_NDD)
   23594              :    && CONST_SCALAR_INT_P (operands[2])
   23595              :    && rtx_equal_p (operands[2], operands[3])) && 
   23596              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23597              : (!TARGET_64BIT)))
   23598              :                 return -1;
   23599              :               return 356; /* *addvdi4_doubleword_1 */
   23600              : 
   23601              :             case 9:
   23602              :               if (!(
   23603              : #line 7792 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23604              : (ix86_binary_operator_ok (PLUS, TImode, operands, TARGET_APX_NDD)
   23605              :    && CONST_SCALAR_INT_P (operands[2])
   23606              :    && rtx_equal_p (operands[2], operands[3])) && 
   23607              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23608              : (TARGET_64BIT)))
   23609              :                 return -1;
   23610              :               return 357; /* *addvti4_doubleword_1 */
   23611              : 
   23612              :             default:
   23613              :               return -1;
   23614              :             }
   23615              : 
   23616              :         case PLUS:
   23617              :           x6 = XEXP (x5, 0);
   23618              :           switch (GET_CODE (x6))
   23619              :             {
   23620              :             case LTU:
   23621              :             case UNLT:
   23622              :               operands[4] = x6;
   23623              :               x7 = XEXP (x6, 1);
   23624              :               if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   23625              :                 return -1;
   23626              :               x8 = XEXP (x5, 1);
   23627              :               if (GET_CODE (x8) != SIGN_EXTEND)
   23628              :                 return -1;
   23629              :               x9 = XEXP (x3, 1);
   23630              :               x10 = XEXP (x9, 0);
   23631              :               x11 = XEXP (x10, 0);
   23632              :               if (GET_CODE (x11) != PLUS)
   23633              :                 return -1;
   23634              :               x12 = XEXP (x11, 0);
   23635              :               switch (GET_CODE (x12))
   23636              :                 {
   23637              :                 case LTU:
   23638              :                 case UNLT:
   23639              :                   operands[5] = x12;
   23640              :                   x13 = XEXP (x12, 1);
   23641              :                   if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   23642              :                     return -1;
   23643              :                   x14 = XVECEXP (x1, 0, 1);
   23644              :                   x15 = XEXP (x14, 1);
   23645              :                   x16 = XEXP (x15, 0);
   23646              :                   if (GET_CODE (x16) != PLUS)
   23647              :                     return -1;
   23648              :                   x17 = XEXP (x16, 0);
   23649              :                   switch (GET_CODE (x17))
   23650              :                     {
   23651              :                     case LTU:
   23652              :                     case UNLT:
   23653              :                       if (!rtx_equal_p (x17, operands[5]))
   23654              :                         return -1;
   23655              :                       x18 = XEXP (x6, 0);
   23656              :                       operands[3] = x18;
   23657              :                       if (!flags_reg_operand (operands[3], E_VOIDmode))
   23658              :                         return -1;
   23659              :                       x19 = XEXP (x8, 0);
   23660              :                       operands[1] = x19;
   23661              :                       x20 = XEXP (x12, 0);
   23662              :                       if (!rtx_equal_p (x20, operands[3]))
   23663              :                         return -1;
   23664              :                       x21 = XEXP (x11, 1);
   23665              :                       if (!rtx_equal_p (x21, operands[1]))
   23666              :                         return -1;
   23667              :                       x22 = XEXP (x16, 1);
   23668              :                       if (!rtx_equal_p (x22, operands[1]))
   23669              :                         return -1;
   23670              :                       switch (pattern1886 (x1))
   23671              :                         {
   23672              :                         case 0:
   23673              :                           if (pattern1902 (x1, 
   23674              : E_QImode, 
   23675              : E_HImode) != 0
   23676              :                               || !
   23677              : #line 7859 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23678              : (ix86_binary_operator_ok (PLUS, QImode, operands, TARGET_APX_NDD)))
   23679              :                             return -1;
   23680              :                           return 358; /* *addvqi4_overflow_1 */
   23681              : 
   23682              :                         case 1:
   23683              :                           if (pattern1902 (x1, 
   23684              : E_HImode, 
   23685              : E_SImode) != 0
   23686              :                               || !
   23687              : #line 7859 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23688              : (ix86_binary_operator_ok (PLUS, HImode, operands, TARGET_APX_NDD)))
   23689              :                             return -1;
   23690              :                           return 359; /* *addvhi4_overflow_1 */
   23691              : 
   23692              :                         case 2:
   23693              :                           if (pattern1903 (x1, 
   23694              : E_SImode, 
   23695              : E_DImode) != 0
   23696              :                               || !
   23697              : #line 7859 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23698              : (ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)))
   23699              :                             return -1;
   23700              :                           return 360; /* *addvsi4_overflow_1 */
   23701              : 
   23702              :                         case 3:
   23703              :                           if (pattern1903 (x1, 
   23704              : E_DImode, 
   23705              : E_TImode) != 0
   23706              :                               || !(
   23707              : #line 7859 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23708              : (ix86_binary_operator_ok (PLUS, DImode, operands, TARGET_APX_NDD)) && 
   23709              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23710              : (TARGET_64BIT)))
   23711              :                             return -1;
   23712              :                           return 361; /* *addvdi4_overflow_1 */
   23713              : 
   23714              :                         case 4:
   23715              :                           if (pattern1905 (x1, 
   23716              : E_QImode, 
   23717              : E_HImode) != 0
   23718              :                               || !
   23719              : #line 7892 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23720              : (ix86_binary_operator_ok (PLUS, QImode, operands, TARGET_APX_NDD)
   23721              :    && CONST_INT_P (operands[2])
   23722              :    && INTVAL (operands[2]) == INTVAL (operands[6])))
   23723              :                             return -1;
   23724              :                           return 362; /* *addvqi4_overflow_2 */
   23725              : 
   23726              :                         case 5:
   23727              :                           if (pattern1905 (x1, 
   23728              : E_HImode, 
   23729              : E_SImode) != 0
   23730              :                               || !
   23731              : #line 7892 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23732              : (ix86_binary_operator_ok (PLUS, HImode, operands, TARGET_APX_NDD)
   23733              :    && CONST_INT_P (operands[2])
   23734              :    && INTVAL (operands[2]) == INTVAL (operands[6])))
   23735              :                             return -1;
   23736              :                           return 363; /* *addvhi4_overflow_2 */
   23737              : 
   23738              :                         case 6:
   23739              :                           if (pattern1905 (x1, 
   23740              : E_SImode, 
   23741              : E_DImode) != 0
   23742              :                               || !
   23743              : #line 7892 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23744              : (ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)
   23745              :    && CONST_INT_P (operands[2])
   23746              :    && INTVAL (operands[2]) == INTVAL (operands[6])))
   23747              :                             return -1;
   23748              :                           return 364; /* *addvsi4_overflow_2 */
   23749              : 
   23750              :                         case 7:
   23751              :                           if (pattern1905 (x1, 
   23752              : E_DImode, 
   23753              : E_TImode) != 0
   23754              :                               || !(
   23755              : #line 7892 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23756              : (ix86_binary_operator_ok (PLUS, DImode, operands, TARGET_APX_NDD)
   23757              :    && CONST_INT_P (operands[2])
   23758              :    && INTVAL (operands[2]) == INTVAL (operands[6])) && 
   23759              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23760              : (TARGET_64BIT)))
   23761              :                             return -1;
   23762              :                           return 365; /* *addvdi4_overflow_2 */
   23763              : 
   23764              :                         default:
   23765              :                           return -1;
   23766              :                         }
   23767              : 
   23768              :                     default:
   23769              :                       return -1;
   23770              :                     }
   23771              : 
   23772              :                 default:
   23773              :                   return -1;
   23774              :                 }
   23775              : 
   23776              :             default:
   23777              :               return -1;
   23778              :             }
   23779              : 
   23780              :         default:
   23781              :           return -1;
   23782              :         }
   23783              : 
   23784              :     case MINUS:
   23785              :       if (pattern696 (x1, 
   23786              : MINUS) != 0)
   23787              :         return -1;
   23788              :       x5 = XEXP (x4, 0);
   23789              :       switch (GET_CODE (x5))
   23790              :         {
   23791              :         case SIGN_EXTEND:
   23792              :           switch (pattern1574 (x1))
   23793              :             {
   23794              :             case 0:
   23795              :               if (!
   23796              : #line 8454 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23797              : (ix86_binary_operator_ok (MINUS, QImode, operands, TARGET_APX_NDD)))
   23798              :                 return -1;
   23799              :               return 429; /* *subvqi4 */
   23800              : 
   23801              :             case 1:
   23802              :               if (!
   23803              : #line 8454 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23804              : (ix86_binary_operator_ok (MINUS, HImode, operands, TARGET_APX_NDD)))
   23805              :                 return -1;
   23806              :               return 430; /* *subvhi4 */
   23807              : 
   23808              :             case 2:
   23809              :               if (!
   23810              : #line 8454 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23811              : (ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)))
   23812              :                 return -1;
   23813              :               return 431; /* *subvsi4 */
   23814              : 
   23815              :             case 3:
   23816              :               if (x86_64_sext_operand (operands[2], E_DImode)
   23817              :                   && (
   23818              : #line 8454 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23819              : (ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)) && 
   23820              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23821              : (TARGET_64BIT)))
   23822              :                 return 432; /* *subvdi4 */
   23823              :               if (!nonimmediate_operand (operands[2], E_DImode)
   23824              :                   || !(
   23825              : #line 8504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23826              : (ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)) && 
   23827              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23828              : (!TARGET_64BIT)))
   23829              :                 return -1;
   23830              :               return 437; /* *subvdi4_doubleword */
   23831              : 
   23832              :             case 4:
   23833              :               if (!(
   23834              : #line 8504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23835              : (ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)) && 
   23836              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23837              : (TARGET_64BIT)))
   23838              :                 return -1;
   23839              :               return 438; /* *subvti4_doubleword */
   23840              : 
   23841              :             case 5:
   23842              :               if (!
   23843              : #line 8476 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23844              : (ix86_binary_operator_ok (MINUS, QImode, operands, TARGET_APX_NDD)
   23845              :    && CONST_INT_P (operands[2])
   23846              :    && INTVAL (operands[2]) == INTVAL (operands[3])))
   23847              :                 return -1;
   23848              :               return 433; /* subvqi4_1 */
   23849              : 
   23850              :             case 6:
   23851              :               if (!
   23852              : #line 8476 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23853              : (ix86_binary_operator_ok (MINUS, HImode, operands, TARGET_APX_NDD)
   23854              :    && CONST_INT_P (operands[2])
   23855              :    && INTVAL (operands[2]) == INTVAL (operands[3])))
   23856              :                 return -1;
   23857              :               return 434; /* subvhi4_1 */
   23858              : 
   23859              :             case 7:
   23860              :               if (!
   23861              : #line 8476 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23862              : (ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)
   23863              :    && CONST_INT_P (operands[2])
   23864              :    && INTVAL (operands[2]) == INTVAL (operands[3])))
   23865              :                 return -1;
   23866              :               return 435; /* subvsi4_1 */
   23867              : 
   23868              :             case 8:
   23869              :               if (const_int_operand (operands[3], E_TImode)
   23870              :                   && x86_64_immediate_operand (operands[2], E_DImode)
   23871              :                   && (
   23872              : #line 8476 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23873              : (ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)
   23874              :    && CONST_INT_P (operands[2])
   23875              :    && INTVAL (operands[2]) == INTVAL (operands[3])) && 
   23876              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23877              : (TARGET_64BIT)))
   23878              :                 return 436; /* subvdi4_1 */
   23879              :               if (!const_scalar_int_operand (operands[3], E_TImode)
   23880              :                   || !x86_64_hilo_general_operand (operands[2], E_DImode)
   23881              :                   || !(
   23882              : #line 8548 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23883              : (ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)
   23884              :    && CONST_SCALAR_INT_P (operands[2])
   23885              :    && rtx_equal_p (operands[2], operands[3])) && 
   23886              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23887              : (!TARGET_64BIT)))
   23888              :                 return -1;
   23889              :               return 439; /* *subvdi4_doubleword_1 */
   23890              : 
   23891              :             case 9:
   23892              :               if (!(
   23893              : #line 8548 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23894              : (ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)
   23895              :    && CONST_SCALAR_INT_P (operands[2])
   23896              :    && rtx_equal_p (operands[2], operands[3])) && 
   23897              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23898              : (TARGET_64BIT)))
   23899              :                 return -1;
   23900              :               return 440; /* *subvti4_doubleword_1 */
   23901              : 
   23902              :             default:
   23903              :               return -1;
   23904              :             }
   23905              : 
   23906              :         case MINUS:
   23907              :           x6 = XEXP (x5, 0);
   23908              :           if (GET_CODE (x6) != SIGN_EXTEND)
   23909              :             return -1;
   23910              :           x8 = XEXP (x5, 1);
   23911              :           switch (GET_CODE (x8))
   23912              :             {
   23913              :             case LTU:
   23914              :             case UNLT:
   23915              :               operands[4] = x8;
   23916              :               x23 = XEXP (x8, 1);
   23917              :               if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   23918              :                 return -1;
   23919              :               x9 = XEXP (x3, 1);
   23920              :               x10 = XEXP (x9, 0);
   23921              :               x11 = XEXP (x10, 0);
   23922              :               if (GET_CODE (x11) != MINUS)
   23923              :                 return -1;
   23924              :               x21 = XEXP (x11, 1);
   23925              :               switch (GET_CODE (x21))
   23926              :                 {
   23927              :                 case LTU:
   23928              :                 case UNLT:
   23929              :                   operands[5] = x21;
   23930              :                   x24 = XEXP (x21, 1);
   23931              :                   if (x24 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   23932              :                     return -1;
   23933              :                   x14 = XVECEXP (x1, 0, 1);
   23934              :                   x15 = XEXP (x14, 1);
   23935              :                   x16 = XEXP (x15, 0);
   23936              :                   if (GET_CODE (x16) != MINUS)
   23937              :                     return -1;
   23938              :                   x22 = XEXP (x16, 1);
   23939              :                   switch (GET_CODE (x22))
   23940              :                     {
   23941              :                     case LTU:
   23942              :                     case UNLT:
   23943              :                       if (!rtx_equal_p (x22, operands[5]))
   23944              :                         return -1;
   23945              :                       x18 = XEXP (x6, 0);
   23946              :                       operands[1] = x18;
   23947              :                       x19 = XEXP (x8, 0);
   23948              :                       operands[3] = x19;
   23949              :                       if (!flags_reg_operand (operands[3], E_VOIDmode))
   23950              :                         return -1;
   23951              :                       x12 = XEXP (x11, 0);
   23952              :                       if (!rtx_equal_p (x12, operands[1]))
   23953              :                         return -1;
   23954              :                       x25 = XEXP (x21, 0);
   23955              :                       if (!rtx_equal_p (x25, operands[3]))
   23956              :                         return -1;
   23957              :                       x17 = XEXP (x16, 0);
   23958              :                       if (!rtx_equal_p (x17, operands[1]))
   23959              :                         return -1;
   23960              :                       switch (pattern1886 (x1))
   23961              :                         {
   23962              :                         case 0:
   23963              :                           if (pattern1907 (x1, 
   23964              : E_QImode, 
   23965              : E_HImode) != 0
   23966              :                               || !
   23967              : #line 8613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23968              : (ix86_binary_operator_ok (MINUS, QImode, operands, TARGET_APX_NDD)))
   23969              :                             return -1;
   23970              :                           return 441; /* *subvqi4_overflow_1 */
   23971              : 
   23972              :                         case 1:
   23973              :                           if (pattern1907 (x1, 
   23974              : E_HImode, 
   23975              : E_SImode) != 0
   23976              :                               || !
   23977              : #line 8613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23978              : (ix86_binary_operator_ok (MINUS, HImode, operands, TARGET_APX_NDD)))
   23979              :                             return -1;
   23980              :                           return 442; /* *subvhi4_overflow_1 */
   23981              : 
   23982              :                         case 2:
   23983              :                           if (pattern1908 (x1, 
   23984              : E_SImode, 
   23985              : E_DImode) != 0
   23986              :                               || !
   23987              : #line 8613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23988              : (ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)))
   23989              :                             return -1;
   23990              :                           return 443; /* *subvsi4_overflow_1 */
   23991              : 
   23992              :                         case 3:
   23993              :                           if (pattern1908 (x1, 
   23994              : E_DImode, 
   23995              : E_TImode) != 0
   23996              :                               || !(
   23997              : #line 8613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23998              : (ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)) && 
   23999              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24000              : (TARGET_64BIT)))
   24001              :                             return -1;
   24002              :                           return 444; /* *subvdi4_overflow_1 */
   24003              : 
   24004              :                         case 4:
   24005              :                           if (pattern1909 (x1, 
   24006              : E_QImode, 
   24007              : E_HImode) != 0
   24008              :                               || !
   24009              : #line 8646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24010              : (ix86_binary_operator_ok (MINUS, QImode, operands, TARGET_APX_NDD)
   24011              :    && CONST_INT_P (operands[2])
   24012              :    && INTVAL (operands[2]) == INTVAL (operands[6])))
   24013              :                             return -1;
   24014              :                           return 445; /* *subvqi4_overflow_2 */
   24015              : 
   24016              :                         case 5:
   24017              :                           if (pattern1909 (x1, 
   24018              : E_HImode, 
   24019              : E_SImode) != 0
   24020              :                               || !
   24021              : #line 8646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24022              : (ix86_binary_operator_ok (MINUS, HImode, operands, TARGET_APX_NDD)
   24023              :    && CONST_INT_P (operands[2])
   24024              :    && INTVAL (operands[2]) == INTVAL (operands[6])))
   24025              :                             return -1;
   24026              :                           return 446; /* *subvhi4_overflow_2 */
   24027              : 
   24028              :                         case 6:
   24029              :                           if (pattern1909 (x1, 
   24030              : E_SImode, 
   24031              : E_DImode) != 0
   24032              :                               || !
   24033              : #line 8646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24034              : (ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)
   24035              :    && CONST_INT_P (operands[2])
   24036              :    && INTVAL (operands[2]) == INTVAL (operands[6])))
   24037              :                             return -1;
   24038              :                           return 447; /* *subvsi4_overflow_2 */
   24039              : 
   24040              :                         case 7:
   24041              :                           if (pattern1909 (x1, 
   24042              : E_DImode, 
   24043              : E_TImode) != 0
   24044              :                               || !(
   24045              : #line 8646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24046              : (ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)
   24047              :    && CONST_INT_P (operands[2])
   24048              :    && INTVAL (operands[2]) == INTVAL (operands[6])) && 
   24049              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24050              : (TARGET_64BIT)))
   24051              :                             return -1;
   24052              :                           return 448; /* *subvdi4_overflow_2 */
   24053              : 
   24054              :                         default:
   24055              :                           return -1;
   24056              :                         }
   24057              : 
   24058              :                     default:
   24059              :                       return -1;
   24060              :                     }
   24061              : 
   24062              :                 default:
   24063              :                   return -1;
   24064              :                 }
   24065              : 
   24066              :             default:
   24067              :               return -1;
   24068              :             }
   24069              : 
   24070              :         default:
   24071              :           return -1;
   24072              :         }
   24073              : 
   24074              :     case MULT:
   24075              :       if (pattern695 (x1, 
   24076              : MULT) != 0)
   24077              :         return -1;
   24078              :       x5 = XEXP (x4, 0);
   24079              :       switch (GET_CODE (x5))
   24080              :         {
   24081              :         case SIGN_EXTEND:
   24082              :           x9 = XEXP (x3, 1);
   24083              :           if (GET_CODE (x9) != SIGN_EXTEND)
   24084              :             return -1;
   24085              :           x10 = XEXP (x9, 0);
   24086              :           if (GET_CODE (x10) != MULT)
   24087              :             return -1;
   24088              :           x6 = XEXP (x5, 0);
   24089              :           operands[1] = x6;
   24090              :           x11 = XEXP (x10, 0);
   24091              :           if (!rtx_equal_p (x11, operands[1]))
   24092              :             return -1;
   24093              :           x14 = XVECEXP (x1, 0, 1);
   24094              :           x15 = XEXP (x14, 1);
   24095              :           x16 = XEXP (x15, 0);
   24096              :           if (!rtx_equal_p (x16, operands[1]))
   24097              :             return -1;
   24098              :           x26 = XEXP (x4, 1);
   24099              :           switch (GET_CODE (x26))
   24100              :             {
   24101              :             case SIGN_EXTEND:
   24102              :               x27 = XEXP (x26, 0);
   24103              :               operands[2] = x27;
   24104              :               x28 = XEXP (x10, 1);
   24105              :               if (!rtx_equal_p (x28, operands[2]))
   24106              :                 return -1;
   24107              :               x29 = XEXP (x15, 1);
   24108              :               if (!rtx_equal_p (x29, operands[2]))
   24109              :                 return -1;
   24110              :               switch (GET_MODE (x4))
   24111              :                 {
   24112              :                 case E_DImode:
   24113              :                   if (pattern1827 (x1, 
   24114              : E_SImode, 
   24115              : E_DImode) != 0
   24116              :                       || !
   24117              : #line 11085 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24118              : (!(MEM_P (operands[1]) && MEM_P (operands[2]))))
   24119              :                     return -1;
   24120              :                   return 632; /* *mulvsi4 */
   24121              : 
   24122              :                 case E_TImode:
   24123              :                   if (pattern1827 (x1, 
   24124              : E_DImode, 
   24125              : E_TImode) != 0
   24126              :                       || !(
   24127              : #line 11085 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24128              : (!(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
   24129              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24130              : (TARGET_64BIT)))
   24131              :                     return -1;
   24132              :                   return 633; /* *mulvdi4 */
   24133              : 
   24134              :                 case E_SImode:
   24135              :                   if (pattern1828 (x1, 
   24136              : E_HImode, 
   24137              : E_SImode) != 0
   24138              :                       || !
   24139              : #line 11121 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24140              : (!(MEM_P (operands[1]) && MEM_P (operands[2]))))
   24141              :                     return -1;
   24142              :                   return 634; /* *mulvhi4 */
   24143              : 
   24144              :                 case E_HImode:
   24145              :                   if (pattern1828 (x1, 
   24146              : E_QImode, 
   24147              : E_HImode) != 0
   24148              :                       || !
   24149              : #line 11259 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24150              : (TARGET_QIMODE_MATH
   24151              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   24152              :                     return -1;
   24153              :                   return 641; /* *mulvqi4 */
   24154              : 
   24155              :                 default:
   24156              :                   return -1;
   24157              :                 }
   24158              : 
   24159              :             case CONST_INT:
   24160              :               operands[3] = x26;
   24161              :               x28 = XEXP (x10, 1);
   24162              :               operands[2] = x28;
   24163              :               x29 = XEXP (x15, 1);
   24164              :               if (!rtx_equal_p (x29, operands[2]))
   24165              :                 return -1;
   24166              :               switch (GET_MODE (x4))
   24167              :                 {
   24168              :                 case E_SImode:
   24169              :                   if (GET_MODE (x5) != E_SImode
   24170              :                       || !nonimmediate_operand (operands[1], E_HImode)
   24171              :                       || !const_int_operand (operands[3], E_SImode)
   24172              :                       || GET_MODE (x9) != E_SImode
   24173              :                       || GET_MODE (x10) != E_HImode
   24174              :                       || !immediate_operand (operands[2], E_HImode)
   24175              :                       || !register_operand (operands[0], E_HImode)
   24176              :                       || GET_MODE (x15) != E_HImode
   24177              :                       || !
   24178              : #line 11145 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24179              : (!(MEM_P (operands[1]) && MEM_P (operands[2]))
   24180              :    && CONST_INT_P (operands[2])
   24181              :    && INTVAL (operands[2]) == INTVAL (operands[3])))
   24182              :                     return -1;
   24183              :                   return 635; /* *mulvhi4_1 */
   24184              : 
   24185              :                 case E_DImode:
   24186              :                   if (pattern1829 (x1, 
   24187              : E_SImode, 
   24188              : E_DImode) != 0
   24189              :                       || !
   24190              : #line 11145 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24191              : (!(MEM_P (operands[1]) && MEM_P (operands[2]))
   24192              :    && CONST_INT_P (operands[2])
   24193              :    && INTVAL (operands[2]) == INTVAL (operands[3])))
   24194              :                     return -1;
   24195              :                   return 636; /* *mulvsi4_1 */
   24196              : 
   24197              :                 case E_TImode:
   24198              :                   if (pattern1829 (x1, 
   24199              : E_DImode, 
   24200              : E_TImode) != 0
   24201              :                       || !(
   24202              : #line 11145 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24203              : (!(MEM_P (operands[1]) && MEM_P (operands[2]))
   24204              :    && CONST_INT_P (operands[2])
   24205              :    && INTVAL (operands[2]) == INTVAL (operands[3])) && 
   24206              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24207              : (TARGET_64BIT)))
   24208              :                     return -1;
   24209              :                   return 637; /* *mulvdi4_1 */
   24210              : 
   24211              :                 default:
   24212              :                   return -1;
   24213              :                 }
   24214              : 
   24215              :             default:
   24216              :               return -1;
   24217              :             }
   24218              : 
   24219              :         case ZERO_EXTEND:
   24220              :           x26 = XEXP (x4, 1);
   24221              :           if (GET_CODE (x26) != ZERO_EXTEND)
   24222              :             return -1;
   24223              :           x9 = XEXP (x3, 1);
   24224              :           if (GET_CODE (x9) != ZERO_EXTEND)
   24225              :             return -1;
   24226              :           x10 = XEXP (x9, 0);
   24227              :           if (GET_CODE (x10) != MULT)
   24228              :             return -1;
   24229              :           x6 = XEXP (x5, 0);
   24230              :           operands[1] = x6;
   24231              :           x27 = XEXP (x26, 0);
   24232              :           operands[2] = x27;
   24233              :           x11 = XEXP (x10, 0);
   24234              :           if (!rtx_equal_p (x11, operands[1]))
   24235              :             return -1;
   24236              :           x28 = XEXP (x10, 1);
   24237              :           if (!rtx_equal_p (x28, operands[2]))
   24238              :             return -1;
   24239              :           x14 = XVECEXP (x1, 0, 1);
   24240              :           x15 = XEXP (x14, 1);
   24241              :           x16 = XEXP (x15, 0);
   24242              :           if (!rtx_equal_p (x16, operands[1]))
   24243              :             return -1;
   24244              :           x29 = XEXP (x15, 1);
   24245              :           if (!rtx_equal_p (x29, operands[2]))
   24246              :             return -1;
   24247              :           switch (GET_MODE (x4))
   24248              :             {
   24249              :             case E_SImode:
   24250              :               if (pnum_clobbers == NULL
   24251              :                   || pattern1828 (x1, 
   24252              : E_HImode, 
   24253              : E_SImode) != 0
   24254              :                   || !
   24255              : #line 11215 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24256              : (!(MEM_P (operands[1]) && MEM_P (operands[2]))))
   24257              :                 return -1;
   24258              :               *pnum_clobbers = 1;
   24259              :               return 638; /* *umulvhi4 */
   24260              : 
   24261              :             case E_DImode:
   24262              :               if (pnum_clobbers == NULL
   24263              :                   || pattern1828 (x1, 
   24264              : E_SImode, 
   24265              : E_DImode) != 0
   24266              :                   || !
   24267              : #line 11215 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24268              : (!(MEM_P (operands[1]) && MEM_P (operands[2]))))
   24269              :                 return -1;
   24270              :               *pnum_clobbers = 1;
   24271              :               return 639; /* *umulvsi4 */
   24272              : 
   24273              :             case E_TImode:
   24274              :               if (pnum_clobbers == NULL
   24275              :                   || pattern1828 (x1, 
   24276              : E_DImode, 
   24277              : E_TImode) != 0
   24278              :                   || !(
   24279              : #line 11215 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24280              : (!(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
   24281              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24282              : (TARGET_64BIT)))
   24283              :                 return -1;
   24284              :               *pnum_clobbers = 1;
   24285              :               return 640; /* *umulvdi4 */
   24286              : 
   24287              :             case E_HImode:
   24288              :               if (pattern1828 (x1, 
   24289              : E_QImode, 
   24290              : E_HImode) != 0
   24291              :                   || !
   24292              : #line 11259 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24293              : (TARGET_QIMODE_MATH
   24294              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   24295              :                 return -1;
   24296              :               return 642; /* *umulvqi4 */
   24297              : 
   24298              :             default:
   24299              :               return -1;
   24300              :             }
   24301              : 
   24302              :         default:
   24303              :           return -1;
   24304              :         }
   24305              : 
   24306              :     case ZERO_EXTRACT:
   24307              :       switch (pattern697 (x1))
   24308              :         {
   24309              :         case 0:
   24310              :           if (!
   24311              : #line 19744 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24312              : (TARGET_USE_BT && ix86_pre_reload_split ()))
   24313              :             return -1;
   24314              :           return 1472; /* *btsi_setncqi_2 */
   24315              : 
   24316              :         case 1:
   24317              :           if (!(
   24318              : #line 19744 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24319              : (TARGET_USE_BT && ix86_pre_reload_split ()) && 
   24320              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24321              : (TARGET_64BIT)))
   24322              :             return -1;
   24323              :           return 1473; /* *btdi_setncqi_2 */
   24324              : 
   24325              :         default:
   24326              :           return -1;
   24327              :         }
   24328              : 
   24329              :     case REG:
   24330              :     case SUBREG:
   24331              :     case MEM:
   24332              :       operands[1] = x4;
   24333              :       if (!nonimmediate_operand (operands[1], E_V2SFmode))
   24334              :         return -1;
   24335              :       x14 = XVECEXP (x1, 0, 1);
   24336              :       if (pattern384 (x14, 
   24337              : 111, 
   24338              : 0) != 0)
   24339              :         return -1;
   24340              :       x30 = XEXP (x2, 0);
   24341              :       operands[0] = x30;
   24342              :       if (!register_operand (operands[0], E_V2SImode)
   24343              :           || GET_MODE (x3) != E_V2SImode)
   24344              :         return -1;
   24345              :       x9 = XEXP (x3, 1);
   24346              :       operands[2] = x9;
   24347              :       if (!nonimmediate_operand (operands[2], E_V2SFmode)
   24348              :           || !
   24349              : #line 1226 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   24350              : (TARGET_3DNOW && ix86_binary_operator_ok (EQ, V2SFmode, operands)))
   24351              :         return -1;
   24352              :       return 2126; /* *mmx_eqv2sf3 */
   24353              : 
   24354              :     default:
   24355              :       return -1;
   24356              :     }
   24357              : }
   24358              : 
   24359              :  int
   24360              : recog_432 (rtx x1 ATTRIBUTE_UNUSED,
   24361              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   24362              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   24363              : {
   24364              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   24365              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   24366              :   rtx x10, x11, x12, x13, x14, x15, x16, x17;
   24367              :   rtx x18, x19;
   24368              :   int res ATTRIBUTE_UNUSED;
   24369              :   x2 = XVECEXP (x1, 0, 0);
   24370              :   x3 = XEXP (x2, 1);
   24371              :   if (GET_MODE (x3) != E_DImode)
   24372              :     return -1;
   24373              :   x4 = XEXP (x2, 0);
   24374              :   if (!register_operand (x4, E_DImode))
   24375              :     return -1;
   24376              :   x5 = XEXP (x3, 0);
   24377              :   if (GET_MODE (x5) != E_SImode)
   24378              :     return -1;
   24379              :   switch (GET_CODE (x5))
   24380              :     {
   24381              :     case SMUL_HIGHPART:
   24382              :       if (pattern836 (x1) != 0
   24383              :           || !
   24384              : #line 11493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24385              : (TARGET_64BIT))
   24386              :         return -1;
   24387              :       return 659; /* *smulsi3_highpart_zext */
   24388              : 
   24389              :     case UMUL_HIGHPART:
   24390              :       if (pattern836 (x1) != 0
   24391              :           || !
   24392              : #line 11493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24393              : (TARGET_64BIT))
   24394              :         return -1;
   24395              :       return 660; /* *umulsi3_highpart_zext */
   24396              : 
   24397              :     case TRUNCATE:
   24398              :       x6 = XEXP (x5, 0);
   24399              :       if (GET_CODE (x6) != LSHIFTRT
   24400              :           || GET_MODE (x6) != E_DImode)
   24401              :         return -1;
   24402              :       x7 = XEXP (x6, 0);
   24403              :       if (GET_CODE (x7) != MULT
   24404              :           || GET_MODE (x7) != E_DImode)
   24405              :         return -1;
   24406              :       x8 = XEXP (x6, 1);
   24407              :       if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 32])
   24408              :         return -1;
   24409              :       x9 = XVECEXP (x1, 0, 1);
   24410              :       if (GET_CODE (x9) != CLOBBER
   24411              :           || pattern838 (x1) != 0)
   24412              :         return -1;
   24413              :       x10 = XEXP (x7, 0);
   24414              :       if (GET_MODE (x10) != E_DImode)
   24415              :         return -1;
   24416              :       x11 = XEXP (x7, 1);
   24417              :       if (GET_MODE (x11) != E_DImode)
   24418              :         return -1;
   24419              :       x12 = XEXP (x9, 0);
   24420              :       operands[3] = x12;
   24421              :       if (!scratch_operand (operands[3], E_SImode))
   24422              :         return -1;
   24423              :       switch (GET_CODE (x10))
   24424              :         {
   24425              :         case SIGN_EXTEND:
   24426              :           if (GET_CODE (x11) != SIGN_EXTEND)
   24427              :             return -1;
   24428              :           x13 = XEXP (x10, 0);
   24429              :           operands[1] = x13;
   24430              :           if (!nonimmediate_operand (operands[1], E_SImode))
   24431              :             return -1;
   24432              :           x14 = XEXP (x11, 0);
   24433              :           operands[2] = x14;
   24434              :           if (!nonimmediate_operand (operands[2], E_SImode)
   24435              :               || !
   24436              : #line 11541 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24437              : (TARGET_64BIT
   24438              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   24439              :             return -1;
   24440              :           return 663; /* *smulsi3_highpart_zext */
   24441              : 
   24442              :         case ZERO_EXTEND:
   24443              :           if (GET_CODE (x11) != ZERO_EXTEND)
   24444              :             return -1;
   24445              :           x13 = XEXP (x10, 0);
   24446              :           operands[1] = x13;
   24447              :           if (!nonimmediate_operand (operands[1], E_SImode))
   24448              :             return -1;
   24449              :           x14 = XEXP (x11, 0);
   24450              :           operands[2] = x14;
   24451              :           if (!nonimmediate_operand (operands[2], E_SImode)
   24452              :               || !
   24453              : #line 11541 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24454              : (TARGET_64BIT
   24455              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   24456              :             return -1;
   24457              :           return 664; /* *umulsi3_highpart_zext */
   24458              : 
   24459              :         default:
   24460              :           return -1;
   24461              :         }
   24462              : 
   24463              :     case DIV:
   24464              :       x9 = XVECEXP (x1, 0, 1);
   24465              :       if (GET_CODE (x9) != SET)
   24466              :         return -1;
   24467              :       x15 = XEXP (x9, 1);
   24468              :       if (GET_CODE (x15) != MOD
   24469              :           || GET_MODE (x15) != E_SImode)
   24470              :         return -1;
   24471              :       operands[0] = x4;
   24472              :       x6 = XEXP (x5, 0);
   24473              :       operands[2] = x6;
   24474              :       if (!register_operand (operands[2], E_SImode))
   24475              :         return -1;
   24476              :       x16 = XEXP (x5, 1);
   24477              :       operands[3] = x16;
   24478              :       if (!nonimmediate_operand (operands[3], E_SImode))
   24479              :         return -1;
   24480              :       x12 = XEXP (x9, 0);
   24481              :       operands[1] = x12;
   24482              :       if (!register_operand (operands[1], E_SImode))
   24483              :         return -1;
   24484              :       switch (pattern1642 (x1, pnum_clobbers))
   24485              :         {
   24486              :         case 0:
   24487              :           if (!
   24488              : #line 11828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24489              : (TARGET_64BIT))
   24490              :             return -1;
   24491              :           *pnum_clobbers = 1;
   24492              :           return 671; /* divmodsi4_zext_1 */
   24493              : 
   24494              :         case 1:
   24495              :           if (!
   24496              : #line 12027 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24497              : (TARGET_64BIT))
   24498              :             return -1;
   24499              :           return 683; /* *divmodsi4_zext_1 */
   24500              : 
   24501              :         case 2:
   24502              :           if (!
   24503              : #line 12223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24504              : (TARGET_64BIT))
   24505              :             return -1;
   24506              :           *pnum_clobbers = 1;
   24507              :           return 701; /* *divmodsi4_noext_zext_1 */
   24508              : 
   24509              :         default:
   24510              :           return -1;
   24511              :         }
   24512              : 
   24513              :     case UDIV:
   24514              :       x9 = XVECEXP (x1, 0, 1);
   24515              :       if (GET_CODE (x9) != SET)
   24516              :         return -1;
   24517              :       x15 = XEXP (x9, 1);
   24518              :       if (GET_CODE (x15) != UMOD
   24519              :           || GET_MODE (x15) != E_SImode)
   24520              :         return -1;
   24521              :       operands[0] = x4;
   24522              :       x6 = XEXP (x5, 0);
   24523              :       operands[2] = x6;
   24524              :       if (!register_operand (operands[2], E_SImode))
   24525              :         return -1;
   24526              :       x16 = XEXP (x5, 1);
   24527              :       operands[3] = x16;
   24528              :       x12 = XEXP (x9, 0);
   24529              :       operands[1] = x12;
   24530              :       if (!register_operand (operands[1], E_SImode))
   24531              :         return -1;
   24532              :       switch (pattern1583 (x1, pnum_clobbers))
   24533              :         {
   24534              :         case 0:
   24535              :           if (!
   24536              : #line 11864 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24537              : (TARGET_64BIT))
   24538              :             return -1;
   24539              :           *pnum_clobbers = 1;
   24540              :           return 672; /* udivmodsi4_zext_1 */
   24541              : 
   24542              :         case 1:
   24543              :           if (!
   24544              : #line 12062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24545              : (TARGET_64BIT))
   24546              :             return -1;
   24547              :           return 684; /* *udivmodsi4_zext_1 */
   24548              : 
   24549              :         case 2:
   24550              :           if (!
   24551              : #line 12223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24552              : (TARGET_64BIT))
   24553              :             return -1;
   24554              :           *pnum_clobbers = 1;
   24555              :           return 702; /* *udivmodsi4_noext_zext_1 */
   24556              : 
   24557              :         case 3:
   24558              :           if (!
   24559              : #line 12084 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24560              : (TARGET_64BIT
   24561              :    && IN_RANGE (exact_log2 (UINTVAL (operands[3])), 1, 31)))
   24562              :             return -1;
   24563              :           return 685; /* *udivmodsi4_pow2_zext_1 */
   24564              : 
   24565              :         default:
   24566              :           return -1;
   24567              :         }
   24568              : 
   24569              :     case MOD:
   24570              :       x9 = XVECEXP (x1, 0, 1);
   24571              :       if (GET_CODE (x9) != SET)
   24572              :         return -1;
   24573              :       x15 = XEXP (x9, 1);
   24574              :       if (GET_CODE (x15) != DIV
   24575              :           || GET_MODE (x15) != E_SImode)
   24576              :         return -1;
   24577              :       operands[1] = x4;
   24578              :       x6 = XEXP (x5, 0);
   24579              :       operands[2] = x6;
   24580              :       if (!register_operand (operands[2], E_SImode))
   24581              :         return -1;
   24582              :       x16 = XEXP (x5, 1);
   24583              :       operands[3] = x16;
   24584              :       if (!nonimmediate_operand (operands[3], E_SImode))
   24585              :         return -1;
   24586              :       x12 = XEXP (x9, 0);
   24587              :       operands[0] = x12;
   24588              :       if (!register_operand (operands[0], E_SImode))
   24589              :         return -1;
   24590              :       switch (pattern1642 (x1, pnum_clobbers))
   24591              :         {
   24592              :         case 0:
   24593              :           if (!
   24594              : #line 11887 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24595              : (TARGET_64BIT))
   24596              :             return -1;
   24597              :           *pnum_clobbers = 1;
   24598              :           return 673; /* divmodsi4_zext_2 */
   24599              : 
   24600              :         case 1:
   24601              :           if (!
   24602              : #line 12110 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24603              : (TARGET_64BIT))
   24604              :             return -1;
   24605              :           return 686; /* *divmodsi4_zext_2 */
   24606              : 
   24607              :         case 2:
   24608              :           if (!
   24609              : #line 12237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24610              : (TARGET_64BIT))
   24611              :             return -1;
   24612              :           *pnum_clobbers = 1;
   24613              :           return 703; /* *divmodsi4_noext_zext_2 */
   24614              : 
   24615              :         default:
   24616              :           return -1;
   24617              :         }
   24618              : 
   24619              :     case UMOD:
   24620              :       x9 = XVECEXP (x1, 0, 1);
   24621              :       if (GET_CODE (x9) != SET)
   24622              :         return -1;
   24623              :       x15 = XEXP (x9, 1);
   24624              :       if (GET_CODE (x15) != UDIV
   24625              :           || GET_MODE (x15) != E_SImode)
   24626              :         return -1;
   24627              :       operands[1] = x4;
   24628              :       x6 = XEXP (x5, 0);
   24629              :       operands[2] = x6;
   24630              :       if (!register_operand (operands[2], E_SImode))
   24631              :         return -1;
   24632              :       x16 = XEXP (x5, 1);
   24633              :       operands[3] = x16;
   24634              :       x12 = XEXP (x9, 0);
   24635              :       operands[0] = x12;
   24636              :       if (!register_operand (operands[0], E_SImode))
   24637              :         return -1;
   24638              :       switch (pattern1583 (x1, pnum_clobbers))
   24639              :         {
   24640              :         case 0:
   24641              :           if (!
   24642              : #line 11924 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24643              : (TARGET_64BIT))
   24644              :             return -1;
   24645              :           *pnum_clobbers = 1;
   24646              :           return 674; /* udivmodsi4_zext_2 */
   24647              : 
   24648              :         case 1:
   24649              :           if (!
   24650              : #line 12146 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24651              : (TARGET_64BIT))
   24652              :             return -1;
   24653              :           return 687; /* *udivmodsi4_zext_2 */
   24654              : 
   24655              :         case 2:
   24656              :           if (!
   24657              : #line 12237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24658              : (TARGET_64BIT))
   24659              :             return -1;
   24660              :           *pnum_clobbers = 1;
   24661              :           return 704; /* *udivmodsi4_noext_zext_2 */
   24662              : 
   24663              :         case 3:
   24664              :           if (!
   24665              : #line 12168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24666              : (TARGET_64BIT
   24667              :    && IN_RANGE (exact_log2 (UINTVAL (operands[3])), 1, 31)))
   24668              :             return -1;
   24669              :           return 688; /* *udivmodsi4_pow2_zext_2 */
   24670              : 
   24671              :         default:
   24672              :           return -1;
   24673              :         }
   24674              : 
   24675              :     case CTZ:
   24676              :       if (pattern837 (x1) != 0
   24677              :           || !
   24678              : #line 21572 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24679              : (TARGET_64BIT))
   24680              :         return -1;
   24681              :       return 1555; /* *ctzsidi2_uext_falsedep */
   24682              : 
   24683              :     case CLZ:
   24684              :       x9 = XVECEXP (x1, 0, 1);
   24685              :       if (GET_CODE (x9) != UNSPEC
   24686              :           || XVECLEN (x9, 0) != 1
   24687              :           || XINT (x9, 1) != 39)
   24688              :         return -1;
   24689              :       x17 = XVECEXP (x1, 0, 2);
   24690              :       if (GET_CODE (x17) != CLOBBER)
   24691              :         return -1;
   24692              :       x18 = XEXP (x17, 0);
   24693              :       if (GET_CODE (x18) != REG
   24694              :           || REGNO (x18) != 17
   24695              :           || GET_MODE (x18) != E_CCmode)
   24696              :         return -1;
   24697              :       operands[0] = x4;
   24698              :       x6 = XEXP (x5, 0);
   24699              :       operands[1] = x6;
   24700              :       x19 = XVECEXP (x9, 0, 0);
   24701              :       switch (pattern1433 (x19))
   24702              :         {
   24703              :         case 0:
   24704              :           if (!
   24705              : #line 21993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24706              : (TARGET_LZCNT))
   24707              :             return -1;
   24708              :           return 1578; /* *clzsi2_lzcnt_zext_2_falsedep */
   24709              : 
   24710              :         case 1:
   24711              :           if (!(
   24712              : #line 21993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24713              : (TARGET_LZCNT) && 
   24714              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24715              : (TARGET_64BIT)))
   24716              :             return -1;
   24717              :           return 1579; /* *clzsi2_lzcnt_zext_2_falsedep */
   24718              : 
   24719              :         default:
   24720              :           return -1;
   24721              :         }
   24722              : 
   24723              :     case POPCOUNT:
   24724              :       if (pattern837 (x1) != 0
   24725              :           || !
   24726              : #line 22836 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24727              : (TARGET_POPCNT && TARGET_64BIT))
   24728              :         return -1;
   24729              :       return 1669; /* *popcountsi2_zext_2_falsedep */
   24730              : 
   24731              :     default:
   24732              :       return -1;
   24733              :     }
   24734              : }
   24735              : 
   24736              :  int
   24737              : recog_443 (rtx x1 ATTRIBUTE_UNUSED,
   24738              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   24739              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   24740              : {
   24741              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   24742              :   rtx x2, x3, x4, x5, x6, x7;
   24743              :   int res ATTRIBUTE_UNUSED;
   24744              :   x2 = XVECEXP (x1, 0, 0);
   24745              :   switch (GET_CODE (x2))
   24746              :     {
   24747              :     case UNSPEC_VOLATILE:
   24748              :       if (XVECLEN (x2, 0) != 1
   24749              :           || XINT (x2, 1) != 97)
   24750              :         return -1;
   24751              :       x3 = XVECEXP (x2, 0, 0);
   24752              :       if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   24753              :         return -1;
   24754              :       operands[0] = x1;
   24755              :       if (!vzeroall_operation (operands[0], E_VOIDmode)
   24756              :           || !
   24757              : #line 27921 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   24758              : (TARGET_AVX))
   24759              :         return -1;
   24760              :       return 9143; /* *avx_vzeroall */
   24761              : 
   24762              :     case USE:
   24763              :       operands[0] = x1;
   24764              :       x4 = XEXP (x2, 0);
   24765              :       operands[1] = x4;
   24766              :       if (save_multiple (operands[0], E_VOIDmode))
   24767              :         {
   24768              :           switch (GET_MODE (operands[1]))
   24769              :             {
   24770              :             case E_SImode:
   24771              :               if (symbol_operand (operands[1], E_SImode)
   24772              :                   && (
   24773              : #line 30994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   24774              : (TARGET_SSE && TARGET_64BIT) && 
   24775              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24776              : (Pmode == SImode)))
   24777              :                 return 10219; /* *save_multiplesi */
   24778              :               break;
   24779              : 
   24780              :             case E_DImode:
   24781              :               if (symbol_operand (operands[1], E_DImode)
   24782              :                   && (
   24783              : #line 30994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   24784              : (TARGET_SSE && TARGET_64BIT) && 
   24785              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24786              : (Pmode == DImode)))
   24787              :                 return 10220; /* *save_multipledi */
   24788              :               break;
   24789              : 
   24790              :             default:
   24791              :               break;
   24792              :             }
   24793              :         }
   24794              :       if (!restore_multiple (operands[0], E_VOIDmode))
   24795              :         return -1;
   24796              :       switch (GET_MODE (operands[1]))
   24797              :         {
   24798              :         case E_SImode:
   24799              :           if (!symbol_operand (operands[1], E_SImode)
   24800              :               || !(
   24801              : #line 31001 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   24802              : (TARGET_SSE && TARGET_64BIT) && 
   24803              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24804              : (Pmode == SImode)))
   24805              :             return -1;
   24806              :           return 10221; /* *restore_multiplesi */
   24807              : 
   24808              :         case E_DImode:
   24809              :           if (!symbol_operand (operands[1], E_DImode)
   24810              :               || !(
   24811              : #line 31001 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   24812              : (TARGET_SSE && TARGET_64BIT) && 
   24813              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24814              : (Pmode == DImode)))
   24815              :             return -1;
   24816              :           return 10222; /* *restore_multipledi */
   24817              : 
   24818              :         default:
   24819              :           return -1;
   24820              :         }
   24821              : 
   24822              :     case SET:
   24823              :       x5 = XEXP (x2, 1);
   24824              :       if (GET_CODE (x5) != UNSPEC_VOLATILE)
   24825              :         return -1;
   24826              :       switch (XVECLEN (x5, 0))
   24827              :         {
   24828              :         case 2:
   24829              :           if (pattern397 (x5, 
   24830              : 107) != 0)
   24831              :             return -1;
   24832              :           operands[2] = x1;
   24833              :           if (!encodekey128_operation (operands[2], E_VOIDmode))
   24834              :             return -1;
   24835              :           x4 = XEXP (x2, 0);
   24836              :           operands[0] = x4;
   24837              :           if (!register_operand (operands[0], E_SImode))
   24838              :             return -1;
   24839              :           x6 = XVECEXP (x5, 0, 0);
   24840              :           operands[1] = x6;
   24841              :           if (!register_operand (operands[1], E_SImode)
   24842              :               || !
   24843              : #line 31985 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   24844              : (TARGET_KL))
   24845              :             return -1;
   24846              :           return 10435; /* *encodekey128u32 */
   24847              : 
   24848              :         case 3:
   24849              :           if (pattern397 (x5, 
   24850              : 108) != 0)
   24851              :             return -1;
   24852              :           x7 = XVECEXP (x5, 0, 2);
   24853              :           if (GET_CODE (x7) != REG
   24854              :               || REGNO (x7) != 21
   24855              :               || GET_MODE (x7) != E_V2DImode)
   24856              :             return -1;
   24857              :           operands[2] = x1;
   24858              :           if (!encodekey256_operation (operands[2], E_VOIDmode))
   24859              :             return -1;
   24860              :           x4 = XEXP (x2, 0);
   24861              :           operands[0] = x4;
   24862              :           if (!register_operand (operands[0], E_SImode))
   24863              :             return -1;
   24864              :           x6 = XVECEXP (x5, 0, 0);
   24865              :           operands[1] = x6;
   24866              :           if (!register_operand (operands[1], E_SImode)
   24867              :               || !
   24868              : #line 32043 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   24869              : (TARGET_KL))
   24870              :             return -1;
   24871              :           return 10436; /* *encodekey256u32 */
   24872              : 
   24873              :         case 1:
   24874              :           x4 = XEXP (x2, 0);
   24875              :           if (GET_CODE (x4) != REG
   24876              :               || REGNO (x4) != 17
   24877              :               || GET_MODE (x4) != E_CCZmode)
   24878              :             return -1;
   24879              :           operands[1] = x1;
   24880              :           if (!aeswidekl_operation (operands[1], E_VOIDmode)
   24881              :               || GET_MODE (x5) != E_CCZmode)
   24882              :             return -1;
   24883              :           x6 = XVECEXP (x5, 0, 0);
   24884              :           operands[0] = x6;
   24885              :           if (!memory_operand (operands[0], E_BLKmode))
   24886              :             return -1;
   24887              :           switch (XINT (x5, 1))
   24888              :             {
   24889              :             case 103:
   24890              :               if (!
   24891              : #line 32127 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   24892              : (TARGET_WIDEKL))
   24893              :                 return -1;
   24894              :               return 10441; /* *aesdecwide128klu8 */
   24895              : 
   24896              :             case 105:
   24897              :               if (!
   24898              : #line 32127 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   24899              : (TARGET_WIDEKL))
   24900              :                 return -1;
   24901              :               return 10442; /* *aesdecwide256klu8 */
   24902              : 
   24903              :             case 104:
   24904              :               if (!
   24905              : #line 32127 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   24906              : (TARGET_WIDEKL))
   24907              :                 return -1;
   24908              :               return 10443; /* *aesencwide128klu8 */
   24909              : 
   24910              :             case 106:
   24911              :               if (!
   24912              : #line 32127 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   24913              : (TARGET_WIDEKL))
   24914              :                 return -1;
   24915              :               return 10444; /* *aesencwide256klu8 */
   24916              : 
   24917              :             default:
   24918              :               return -1;
   24919              :             }
   24920              : 
   24921              :         default:
   24922              :           return -1;
   24923              :         }
   24924              : 
   24925              :     default:
   24926              :       return -1;
   24927              :     }
   24928              : }
   24929              : 
   24930              :  rtx_insn *
   24931              : split_2 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
   24932              : {
   24933              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   24934              :   rtx x2;
   24935              :   rtx_insn *res ATTRIBUTE_UNUSED;
   24936              :   switch (GET_MODE (operands[0]))
   24937              :     {
   24938              :     case E_DFmode:
   24939              :       if (!push_operand (operands[0], E_DFmode))
   24940              :         return NULL;
   24941              :       x2 = XEXP (x1, 1);
   24942              :       if (GET_MODE (x2) != E_DFmode
   24943              :           || !fp_register_operand (operands[1], E_SFmode))
   24944              :         return NULL;
   24945              :       if ((
   24946              : #line 5267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24947              : (reload_completed) && 
   24948              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24949              : (Pmode == SImode)))
   24950              :         return gen_split_70 (insn, operands);
   24951              :       if (!(
   24952              : #line 5267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24953              : (reload_completed) && 
   24954              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24955              : (Pmode == DImode)))
   24956              :         return NULL;
   24957              :       return gen_split_71 (insn, operands);
   24958              : 
   24959              :     case E_XFmode:
   24960              :       if (!push_operand (operands[0], E_XFmode))
   24961              :         return NULL;
   24962              :       x2 = XEXP (x1, 1);
   24963              :       if (GET_MODE (x2) != E_XFmode)
   24964              :         return NULL;
   24965              :       switch (GET_MODE (operands[1]))
   24966              :         {
   24967              :         case E_SFmode:
   24968              :           if (!fp_register_operand (operands[1], E_SFmode))
   24969              :             return NULL;
   24970              :           if ((
   24971              : #line 5274 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24972              : (reload_completed) && 
   24973              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24974              : (Pmode == SImode)))
   24975              :             return gen_split_72 (insn, operands);
   24976              :           if (!(
   24977              : #line 5274 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24978              : (reload_completed) && 
   24979              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24980              : (Pmode == DImode)))
   24981              :             return NULL;
   24982              :           return gen_split_73 (insn, operands);
   24983              : 
   24984              :         case E_DFmode:
   24985              :           if (!fp_register_operand (operands[1], E_DFmode))
   24986              :             return NULL;
   24987              :           if ((
   24988              : #line 5274 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24989              : (reload_completed) && 
   24990              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24991              : (Pmode == SImode)))
   24992              :             return gen_split_74 (insn, operands);
   24993              :           if (!(
   24994              : #line 5274 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24995              : (reload_completed) && 
   24996              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24997              : (Pmode == DImode)))
   24998              :             return NULL;
   24999              :           return gen_split_75 (insn, operands);
   25000              : 
   25001              :         default:
   25002              :           return NULL;
   25003              :         }
   25004              : 
   25005              :     default:
   25006              :       return NULL;
   25007              :     }
   25008              : }
   25009              : 
   25010              :  rtx_insn *
   25011              : split_4 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
   25012              : {
   25013              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   25014              :   rtx x2, x3, x4, x5, x6;
   25015              :   rtx_insn *res ATTRIBUTE_UNUSED;
   25016              :   x2 = XEXP (x1, 1);
   25017              :   if (GET_CODE (x2) == LTU)
   25018              :     {
   25019              :       switch (pattern45 (x1))
   25020              :         {
   25021              :         case 0:
   25022              :           if ((
   25023              : #line 10236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25024              : (ix86_pre_reload_split ()) && 
   25025              : #line 10238 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25026              : ( 1)))
   25027              :             return gen_split_202 (insn, operands);
   25028              :           break;
   25029              : 
   25030              :         case 1:
   25031              :           if ((
   25032              : #line 10236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25033              : (ix86_pre_reload_split ()) && 
   25034              : #line 10238 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25035              : ( 1)))
   25036              :             return gen_split_203 (insn, operands);
   25037              :           break;
   25038              : 
   25039              :         default:
   25040              :           break;
   25041              :         }
   25042              :     }
   25043              :   operands[1] = x2;
   25044              :   if (!add_comparison_operator (operands[1], E_QImode))
   25045              :     return NULL;
   25046              :   x3 = XEXP (x2, 0);
   25047              :   if (GET_CODE (x3) != NOT)
   25048              :     return NULL;
   25049              :   x4 = XEXP (x1, 0);
   25050              :   operands[0] = x4;
   25051              :   if (!nonimmediate_operand (operands[0], E_QImode))
   25052              :     return NULL;
   25053              :   x5 = XEXP (x3, 0);
   25054              :   operands[2] = x5;
   25055              :   x6 = XEXP (x2, 1);
   25056              :   operands[3] = x6;
   25057              :   switch (GET_MODE (x3))
   25058              :     {
   25059              :     case E_QImode:
   25060              :       if (!register_operand (operands[2], E_QImode)
   25061              :           || !nonimmediate_operand (operands[3], E_QImode))
   25062              :         return NULL;
   25063              :       return gen_split_852 (insn, operands);
   25064              : 
   25065              :     case E_HImode:
   25066              :       if (!register_operand (operands[2], E_HImode)
   25067              :           || !nonimmediate_operand (operands[3], E_HImode))
   25068              :         return NULL;
   25069              :       return gen_split_853 (insn, operands);
   25070              : 
   25071              :     case E_SImode:
   25072              :       if (!register_operand (operands[2], E_SImode)
   25073              :           || !nonimmediate_operand (operands[3], E_SImode))
   25074              :         return NULL;
   25075              :       return gen_split_854 (insn, operands);
   25076              : 
   25077              :     case E_DImode:
   25078              :       if (!register_operand (operands[2], E_DImode)
   25079              :           || !nonimmediate_operand (operands[3], E_DImode)
   25080              :           || !
   25081              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25082              : (TARGET_64BIT))
   25083              :         return NULL;
   25084              :       return gen_split_855 (insn, operands);
   25085              : 
   25086              :     default:
   25087              :       return NULL;
   25088              :     }
   25089              : }
   25090              : 
   25091              :  rtx_insn *
   25092              : split_6 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
   25093              : {
   25094              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   25095              :   rtx x2, x3, x4, x5, x6, x7;
   25096              :   rtx_insn *res ATTRIBUTE_UNUSED;
   25097              :   x2 = XEXP (x1, 0);
   25098              :   operands[0] = x2;
   25099              :   x3 = XEXP (x1, 1);
   25100              :   x4 = XEXP (x3, 0);
   25101              :   switch (GET_CODE (x4))
   25102              :     {
   25103              :     case AND:
   25104              :       switch (pattern76 (x3))
   25105              :         {
   25106              :         case 0:
   25107              :           if (!(
   25108              : #line 3715 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25109              : (TARGET_64BIT
   25110              :    && CONST_WIDE_INT_P (operands[3])
   25111              :    && CONST_WIDE_INT_NUNITS (operands[3]) == 2
   25112              :    && CONST_WIDE_INT_ELT (operands[3], 0) == -1
   25113              :    && CONST_WIDE_INT_ELT (operands[3], 1) == 0) && 
   25114              : #line 3721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25115              : ( reload_completed)))
   25116              :             return NULL;
   25117              :           return gen_split_28 (insn, operands);
   25118              : 
   25119              :         case 1:
   25120              :           if (!(
   25121              : #line 3737 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25122              : (TARGET_64BIT
   25123              :    && CONST_WIDE_INT_P (operands[3])
   25124              :    && CONST_WIDE_INT_NUNITS (operands[3]) == 2
   25125              :    && CONST_WIDE_INT_ELT (operands[3], 0) == 0
   25126              :    && CONST_WIDE_INT_ELT (operands[3], 1) == -1) && 
   25127              : #line 3743 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25128              : ( reload_completed)))
   25129              :             return NULL;
   25130              :           return gen_split_31 (insn, operands);
   25131              : 
   25132              :         case 2:
   25133              :           if (!(
   25134              : #line 3759 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25135              : (!TARGET_64BIT
   25136              :    && CONST_INT_P (operands[3])
   25137              :    && UINTVAL (operands[3]) == 0xffffffff00000000ll) && 
   25138              : #line 3763 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25139              : ( reload_completed)))
   25140              :             return NULL;
   25141              :           return gen_split_34 (insn, operands);
   25142              : 
   25143              :         default:
   25144              :           return NULL;
   25145              :         }
   25146              : 
   25147              :     case REG:
   25148              :     case SUBREG:
   25149              :       operands[1] = x4;
   25150              :       x5 = XEXP (x3, 1);
   25151              :       operands[2] = x5;
   25152              :       switch (GET_MODE (operands[0]))
   25153              :         {
   25154              :         case E_QImode:
   25155              :           if (pattern839 (x3, 
   25156              : E_QImode) != 0
   25157              :               || !
   25158              : #line 7140 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25159              : (TARGET_APX_NF && reload_completed
   25160              :    && ix86_lea_for_add_ok (insn, operands)))
   25161              :             return NULL;
   25162              :           return gen_split_135 (insn, operands);
   25163              : 
   25164              :         case E_HImode:
   25165              :           if (pattern839 (x3, 
   25166              : E_HImode) != 0
   25167              :               || !
   25168              : #line 7140 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25169              : (TARGET_APX_NF && reload_completed
   25170              :    && ix86_lea_for_add_ok (insn, operands)))
   25171              :             return NULL;
   25172              :           return gen_split_136 (insn, operands);
   25173              : 
   25174              :         case E_SImode:
   25175              :           if (pattern840 (x3, 
   25176              : E_SImode) != 0
   25177              :               || !
   25178              : #line 7140 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25179              : (TARGET_APX_NF && reload_completed
   25180              :    && ix86_lea_for_add_ok (insn, operands)))
   25181              :             return NULL;
   25182              :           return gen_split_137 (insn, operands);
   25183              : 
   25184              :         case E_DImode:
   25185              :           if (pattern840 (x3, 
   25186              : E_DImode) != 0
   25187              :               || !(
   25188              : #line 7140 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25189              : (TARGET_APX_NF && reload_completed
   25190              :    && ix86_lea_for_add_ok (insn, operands)) && 
   25191              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25192              : (TARGET_64BIT)))
   25193              :             return NULL;
   25194              :           return gen_split_138 (insn, operands);
   25195              : 
   25196              :         default:
   25197              :           return NULL;
   25198              :         }
   25199              : 
   25200              :     case PLUS:
   25201              :       x6 = XEXP (x4, 0);
   25202              :       switch (GET_CODE (x6))
   25203              :         {
   25204              :         case REG:
   25205              :         case SUBREG:
   25206              :           switch (pattern431 (x3))
   25207              :             {
   25208              :             case 0:
   25209              :               if (!(
   25210              : #line 7931 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25211              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) && 
   25212              : #line 7933 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25213              : ( reload_completed)))
   25214              :                 return NULL;
   25215              :               return gen_split_156 (insn, operands);
   25216              : 
   25217              :             case 1:
   25218              :               if (!(
   25219              : #line 7931 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25220              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) && 
   25221              : #line 7933 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25222              : ( reload_completed)))
   25223              :                 return NULL;
   25224              :               return gen_split_157 (insn, operands);
   25225              : 
   25226              :             default:
   25227              :               return NULL;
   25228              :             }
   25229              : 
   25230              :         case MULT:
   25231              :           switch (pattern434 (x3))
   25232              :             {
   25233              :             case 0:
   25234              :               if (!(
   25235              : #line 7997 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25236              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) && 
   25237              : #line 7999 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25238              : ( reload_completed)))
   25239              :                 return NULL;
   25240              :               return gen_split_162 (insn, operands);
   25241              : 
   25242              :             case 1:
   25243              :               if (!(
   25244              : #line 7997 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25245              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) && 
   25246              : #line 7999 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25247              : ( reload_completed)))
   25248              :                 return NULL;
   25249              :               return gen_split_163 (insn, operands);
   25250              : 
   25251              :             default:
   25252              :               return NULL;
   25253              :             }
   25254              : 
   25255              :         case ASHIFT:
   25256              :           switch (pattern580 (x3))
   25257              :             {
   25258              :             case 0:
   25259              :               if (!(
   25260              : #line 8023 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25261              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) && 
   25262              : #line 8025 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25263              : ( reload_completed)))
   25264              :                 return NULL;
   25265              :               return gen_split_164 (insn, operands);
   25266              : 
   25267              :             case 1:
   25268              :               if (!(
   25269              : #line 8023 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25270              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) && 
   25271              : #line 8025 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25272              : ( reload_completed)))
   25273              :                 return NULL;
   25274              :               return gen_split_165 (insn, operands);
   25275              : 
   25276              :             default:
   25277              :               return NULL;
   25278              :             }
   25279              : 
   25280              :         default:
   25281              :           return NULL;
   25282              :         }
   25283              : 
   25284              :     case MULT:
   25285              :       switch (pattern400 (x3))
   25286              :         {
   25287              :         case 0:
   25288              :           if (!(
   25289              : #line 7953 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25290              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) && 
   25291              : #line 7955 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25292              : ( reload_completed)))
   25293              :             return NULL;
   25294              :           return gen_split_158 (insn, operands);
   25295              : 
   25296              :         case 1:
   25297              :           if (!(
   25298              : #line 7953 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25299              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) && 
   25300              : #line 7955 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25301              : ( reload_completed)))
   25302              :             return NULL;
   25303              :           return gen_split_159 (insn, operands);
   25304              : 
   25305              :         default:
   25306              :           return NULL;
   25307              :         }
   25308              : 
   25309              :     case ASHIFT:
   25310              :       x7 = XEXP (x4, 1);
   25311              :       operands[2] = x7;
   25312              :       x6 = XEXP (x4, 0);
   25313              :       switch (GET_CODE (x6))
   25314              :         {
   25315              :         case REG:
   25316              :         case SUBREG:
   25317              :           operands[1] = x6;
   25318              :           x5 = XEXP (x3, 1);
   25319              :           switch (GET_CODE (x5))
   25320              :             {
   25321              :             case CONST_INT:
   25322              :             case CONST_WIDE_INT:
   25323              :             case CONST_POLY_INT:
   25324              :             case CONST_FIXED:
   25325              :             case CONST_DOUBLE:
   25326              :             case CONST_VECTOR:
   25327              :             case CONST:
   25328              :             case REG:
   25329              :             case SUBREG:
   25330              :             case LABEL_REF:
   25331              :             case SYMBOL_REF:
   25332              :             case HIGH:
   25333              :               operands[3] = x5;
   25334              :               switch (GET_MODE (operands[0]))
   25335              :                 {
   25336              :                 case E_QImode:
   25337              :                   if (pattern1090 (x3, 
   25338              : E_QImode) != 0
   25339              :                       || !(
   25340              : #line 7974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25341              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) && 
   25342              : #line 7976 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25343              : ( reload_completed)))
   25344              :                     return NULL;
   25345              :                   return gen_split_160 (insn, operands);
   25346              : 
   25347              :                 case E_HImode:
   25348              :                   if (pattern1090 (x3, 
   25349              : E_HImode) != 0
   25350              :                       || !(
   25351              : #line 7974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25352              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) && 
   25353              : #line 7976 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25354              : ( reload_completed)))
   25355              :                     return NULL;
   25356              :                   return gen_split_161 (insn, operands);
   25357              : 
   25358              :                 case E_DImode:
   25359              :                   if (pattern615 (x3, 
   25360              : E_DImode) != 0
   25361              :                       || !((
   25362              : #line 14473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25363              : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT / 2
   25364              :    && (DImode == DImode
   25365              :        ? CONST_INT_P (operands[3])
   25366              :          && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
   25367              :        : CONST_INT_P (operands[3])
   25368              :        ? INTVAL (operands[3]) >= 0
   25369              :        : CONST_WIDE_INT_NUNITS (operands[3]) == 2
   25370              :          && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
   25371              :    && !(CONST_INT_P (operands[3])
   25372              :         ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
   25373              :         : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
   25374              :                                                                      0)),
   25375              :                                         VOIDmode))) && 
   25376              : #line 1196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25377              : (!TARGET_64BIT)) && 
   25378              : #line 14487 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25379              : ( reload_completed)))
   25380              :                     return NULL;
   25381              :                   return gen_split_472 (insn, operands);
   25382              : 
   25383              :                 case E_TImode:
   25384              :                   if (pattern615 (x3, 
   25385              : E_TImode) != 0
   25386              :                       || !((
   25387              : #line 14473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25388              : (INTVAL (operands[2]) == 16 * BITS_PER_UNIT / 2
   25389              :    && (TImode == DImode
   25390              :        ? CONST_INT_P (operands[3])
   25391              :          && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
   25392              :        : CONST_INT_P (operands[3])
   25393              :        ? INTVAL (operands[3]) >= 0
   25394              :        : CONST_WIDE_INT_NUNITS (operands[3]) == 2
   25395              :          && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
   25396              :    && !(CONST_INT_P (operands[3])
   25397              :         ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
   25398              :         : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
   25399              :                                                                      0)),
   25400              :                                         VOIDmode))) && 
   25401              : #line 1197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25402              : (TARGET_64BIT)) && 
   25403              : #line 14487 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25404              : ( reload_completed)))
   25405              :                     return NULL;
   25406              :                   return gen_split_475 (insn, operands);
   25407              : 
   25408              :                 default:
   25409              :                   return NULL;
   25410              :                 }
   25411              : 
   25412              :             case ZERO_EXTEND:
   25413              :               switch (pattern955 (x3))
   25414              :                 {
   25415              :                 case 0:
   25416              :                   if (!((
   25417              : #line 14396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25418              : (INTVAL (operands[2]) == 4 * BITS_PER_UNIT) && 
   25419              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25420              : (!TARGET_64BIT)) && 
   25421              : #line 14398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25422              : ( reload_completed)))
   25423              :                     return NULL;
   25424              :                   return gen_split_436 (insn, operands);
   25425              : 
   25426              :                 case 1:
   25427              :                   if (!((
   25428              : #line 14396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25429              : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT) && 
   25430              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25431              : (TARGET_64BIT)) && 
   25432              : #line 14398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25433              : ( reload_completed)))
   25434              :                     return NULL;
   25435              :                   return gen_split_439 (insn, operands);
   25436              : 
   25437              :                 default:
   25438              :                   return NULL;
   25439              :                 }
   25440              : 
   25441              :             default:
   25442              :               return NULL;
   25443              :             }
   25444              : 
   25445              :         case SIGN_EXTEND:
   25446              :           switch (pattern723 (x3))
   25447              :             {
   25448              :             case 0:
   25449              :               if (!((
   25450              : #line 14432 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25451              : (INTVAL (operands[2]) == 4 * BITS_PER_UNIT) && 
   25452              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25453              : (!TARGET_64BIT)) && 
   25454              : #line 14434 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25455              : ( reload_completed)))
   25456              :                 return NULL;
   25457              :               return gen_split_448 (insn, operands);
   25458              : 
   25459              :             case 1:
   25460              :               if (!((
   25461              : #line 14432 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25462              : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT) && 
   25463              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25464              : (TARGET_64BIT)) && 
   25465              : #line 14434 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25466              : ( reload_completed)))
   25467              :                 return NULL;
   25468              :               return gen_split_454 (insn, operands);
   25469              : 
   25470              :             case 2:
   25471              :               if (!((
   25472              : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25473              : (INTVAL (operands[2]) == 4 * BITS_PER_UNIT
   25474              :    && (DImode == DImode
   25475              :        ? CONST_INT_P (operands[3])
   25476              :          && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
   25477              :        : CONST_INT_P (operands[3])
   25478              :        ? INTVAL (operands[3]) >= 0
   25479              :        : CONST_WIDE_INT_NUNITS (operands[3]) == 2
   25480              :          && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
   25481              :    && !(CONST_INT_P (operands[3])
   25482              :         ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
   25483              :         : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
   25484              :                                                                      0)),
   25485              :                                         VOIDmode))) && 
   25486              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25487              : (!TARGET_64BIT)) && 
   25488              : #line 14519 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25489              : ( reload_completed)))
   25490              :                 return NULL;
   25491              :               return gen_split_478 (insn, operands);
   25492              : 
   25493              :             case 3:
   25494              :               if (!((
   25495              : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25496              : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT
   25497              :    && (TImode == DImode
   25498              :        ? CONST_INT_P (operands[3])
   25499              :          && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
   25500              :        : CONST_INT_P (operands[3])
   25501              :        ? INTVAL (operands[3]) >= 0
   25502              :        : CONST_WIDE_INT_NUNITS (operands[3]) == 2
   25503              :          && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
   25504              :    && !(CONST_INT_P (operands[3])
   25505              :         ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
   25506              :         : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
   25507              :                                                                      0)),
   25508              :                                         VOIDmode))) && 
   25509              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25510              : (TARGET_64BIT)) && 
   25511              : #line 14519 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25512              : ( reload_completed)))
   25513              :                 return NULL;
   25514              :               return gen_split_484 (insn, operands);
   25515              : 
   25516              :             default:
   25517              :               return NULL;
   25518              :             }
   25519              : 
   25520              :         case ZERO_EXTEND:
   25521              :           switch (pattern723 (x3))
   25522              :             {
   25523              :             case 0:
   25524              :               if (!((
   25525              : #line 14432 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25526              : (INTVAL (operands[2]) == 4 * BITS_PER_UNIT) && 
   25527              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25528              : (!TARGET_64BIT)) && 
   25529              : #line 14434 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25530              : ( reload_completed)))
   25531              :                 return NULL;
   25532              :               return gen_split_451 (insn, operands);
   25533              : 
   25534              :             case 1:
   25535              :               if (!((
   25536              : #line 14432 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25537              : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT) && 
   25538              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25539              : (TARGET_64BIT)) && 
   25540              : #line 14434 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25541              : ( reload_completed)))
   25542              :                 return NULL;
   25543              :               return gen_split_457 (insn, operands);
   25544              : 
   25545              :             case 2:
   25546              :               if (!((
   25547              : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25548              : (INTVAL (operands[2]) == 4 * BITS_PER_UNIT
   25549              :    && (DImode == DImode
   25550              :        ? CONST_INT_P (operands[3])
   25551              :          && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
   25552              :        : CONST_INT_P (operands[3])
   25553              :        ? INTVAL (operands[3]) >= 0
   25554              :        : CONST_WIDE_INT_NUNITS (operands[3]) == 2
   25555              :          && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
   25556              :    && !(CONST_INT_P (operands[3])
   25557              :         ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
   25558              :         : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
   25559              :                                                                      0)),
   25560              :                                         VOIDmode))) && 
   25561              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25562              : (!TARGET_64BIT)) && 
   25563              : #line 14519 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25564              : ( reload_completed)))
   25565              :                 return NULL;
   25566              :               return gen_split_481 (insn, operands);
   25567              : 
   25568              :             case 3:
   25569              :               if (!((
   25570              : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25571              : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT
   25572              :    && (TImode == DImode
   25573              :        ? CONST_INT_P (operands[3])
   25574              :          && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
   25575              :        : CONST_INT_P (operands[3])
   25576              :        ? INTVAL (operands[3]) >= 0
   25577              :        : CONST_WIDE_INT_NUNITS (operands[3]) == 2
   25578              :          && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
   25579              :    && !(CONST_INT_P (operands[3])
   25580              :         ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
   25581              :         : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
   25582              :                                                                      0)),
   25583              :                                         VOIDmode))) && 
   25584              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25585              : (TARGET_64BIT)) && 
   25586              : #line 14519 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25587              : ( reload_completed)))
   25588              :                 return NULL;
   25589              :               return gen_split_487 (insn, operands);
   25590              : 
   25591              :             default:
   25592              :               return NULL;
   25593              :             }
   25594              : 
   25595              :         default:
   25596              :           return NULL;
   25597              :         }
   25598              : 
   25599              :     case ZERO_EXTEND:
   25600              :       switch (pattern405 (x3))
   25601              :         {
   25602              :         case 0:
   25603              :           if (!((
   25604              : #line 14413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25605              : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) && 
   25606              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25607              : (!TARGET_64BIT)) && 
   25608              : #line 14415 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25609              : ( reload_completed)))
   25610              :             return NULL;
   25611              :           return gen_split_442 (insn, operands);
   25612              : 
   25613              :         case 1:
   25614              :           if (!((
   25615              : #line 14413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25616              : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) && 
   25617              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25618              : (TARGET_64BIT)) && 
   25619              : #line 14415 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25620              : ( reload_completed)))
   25621              :             return NULL;
   25622              :           return gen_split_445 (insn, operands);
   25623              : 
   25624              :         case 2:
   25625              :           if (!((
   25626              : #line 14457 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25627              : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) && 
   25628              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25629              : (!TARGET_64BIT)) && 
   25630              : #line 14459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25631              : ( reload_completed)))
   25632              :             return NULL;
   25633              :           return gen_split_460 (insn, operands);
   25634              : 
   25635              :         case 3:
   25636              :           if (!((
   25637              : #line 14457 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25638              : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) && 
   25639              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25640              : (TARGET_64BIT)) && 
   25641              : #line 14459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25642              : ( reload_completed)))
   25643              :             return NULL;
   25644              :           return gen_split_466 (insn, operands);
   25645              : 
   25646              :         case 4:
   25647              :           if (!((
   25648              : #line 14457 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25649              : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) && 
   25650              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25651              : (!TARGET_64BIT)) && 
   25652              : #line 14459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25653              : ( reload_completed)))
   25654              :             return NULL;
   25655              :           return gen_split_463 (insn, operands);
   25656              : 
   25657              :         case 5:
   25658              :           if (!((
   25659              : #line 14457 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25660              : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) && 
   25661              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25662              : (TARGET_64BIT)) && 
   25663              : #line 14459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25664              : ( reload_completed)))
   25665              :             return NULL;
   25666              :           return gen_split_469 (insn, operands);
   25667              : 
   25668              :         case 6:
   25669              :           if (!((
   25670              : #line 14534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25671              : (DImode == DImode
   25672              :    ? CONST_INT_P (operands[2])
   25673              :      && (UINTVAL (operands[2]) & GET_MODE_MASK (SImode)) == 0
   25674              :      && !ix86_endbr_immediate_operand (operands[2], VOIDmode)
   25675              :    : CONST_WIDE_INT_P (operands[2])
   25676              :      && CONST_WIDE_INT_NUNITS (operands[2]) == 2
   25677              :      && CONST_WIDE_INT_ELT (operands[2], 0) == 0
   25678              :      && !ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[2],
   25679              :                                                                     1)),
   25680              :                                        VOIDmode)) && 
   25681              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25682              : (!TARGET_64BIT)) && 
   25683              : #line 14545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25684              : ( reload_completed)))
   25685              :             return NULL;
   25686              :           return gen_split_490 (insn, operands);
   25687              : 
   25688              :         case 7:
   25689              :           if (!((
   25690              : #line 14534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25691              : (TImode == DImode
   25692              :    ? CONST_INT_P (operands[2])
   25693              :      && (UINTVAL (operands[2]) & GET_MODE_MASK (SImode)) == 0
   25694              :      && !ix86_endbr_immediate_operand (operands[2], VOIDmode)
   25695              :    : CONST_WIDE_INT_P (operands[2])
   25696              :      && CONST_WIDE_INT_NUNITS (operands[2]) == 2
   25697              :      && CONST_WIDE_INT_ELT (operands[2], 0) == 0
   25698              :      && !ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[2],
   25699              :                                                                     1)),
   25700              :                                        VOIDmode)) && 
   25701              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25702              : (TARGET_64BIT)) && 
   25703              : #line 14545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25704              : ( reload_completed)))
   25705              :             return NULL;
   25706              :           return gen_split_493 (insn, operands);
   25707              : 
   25708              :         default:
   25709              :           return NULL;
   25710              :         }
   25711              : 
   25712              :     default:
   25713              :       return NULL;
   25714              :     }
   25715              : }
   25716              : 
   25717              :  rtx_insn *
   25718              : split_21 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
   25719              : {
   25720              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   25721              :   rtx x2, x3, x4, x5, x6;
   25722              :   rtx_insn *res ATTRIBUTE_UNUSED;
   25723              :   x2 = XVECEXP (x1, 0, 0);
   25724              :   x3 = XEXP (x2, 0);
   25725              :   operands[0] = x3;
   25726              :   x4 = XEXP (x2, 1);
   25727              :   x5 = XEXP (x4, 0);
   25728              :   if (rtx_equal_p (x5, operands[0]))
   25729              :     {
   25730              :       x6 = XEXP (x4, 1);
   25731              :       switch (XWINT (x6, 0))
   25732              :         {
   25733              :         case -65536L:
   25734              :           if (register_operand (operands[0], E_SImode)
   25735              :               && GET_MODE (x4) == E_SImode
   25736              :               && 
   25737              : #line 13196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25738              : ((TARGET_FAST_PREFIX && !TARGET_PARTIAL_REG_STALL)
   25739              :     || optimize_function_for_size_p (cfun)))
   25740              :             return gen_split_320 (insn, operands);
   25741              :           break;
   25742              : 
   25743              :         case -256L:
   25744              :           switch (GET_MODE (operands[0]))
   25745              :             {
   25746              :             case E_HImode:
   25747              :               if (any_QIreg_operand (operands[0], E_HImode)
   25748              :                   && GET_MODE (x4) == E_HImode
   25749              :                   && 
   25750              : #line 13206 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25751              : ((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   25752              :    && reload_completed))
   25753              :                 return gen_split_322 (insn, operands);
   25754              :               break;
   25755              : 
   25756              :             case E_SImode:
   25757              :               if (any_QIreg_operand (operands[0], E_SImode)
   25758              :                   && GET_MODE (x4) == E_SImode
   25759              :                   && 
   25760              : #line 13206 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25761              : ((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   25762              :    && reload_completed))
   25763              :                 return gen_split_323 (insn, operands);
   25764              :               break;
   25765              : 
   25766              :             default:
   25767              :               break;
   25768              :             }
   25769              :           break;
   25770              : 
   25771              :         case -65281L:
   25772              :           switch (GET_MODE (operands[0]))
   25773              :             {
   25774              :             case E_HImode:
   25775              :               if (QIreg_operand (operands[0], E_HImode)
   25776              :                   && GET_MODE (x4) == E_HImode
   25777              :                   && 
   25778              : #line 13216 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25779              : ((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   25780              :    && reload_completed))
   25781              :                 return gen_split_325 (insn, operands);
   25782              :               break;
   25783              : 
   25784              :             case E_SImode:
   25785              :               if (QIreg_operand (operands[0], E_SImode)
   25786              :                   && GET_MODE (x4) == E_SImode
   25787              :                   && 
   25788              : #line 13216 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25789              : ((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   25790              :    && reload_completed))
   25791              :                 return gen_split_326 (insn, operands);
   25792              :               break;
   25793              : 
   25794              :             default:
   25795              :               break;
   25796              :             }
   25797              :           break;
   25798              : 
   25799              :         default:
   25800              :           break;
   25801              :         }
   25802              :     }
   25803              :   operands[1] = x5;
   25804              :   x6 = XEXP (x4, 1);
   25805              :   operands[2] = x6;
   25806              :   switch (GET_MODE (operands[0]))
   25807              :     {
   25808              :     case E_HImode:
   25809              :       if (GET_MODE (x4) != E_HImode
   25810              :           || !const_int_operand (operands[2], E_HImode))
   25811              :         return NULL;
   25812              :       if (QIreg_operand (operands[0], E_HImode)
   25813              :           && register_operand (operands[1], E_HImode)
   25814              :           && 
   25815              : #line 13581 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25816              : (reload_completed
   25817              :     && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   25818              :     && !(~INTVAL (operands[2]) & ~(255 << 8))
   25819              :     && !(TARGET_APX_NDD && REGNO (operands[0]) != REGNO (operands[1]))))
   25820              :         return gen_split_373 (insn, operands);
   25821              :       if (!any_QIreg_operand (operands[0], E_HImode)
   25822              :           || !general_operand (operands[1], E_HImode)
   25823              :           || !
   25824              : #line 13610 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25825              : (reload_completed
   25826              :     && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   25827              :     && !(~INTVAL (operands[2]) & ~255)
   25828              :     && !(INTVAL (operands[2]) & 128)
   25829              :     && !(TARGET_APX_NDD
   25830              :          && !rtx_equal_p (operands[0], operands[1]))))
   25831              :         return NULL;
   25832              :       return gen_split_376 (insn, operands);
   25833              : 
   25834              :     case E_SImode:
   25835              :       if (GET_MODE (x4) != E_SImode
   25836              :           || !const_int_operand (operands[2], E_SImode))
   25837              :         return NULL;
   25838              :       if (QIreg_operand (operands[0], E_SImode)
   25839              :           && register_operand (operands[1], E_SImode)
   25840              :           && 
   25841              : #line 13581 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25842              : (reload_completed
   25843              :     && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   25844              :     && !(~INTVAL (operands[2]) & ~(255 << 8))
   25845              :     && !(TARGET_APX_NDD && REGNO (operands[0]) != REGNO (operands[1]))))
   25846              :         return gen_split_374 (insn, operands);
   25847              :       if (!any_QIreg_operand (operands[0], E_SImode)
   25848              :           || !general_operand (operands[1], E_SImode)
   25849              :           || !
   25850              : #line 13610 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25851              : (reload_completed
   25852              :     && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   25853              :     && !(~INTVAL (operands[2]) & ~255)
   25854              :     && !(INTVAL (operands[2]) & 128)
   25855              :     && !(TARGET_APX_NDD
   25856              :          && !rtx_equal_p (operands[0], operands[1]))))
   25857              :         return NULL;
   25858              :       return gen_split_377 (insn, operands);
   25859              : 
   25860              :     default:
   25861              :       return NULL;
   25862              :     }
   25863              : }
   25864              : 
   25865              :  rtx_insn *
   25866              : split_27 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
   25867              : {
   25868              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   25869              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   25870              :   rtx x10, x11, x12, x13, x14, x15, x16, x17;
   25871              :   rtx_insn *res ATTRIBUTE_UNUSED;
   25872              :   x2 = XVECEXP (x1, 0, 0);
   25873              :   x3 = XEXP (x2, 1);
   25874              :   x4 = XEXP (x3, 0);
   25875              :   switch (GET_CODE (x4))
   25876              :     {
   25877              :     case PLUS:
   25878              :       if (pattern586 (x1, 
   25879              : PLUS, 
   25880              : E_CCCmode) != 0
   25881              :           || GET_MODE (x3) != E_CCCmode)
   25882              :         return NULL;
   25883              :       x5 = XEXP (x4, 0);
   25884              :       operands[1] = x5;
   25885              :       x6 = XEXP (x4, 1);
   25886              :       operands[2] = x6;
   25887              :       x7 = XVECEXP (x1, 0, 1);
   25888              :       x8 = XEXP (x7, 0);
   25889              :       operands[0] = x8;
   25890              :       x9 = XEXP (x3, 1);
   25891              :       if (!rtx_equal_p (x9, operands[1]))
   25892              :         return NULL;
   25893              :       x10 = XEXP (x7, 1);
   25894              :       x11 = XEXP (x10, 0);
   25895              :       if (!rtx_equal_p (x11, operands[1]))
   25896              :         return NULL;
   25897              :       x12 = XEXP (x10, 1);
   25898              :       if (!rtx_equal_p (x12, operands[2]))
   25899              :         return NULL;
   25900              :       switch (GET_MODE (x4))
   25901              :         {
   25902              :         case E_DImode:
   25903              :           if (pattern1682 (x10, 
   25904              : E_DImode) != 0
   25905              :               || !((
   25906              : #line 10424 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25907              : (ix86_binary_operator_ok (PLUS, DImode, operands, TARGET_APX_NDD)) && 
   25908              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25909              : (!TARGET_64BIT)) && 
   25910              : #line 10426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25911              : ( reload_completed)))
   25912              :             return NULL;
   25913              :           return gen_split_206 (insn, operands);
   25914              : 
   25915              :         case E_TImode:
   25916              :           if (pattern1682 (x10, 
   25917              : E_TImode) != 0
   25918              :               || !((
   25919              : #line 10424 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25920              : (ix86_binary_operator_ok (PLUS, TImode, operands, TARGET_APX_NDD)) && 
   25921              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25922              : (TARGET_64BIT)) && 
   25923              : #line 10426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25924              : ( reload_completed)))
   25925              :             return NULL;
   25926              :           return gen_split_207 (insn, operands);
   25927              : 
   25928              :         default:
   25929              :           return NULL;
   25930              :         }
   25931              : 
   25932              :     case AND:
   25933              :       x9 = XEXP (x3, 1);
   25934              :       if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   25935              :         return NULL;
   25936              :       x5 = XEXP (x4, 0);
   25937              :       switch (GET_CODE (x5))
   25938              :         {
   25939              :         case SUBREG:
   25940              :           switch (pattern828 (x1))
   25941              :             {
   25942              :             case 0:
   25943              :               if (!(
   25944              : #line 13463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25945              : (ix86_match_ccmode (insn, CCNOmode)) && 
   25946              : #line 13467 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25947              : ( reload_completed
   25948              :    && !(rtx_equal_p (operands[0], operands[1])))))
   25949              :                 return NULL;
   25950              :               return gen_split_346 (insn, operands);
   25951              : 
   25952              :             case 1:
   25953              :               if (!(
   25954              : #line 13463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25955              : (ix86_match_ccmode (insn, CCNOmode)) && 
   25956              : #line 13467 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25957              : ( reload_completed
   25958              :    && !(rtx_equal_p (operands[0], operands[1])))))
   25959              :                 return NULL;
   25960              :               return gen_split_349 (insn, operands);
   25961              : 
   25962              :             case 2:
   25963              :               if (!((
   25964              : #line 13463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25965              : (ix86_match_ccmode (insn, CCNOmode)) && 
   25966              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25967              : (TARGET_64BIT)) && 
   25968              : #line 13467 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25969              : ( reload_completed
   25970              :    && !(rtx_equal_p (operands[0], operands[1])))))
   25971              :                 return NULL;
   25972              :               return gen_split_352 (insn, operands);
   25973              : 
   25974              :             default:
   25975              :               return NULL;
   25976              :             }
   25977              : 
   25978              :         case NOT:
   25979              :           if (GET_MODE (x5) != E_SImode)
   25980              :             return NULL;
   25981              :           x7 = XVECEXP (x1, 0, 1);
   25982              :           if (GET_CODE (x7) != CLOBBER)
   25983              :             return NULL;
   25984              :           x13 = XEXP (x2, 0);
   25985              :           operands[0] = x13;
   25986              :           if (!flags_reg_operand (operands[0], E_VOIDmode))
   25987              :             return NULL;
   25988              :           operands[1] = x3;
   25989              :           if (!compare_operator (operands[1], E_VOIDmode)
   25990              :               || GET_MODE (x4) != E_SImode)
   25991              :             return NULL;
   25992              :           x14 = XEXP (x5, 0);
   25993              :           operands[2] = x14;
   25994              :           if (!general_reg_operand (operands[2], E_SImode))
   25995              :             return NULL;
   25996              :           x6 = XEXP (x4, 1);
   25997              :           operands[3] = x6;
   25998              :           if (!nonimmediate_operand (operands[3], E_SImode))
   25999              :             return NULL;
   26000              :           x8 = XEXP (x7, 0);
   26001              :           if (!rtx_equal_p (x8, operands[2])
   26002              :               || !
   26003              : #line 13736 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26004              : (reload_completed
   26005              :    && optimize_insn_for_size_p () && optimize_size > 1
   26006              :    && LEGACY_INT_REG_P (operands[2])
   26007              :    && !REX_INT_REG_P (operands[3])
   26008              :    && !reg_overlap_mentioned_p (operands[2], operands[3])))
   26009              :             return NULL;
   26010              :           return gen_split_384 (insn, operands);
   26011              : 
   26012              :         case NEG:
   26013              :           x7 = XVECEXP (x1, 0, 1);
   26014              :           if (GET_CODE (x7) != SET)
   26015              :             return NULL;
   26016              :           x10 = XEXP (x7, 1);
   26017              :           if (GET_CODE (x10) != AND)
   26018              :             return NULL;
   26019              :           x11 = XEXP (x10, 0);
   26020              :           if (GET_CODE (x11) != NEG)
   26021              :             return NULL;
   26022              :           x13 = XEXP (x2, 0);
   26023              :           operands[3] = x13;
   26024              :           if (!flags_reg_operand (operands[3], E_VOIDmode))
   26025              :             return NULL;
   26026              :           operands[4] = x3;
   26027              :           if (!compare_operator (operands[4], E_VOIDmode))
   26028              :             return NULL;
   26029              :           switch (pattern1512 (x1))
   26030              :             {
   26031              :             case 0:
   26032              :               if (!
   26033              : #line 22177 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26034              : (TARGET_BMI
   26035              :    && TARGET_AVOID_FALSE_DEP_FOR_BLS
   26036              :    && epilogue_completed
   26037              :    && optimize_function_for_speed_p (cfun)
   26038              :    && !reg_mentioned_p (operands[0], operands[1])))
   26039              :                 return NULL;
   26040              :               return gen_split_910 (insn, operands);
   26041              : 
   26042              :             case 1:
   26043              :               if (!(
   26044              : #line 22177 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26045              : (TARGET_BMI
   26046              :    && TARGET_AVOID_FALSE_DEP_FOR_BLS
   26047              :    && epilogue_completed
   26048              :    && optimize_function_for_speed_p (cfun)
   26049              :    && !reg_mentioned_p (operands[0], operands[1])) && 
   26050              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26051              : (TARGET_64BIT)))
   26052              :                 return NULL;
   26053              :               return gen_split_911 (insn, operands);
   26054              : 
   26055              :             default:
   26056              :               return NULL;
   26057              :             }
   26058              : 
   26059              :         case PLUS:
   26060              :           x15 = XEXP (x5, 1);
   26061              :           if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + -1]
   26062              :               || pattern692 (x1, 
   26063              : SET, 
   26064              : E_CCZmode) != 0)
   26065              :             return NULL;
   26066              :           x7 = XVECEXP (x1, 0, 1);
   26067              :           x10 = XEXP (x7, 1);
   26068              :           if (GET_CODE (x10) != AND)
   26069              :             return NULL;
   26070              :           x11 = XEXP (x10, 0);
   26071              :           if (GET_CODE (x11) != PLUS)
   26072              :             return NULL;
   26073              :           x16 = XEXP (x11, 1);
   26074              :           if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + -1]
   26075              :               || GET_MODE (x3) != E_CCZmode)
   26076              :             return NULL;
   26077              :           switch (pattern1512 (x1))
   26078              :             {
   26079              :             case 0:
   26080              :               if (!(
   26081              : #line 22314 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26082              : (TARGET_BMI) && 
   26083              : #line 22316 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26084              : ( TARGET_AVOID_FALSE_DEP_FOR_BLS
   26085              :    && epilogue_completed
   26086              :    && optimize_function_for_speed_p (cfun)
   26087              :    && !reg_mentioned_p (operands[0], operands[1]))))
   26088              :                 return NULL;
   26089              :               return gen_split_916 (insn, operands);
   26090              : 
   26091              :             case 1:
   26092              :               if (!((
   26093              : #line 22314 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26094              : (TARGET_BMI) && 
   26095              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26096              : (TARGET_64BIT)) && 
   26097              : #line 22316 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26098              : ( TARGET_AVOID_FALSE_DEP_FOR_BLS
   26099              :    && epilogue_completed
   26100              :    && optimize_function_for_speed_p (cfun)
   26101              :    && !reg_mentioned_p (operands[0], operands[1]))))
   26102              :                 return NULL;
   26103              :               return gen_split_917 (insn, operands);
   26104              : 
   26105              :             default:
   26106              :               return NULL;
   26107              :             }
   26108              : 
   26109              :         default:
   26110              :           return NULL;
   26111              :         }
   26112              : 
   26113              :     case IOR:
   26114              :       switch (pattern590 (x1, 
   26115              : IOR))
   26116              :         {
   26117              :         case 0:
   26118              :           if (!(
   26119              : #line 13463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26120              : (ix86_match_ccmode (insn, CCNOmode)) && 
   26121              : #line 13467 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26122              : ( reload_completed
   26123              :    && !(rtx_equal_p (operands[0], operands[1])))))
   26124              :             return NULL;
   26125              :           return gen_split_347 (insn, operands);
   26126              : 
   26127              :         case 1:
   26128              :           if (!(
   26129              : #line 13463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26130              : (ix86_match_ccmode (insn, CCNOmode)) && 
   26131              : #line 13467 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26132              : ( reload_completed
   26133              :    && !(rtx_equal_p (operands[0], operands[1])))))
   26134              :             return NULL;
   26135              :           return gen_split_350 (insn, operands);
   26136              : 
   26137              :         case 2:
   26138              :           if (!((
   26139              : #line 13463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26140              : (ix86_match_ccmode (insn, CCNOmode)) && 
   26141              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26142              : (TARGET_64BIT)) && 
   26143              : #line 13467 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26144              : ( reload_completed
   26145              :    && !(rtx_equal_p (operands[0], operands[1])))))
   26146              :             return NULL;
   26147              :           return gen_split_353 (insn, operands);
   26148              : 
   26149              :         default:
   26150              :           return NULL;
   26151              :         }
   26152              : 
   26153              :     case XOR:
   26154              :       switch (pattern590 (x1, 
   26155              : XOR))
   26156              :         {
   26157              :         case 0:
   26158              :           if (!(
   26159              : #line 13463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26160              : (ix86_match_ccmode (insn, CCNOmode)) && 
   26161              : #line 13467 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26162              : ( reload_completed
   26163              :    && !(rtx_equal_p (operands[0], operands[1])))))
   26164              :             return NULL;
   26165              :           return gen_split_348 (insn, operands);
   26166              : 
   26167              :         case 1:
   26168              :           if (!(
   26169              : #line 13463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26170              : (ix86_match_ccmode (insn, CCNOmode)) && 
   26171              : #line 13467 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26172              : ( reload_completed
   26173              :    && !(rtx_equal_p (operands[0], operands[1])))))
   26174              :             return NULL;
   26175              :           return gen_split_351 (insn, operands);
   26176              : 
   26177              :         case 2:
   26178              :           if (!((
   26179              : #line 13463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26180              : (ix86_match_ccmode (insn, CCNOmode)) && 
   26181              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26182              : (TARGET_64BIT)) && 
   26183              : #line 13467 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26184              : ( reload_completed
   26185              :    && !(rtx_equal_p (operands[0], operands[1])))))
   26186              :             return NULL;
   26187              :           return gen_split_354 (insn, operands);
   26188              : 
   26189              :         default:
   26190              :           return NULL;
   26191              :         }
   26192              : 
   26193              :     case NOT:
   26194              :       x9 = XEXP (x3, 1);
   26195              :       if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   26196              :         return NULL;
   26197              :       x7 = XVECEXP (x1, 0, 1);
   26198              :       if (GET_CODE (x7) != SET)
   26199              :         return NULL;
   26200              :       x13 = XEXP (x2, 0);
   26201              :       operands[0] = x13;
   26202              :       if (!flags_reg_operand (operands[0], E_VOIDmode))
   26203              :         return NULL;
   26204              :       operands[2] = x3;
   26205              :       if (!compare_operator (operands[2], E_VOIDmode))
   26206              :         return NULL;
   26207              :       x5 = XEXP (x4, 0);
   26208              :       operands[3] = x5;
   26209              :       x8 = XEXP (x7, 0);
   26210              :       operands[1] = x8;
   26211              :       x10 = XEXP (x7, 1);
   26212              :       switch (GET_CODE (x10))
   26213              :         {
   26214              :         case NOT:
   26215              :           x11 = XEXP (x10, 0);
   26216              :           if (!rtx_equal_p (x11, operands[3]))
   26217              :             return NULL;
   26218              :           switch (GET_MODE (x4))
   26219              :             {
   26220              :             case E_QImode:
   26221              :               if (!nonimmediate_operand (operands[3], E_QImode)
   26222              :                   || !nonimmediate_operand (operands[1], E_QImode)
   26223              :                   || GET_MODE (x10) != E_QImode
   26224              :                   || !
   26225              : #line 15437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26226              : (ix86_match_ccmode (insn, CCNOmode)))
   26227              :                 return NULL;
   26228              :               return gen_split_550 (insn, operands);
   26229              : 
   26230              :             case E_HImode:
   26231              :               if (!nonimmediate_operand (operands[3], E_HImode)
   26232              :                   || !nonimmediate_operand (operands[1], E_HImode)
   26233              :                   || GET_MODE (x10) != E_HImode
   26234              :                   || !
   26235              : #line 15437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26236              : (ix86_match_ccmode (insn, CCNOmode)))
   26237              :                 return NULL;
   26238              :               return gen_split_551 (insn, operands);
   26239              : 
   26240              :             case E_SImode:
   26241              :               if (!nonimmediate_operand (operands[3], E_SImode)
   26242              :                   || !nonimmediate_operand (operands[1], E_SImode)
   26243              :                   || GET_MODE (x10) != E_SImode
   26244              :                   || !
   26245              : #line 15437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26246              : (ix86_match_ccmode (insn, CCNOmode)))
   26247              :                 return NULL;
   26248              :               return gen_split_552 (insn, operands);
   26249              : 
   26250              :             case E_DImode:
   26251              :               if (!nonimmediate_operand (operands[3], E_DImode)
   26252              :                   || !nonimmediate_operand (operands[1], E_DImode)
   26253              :                   || GET_MODE (x10) != E_DImode
   26254              :                   || !(
   26255              : #line 15437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26256              : (ix86_match_ccmode (insn, CCNOmode)) && 
   26257              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26258              : (TARGET_64BIT)))
   26259              :                 return NULL;
   26260              :               return gen_split_553 (insn, operands);
   26261              : 
   26262              :             default:
   26263              :               return NULL;
   26264              :             }
   26265              : 
   26266              :         case ZERO_EXTEND:
   26267              :           if (pattern1247 (x1, 
   26268              : NOT) != 0
   26269              :               || !nonimmediate_operand (operands[3], E_SImode)
   26270              :               || !register_operand (operands[1], E_DImode))
   26271              :             return NULL;
   26272              :           x11 = XEXP (x10, 0);
   26273              :           x17 = XEXP (x11, 0);
   26274              :           if (!rtx_equal_p (x17, operands[3])
   26275              :               || !
   26276              : #line 15464 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26277              : (ix86_match_ccmode (insn, CCNOmode)))
   26278              :             return NULL;
   26279              :           return gen_split_554 (insn, operands);
   26280              : 
   26281              :         default:
   26282              :           return NULL;
   26283              :         }
   26284              : 
   26285              :     case REG:
   26286              :     case SUBREG:
   26287              :     case MEM:
   26288              :       operands[1] = x4;
   26289              :       x9 = XEXP (x3, 1);
   26290              :       if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
   26291              :           || pattern586 (x1, 
   26292              : CTZ, 
   26293              : E_CCCmode) != 0
   26294              :           || GET_MODE (x3) != E_CCCmode)
   26295              :         return NULL;
   26296              :       x7 = XVECEXP (x1, 0, 1);
   26297              :       x8 = XEXP (x7, 0);
   26298              :       operands[0] = x8;
   26299              :       x10 = XEXP (x7, 1);
   26300              :       x11 = XEXP (x10, 0);
   26301              :       if (!rtx_equal_p (x11, operands[1]))
   26302              :         return NULL;
   26303              :       switch (pattern1501 (x10))
   26304              :         {
   26305              :         case 0:
   26306              :           if (!(
   26307              : #line 21365 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26308              : (TARGET_BMI) && 
   26309              : #line 21367 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26310              : ( (TARGET_AVOID_FALSE_DEP_FOR_BMI || TARGET_AVOID_FALSE_DEP_FOR_TZCNT)
   26311              :    && epilogue_completed
   26312              :    && optimize_function_for_speed_p (cfun)
   26313              :    && !reg_mentioned_p (operands[0], operands[1]))))
   26314              :             return NULL;
   26315              :           return gen_split_877 (insn, operands);
   26316              : 
   26317              :         case 1:
   26318              :           if (!((
   26319              : #line 21365 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26320              : (TARGET_BMI) && 
   26321              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26322              : (TARGET_64BIT)) && 
   26323              : #line 21367 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26324              : ( (TARGET_AVOID_FALSE_DEP_FOR_BMI || TARGET_AVOID_FALSE_DEP_FOR_TZCNT)
   26325              :    && epilogue_completed
   26326              :    && optimize_function_for_speed_p (cfun)
   26327              :    && !reg_mentioned_p (operands[0], operands[1]))))
   26328              :             return NULL;
   26329              :           return gen_split_878 (insn, operands);
   26330              : 
   26331              :         default:
   26332              :           return NULL;
   26333              :         }
   26334              : 
   26335              :     default:
   26336              :       return NULL;
   26337              :     }
   26338              : }
   26339              : 
   26340              :  rtx_insn *
   26341              : split_33 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
   26342              : {
   26343              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   26344              :   rtx x2, x3, x4, x5, x6, x7;
   26345              :   rtx_insn *res ATTRIBUTE_UNUSED;
   26346              :   x2 = XVECEXP (x1, 0, 0);
   26347              :   x3 = XEXP (x2, 0);
   26348              :   operands[0] = x3;
   26349              :   x4 = XEXP (x2, 1);
   26350              :   x5 = XEXP (x4, 0);
   26351              :   operands[1] = x5;
   26352              :   x6 = XVECEXP (x1, 0, 1);
   26353              :   switch (GET_CODE (x6))
   26354              :     {
   26355              :     case CLOBBER:
   26356              :       x7 = XEXP (x6, 0);
   26357              :       switch (pattern705 (x7))
   26358              :         {
   26359              :         case 0:
   26360              :           if (!register_operand (operands[0], E_DImode)
   26361              :               || GET_MODE (x4) != E_DImode
   26362              :               || !general_operand (operands[1], E_DImode))
   26363              :             return NULL;
   26364              :           if (((
   26365              : #line 14945 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26366              : (TARGET_CMOVE
   26367              :    && ix86_pre_reload_split ()) && 
   26368              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26369              : (!TARGET_64BIT)) && 
   26370              : #line 14948 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26371              : ( 1)))
   26372              :             return gen_split_503 (insn, operands);
   26373              :           if (!((
   26374              : #line 15032 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26375              : (TARGET_CMOVE
   26376              :    && (DImode != QImode || !TARGET_PARTIAL_REG_STALL)
   26377              :    && ix86_pre_reload_split ()) && 
   26378              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26379              : (TARGET_64BIT)) && 
   26380              : #line 15036 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26381              : ( 1)))
   26382              :             return NULL;
   26383              :           return gen_split_510 (insn, operands);
   26384              : 
   26385              :         case 1:
   26386              :           if (!register_operand (operands[0], E_TImode)
   26387              :               || GET_MODE (x4) != E_TImode
   26388              :               || !general_operand (operands[1], E_TImode)
   26389              :               || !((
   26390              : #line 14945 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26391              : (TARGET_CMOVE
   26392              :    && ix86_pre_reload_split ()) && 
   26393              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26394              : (TARGET_64BIT)) && 
   26395              : #line 14948 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26396              : ( 1)))
   26397              :             return NULL;
   26398              :           return gen_split_504 (insn, operands);
   26399              : 
   26400              :         case 2:
   26401              :           if (!register_operand (operands[0], E_QImode)
   26402              :               || GET_MODE (x4) != E_QImode
   26403              :               || !general_operand (operands[1], E_QImode)
   26404              :               || !(
   26405              : #line 15032 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26406              : (TARGET_CMOVE
   26407              :    && (QImode != QImode || !TARGET_PARTIAL_REG_STALL)
   26408              :    && ix86_pre_reload_split ()) && 
   26409              : #line 15036 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26410              : ( 1)))
   26411              :             return NULL;
   26412              :           return gen_split_507 (insn, operands);
   26413              : 
   26414              :         case 3:
   26415              :           if (!register_operand (operands[0], E_HImode)
   26416              :               || GET_MODE (x4) != E_HImode
   26417              :               || !general_operand (operands[1], E_HImode)
   26418              :               || !(
   26419              : #line 15032 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26420              : (TARGET_CMOVE
   26421              :    && (HImode != QImode || !TARGET_PARTIAL_REG_STALL)
   26422              :    && ix86_pre_reload_split ()) && 
   26423              : #line 15036 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26424              : ( 1)))
   26425              :             return NULL;
   26426              :           return gen_split_508 (insn, operands);
   26427              : 
   26428              :         case 4:
   26429              :           if (!register_operand (operands[0], E_SImode)
   26430              :               || GET_MODE (x4) != E_SImode
   26431              :               || !general_operand (operands[1], E_SImode)
   26432              :               || !(
   26433              : #line 15032 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26434              : (TARGET_CMOVE
   26435              :    && (SImode != QImode || !TARGET_PARTIAL_REG_STALL)
   26436              :    && ix86_pre_reload_split ()) && 
   26437              : #line 15036 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26438              : ( 1)))
   26439              :             return NULL;
   26440              :           return gen_split_509 (insn, operands);
   26441              : 
   26442              :         case 5:
   26443              :           if (GET_MODE (x4) != E_SFmode)
   26444              :             return NULL;
   26445              :           if (fp_register_operand (operands[0], E_SFmode)
   26446              :               && fp_register_operand (operands[1], E_SFmode)
   26447              :               && 
   26448              : #line 15162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26449              : (TARGET_80387 && reload_completed))
   26450              :             return gen_split_518 (insn, operands);
   26451              :           if (!general_reg_operand (operands[0], E_SFmode)
   26452              :               || !general_reg_operand (operands[1], E_SFmode)
   26453              :               || !
   26454              : #line 15169 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26455              : (TARGET_80387 && reload_completed))
   26456              :             return NULL;
   26457              :           return gen_split_524 (insn, operands);
   26458              : 
   26459              :         case 6:
   26460              :           if (GET_MODE (x4) != E_DFmode)
   26461              :             return NULL;
   26462              :           if (fp_register_operand (operands[0], E_DFmode)
   26463              :               && fp_register_operand (operands[1], E_DFmode)
   26464              :               && 
   26465              : #line 15162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26466              : (TARGET_80387 && reload_completed))
   26467              :             return gen_split_520 (insn, operands);
   26468              :           if (!general_reg_operand (operands[0], E_DFmode)
   26469              :               || !general_reg_operand (operands[1], E_DFmode)
   26470              :               || !
   26471              : #line 15169 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26472              : (TARGET_80387 && reload_completed))
   26473              :             return NULL;
   26474              :           return gen_split_526 (insn, operands);
   26475              : 
   26476              :         case 7:
   26477              :           if (GET_MODE (x4) != E_XFmode)
   26478              :             return NULL;
   26479              :           if (fp_register_operand (operands[0], E_XFmode)
   26480              :               && fp_register_operand (operands[1], E_XFmode)
   26481              :               && 
   26482              : #line 15162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26483              : (TARGET_80387 && reload_completed))
   26484              :             return gen_split_522 (insn, operands);
   26485              :           if (!general_reg_operand (operands[0], E_XFmode)
   26486              :               || !general_reg_operand (operands[1], E_XFmode)
   26487              :               || !
   26488              : #line 15169 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26489              : (TARGET_80387 && reload_completed))
   26490              :             return NULL;
   26491              :           return gen_split_528 (insn, operands);
   26492              : 
   26493              :         default:
   26494              :           return NULL;
   26495              :         }
   26496              : 
   26497              :     case USE:
   26498              :       if (pattern843 (x1) != 0
   26499              :           || !(
   26500              : #line 15093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26501              : (TARGET_SSE) && 
   26502              : #line 15095 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26503              : ( reload_completed)))
   26504              :         return NULL;
   26505              :       return gen_split_515 (insn, operands);
   26506              : 
   26507              :     default:
   26508              :       return NULL;
   26509              :     }
   26510              : }
   26511              : 
   26512              :  rtx_insn *
   26513              : split_40 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
   26514              : {
   26515              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   26516              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   26517              :   rtx_insn *res ATTRIBUTE_UNUSED;
   26518              :   x2 = XVECEXP (x1, 0, 0);
   26519              :   x3 = XEXP (x2, 0);
   26520              :   operands[0] = x3;
   26521              :   x4 = XEXP (x2, 1);
   26522              :   x5 = XEXP (x4, 0);
   26523              :   switch (GET_CODE (x5))
   26524              :     {
   26525              :     case REG:
   26526              :     case SUBREG:
   26527              :     case MEM:
   26528              :       operands[1] = x5;
   26529              :       x6 = XVECEXP (x1, 0, 1);
   26530              :       switch (GET_CODE (x6))
   26531              :         {
   26532              :         case CLOBBER:
   26533              :           x7 = XEXP (x6, 0);
   26534              :           if (GET_CODE (x7) != REG
   26535              :               || REGNO (x7) != 17
   26536              :               || GET_MODE (x7) != E_CCmode)
   26537              :             return NULL;
   26538              :           if (register_operand (operands[0], E_VOIDmode)
   26539              :               && register_operand (operands[1], E_VOIDmode)
   26540              :               && 
   26541              : #line 28295 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26542              : (! TARGET_PARTIAL_REG_STALL && reload_completed
   26543              :    && (GET_MODE (operands[0]) == HImode
   26544              :        || (GET_MODE (operands[0]) == QImode && TARGET_PROMOTE_QImode))))
   26545              :             return gen_split_1014 (insn, operands);
   26546              :           if (GET_MODE (x4) != E_V2QImode)
   26547              :             return NULL;
   26548              :           if (general_reg_operand (operands[0], E_V2QImode)
   26549              :               && general_reg_operand (operands[1], E_V2QImode)
   26550              :               && 
   26551              : #line 3180 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26552              : ((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   26553              :    && reload_completed))
   26554              :             return gen_split_1090 (insn, operands);
   26555              :           if (!sse_reg_operand (operands[0], E_V2QImode)
   26556              :               || !sse_reg_operand (operands[1], E_V2QImode)
   26557              :               || !
   26558              : #line 3207 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26559              : (TARGET_SSE2 && reload_completed))
   26560              :             return NULL;
   26561              :           return gen_split_1091 (insn, operands);
   26562              : 
   26563              :         case USE:
   26564              :           switch (pattern844 (x1))
   26565              :             {
   26566              :             case 0:
   26567              :               if (!(
   26568              : #line 706 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26569              : (TARGET_MMX_WITH_SSE) && 
   26570              : #line 708 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26571              : ( reload_completed)))
   26572              :                 return NULL;
   26573              :               return gen_split_1070 (insn, operands);
   26574              : 
   26575              :             case 1:
   26576              :               if (!(
   26577              : #line 2263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26578              : (TARGET_SSE) && 
   26579              : #line 2265 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26580              : ( reload_completed)))
   26581              :                 return NULL;
   26582              :               return gen_split_1079 (insn, operands);
   26583              : 
   26584              :             case 2:
   26585              :               if (!((
   26586              : #line 2263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26587              : (TARGET_SSE) && 
   26588              : #line 2248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26589              : (TARGET_MMX_WITH_SSE)) && 
   26590              : #line 2265 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26591              : ( reload_completed)))
   26592              :                 return NULL;
   26593              :               return gen_split_1081 (insn, operands);
   26594              : 
   26595              :             case 3:
   26596              :               if (!(
   26597              : #line 2263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26598              : (TARGET_SSE) && 
   26599              : #line 2265 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26600              : ( reload_completed)))
   26601              :                 return NULL;
   26602              :               return gen_split_1083 (insn, operands);
   26603              : 
   26604              :             case 4:
   26605              :               if (!((
   26606              : #line 2263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26607              : (TARGET_SSE) && 
   26608              : #line 2249 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26609              : (TARGET_MMX_WITH_SSE)) && 
   26610              : #line 2265 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26611              : ( reload_completed)))
   26612              :                 return NULL;
   26613              :               return gen_split_1085 (insn, operands);
   26614              : 
   26615              :             case 5:
   26616              :               if (!((
   26617              : #line 2609 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26618              : (TARGET_SSE) && 
   26619              : #line 415 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26620              : (TARGET_AVX512F)) && 
   26621              : #line 2611 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26622              : ( reload_completed)))
   26623              :                 return NULL;
   26624              :               return gen_split_1308 (insn, operands);
   26625              : 
   26626              :             case 6:
   26627              :               if (!((
   26628              : #line 2609 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26629              : (TARGET_SSE) && 
   26630              : #line 416 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26631              : (TARGET_AVX)) && 
   26632              : #line 2611 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26633              : ( reload_completed)))
   26634              :                 return NULL;
   26635              :               return gen_split_1310 (insn, operands);
   26636              : 
   26637              :             case 7:
   26638              :               if (!((
   26639              : #line 2609 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26640              : (TARGET_SSE) && 
   26641              : #line 416 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26642              : (TARGET_SSE2)) && 
   26643              : #line 2611 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26644              : ( reload_completed)))
   26645              :                 return NULL;
   26646              :               return gen_split_1312 (insn, operands);
   26647              : 
   26648              :             case 8:
   26649              :               if (!((
   26650              : #line 2609 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26651              : (TARGET_SSE) && 
   26652              : #line 417 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26653              : (TARGET_AVX512F)) && 
   26654              : #line 2611 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26655              : ( reload_completed)))
   26656              :                 return NULL;
   26657              :               return gen_split_1314 (insn, operands);
   26658              : 
   26659              :             case 9:
   26660              :               if (!((
   26661              : #line 2609 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26662              : (TARGET_SSE) && 
   26663              : #line 418 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26664              : (TARGET_AVX)) && 
   26665              : #line 2611 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26666              : ( reload_completed)))
   26667              :                 return NULL;
   26668              :               return gen_split_1316 (insn, operands);
   26669              : 
   26670              :             case 10:
   26671              :               if (!((
   26672              : #line 2609 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26673              : (TARGET_SSE) && 
   26674              : #line 418 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26675              : (TARGET_SSE2)) && 
   26676              : #line 2611 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26677              : ( reload_completed)))
   26678              :                 return NULL;
   26679              :               return gen_split_1318 (insn, operands);
   26680              : 
   26681              :             case 11:
   26682              :               if (!((
   26683              : #line 2609 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26684              : (TARGET_SSE) && 
   26685              : #line 419 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26686              : (TARGET_AVX512F)) && 
   26687              : #line 2611 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26688              : ( reload_completed)))
   26689              :                 return NULL;
   26690              :               return gen_split_1320 (insn, operands);
   26691              : 
   26692              :             case 12:
   26693              :               if (!((
   26694              : #line 2609 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26695              : (TARGET_SSE) && 
   26696              : #line 419 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26697              : (TARGET_AVX)) && 
   26698              : #line 2611 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26699              : ( reload_completed)))
   26700              :                 return NULL;
   26701              :               return gen_split_1322 (insn, operands);
   26702              : 
   26703              :             case 13:
   26704              :               if (!(
   26705              : #line 2609 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26706              : (TARGET_SSE) && 
   26707              : #line 2611 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26708              : ( reload_completed)))
   26709              :                 return NULL;
   26710              :               return gen_split_1324 (insn, operands);
   26711              : 
   26712              :             case 14:
   26713              :               if (!((
   26714              : #line 2609 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26715              : (TARGET_SSE) && 
   26716              : #line 420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26717              : (TARGET_AVX512F)) && 
   26718              : #line 2611 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26719              : ( reload_completed)))
   26720              :                 return NULL;
   26721              :               return gen_split_1326 (insn, operands);
   26722              : 
   26723              :             case 15:
   26724              :               if (!((
   26725              : #line 2609 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26726              : (TARGET_SSE) && 
   26727              : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26728              : (TARGET_AVX)) && 
   26729              : #line 2611 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26730              : ( reload_completed)))
   26731              :                 return NULL;
   26732              :               return gen_split_1328 (insn, operands);
   26733              : 
   26734              :             case 16:
   26735              :               if (!((
   26736              : #line 2609 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26737              : (TARGET_SSE) && 
   26738              : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26739              : (TARGET_SSE2)) && 
   26740              : #line 2611 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26741              : ( reload_completed)))
   26742              :                 return NULL;
   26743              :               return gen_split_1330 (insn, operands);
   26744              : 
   26745              :             default:
   26746              :               return NULL;
   26747              :             }
   26748              : 
   26749              :         default:
   26750              :           return NULL;
   26751              :         }
   26752              : 
   26753              :     case LTU:
   26754              :     case UNLT:
   26755              :       operands[1] = x5;
   26756              :       if (!ix86_carry_flag_operator (operands[1], E_VOIDmode))
   26757              :         return NULL;
   26758              :       x8 = XEXP (x5, 0);
   26759              :       if (GET_CODE (x8) != REG
   26760              :           || REGNO (x8) != 17)
   26761              :         return NULL;
   26762              :       x9 = XEXP (x5, 1);
   26763              :       if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   26764              :         return NULL;
   26765              :       x6 = XVECEXP (x1, 0, 1);
   26766              :       if (pattern236 (x6, 
   26767              : E_CCmode, 
   26768              : 17) != 0
   26769              :           || !general_reg_operand (operands[0], E_VOIDmode)
   26770              :           || !
   26771              : #line 28325 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26772              : (! TARGET_PARTIAL_REG_STALL && reload_completed
   26773              :    && (GET_MODE (operands[0]) == HImode
   26774              :        || (GET_MODE (operands[0]) == QImode && TARGET_PROMOTE_QImode))))
   26775              :         return NULL;
   26776              :       return gen_split_1016 (insn, operands);
   26777              : 
   26778              :     case ABS:
   26779              :       x6 = XVECEXP (x1, 0, 1);
   26780              :       if (GET_CODE (x6) != USE)
   26781              :         return NULL;
   26782              :       x8 = XEXP (x5, 0);
   26783              :       operands[1] = x8;
   26784              :       x7 = XEXP (x6, 0);
   26785              :       operands[2] = x7;
   26786              :       switch (GET_MODE (operands[0]))
   26787              :         {
   26788              :         case E_V2SFmode:
   26789              :           if (pattern1063 (x4) != 0
   26790              :               || !(
   26791              : #line 723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26792              : (TARGET_MMX_WITH_SSE) && 
   26793              : #line 725 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26794              : ( reload_completed)))
   26795              :             return NULL;
   26796              :           return gen_split_1071 (insn, operands);
   26797              : 
   26798              :         case E_V2BFmode:
   26799              :           if (pattern1064 (x4, 
   26800              : E_V2BFmode) != 0
   26801              :               || !(
   26802              : #line 2280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26803              : (TARGET_SSE) && 
   26804              : #line 2282 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26805              : ( reload_completed)))
   26806              :             return NULL;
   26807              :           return gen_split_1086 (insn, operands);
   26808              : 
   26809              :         case E_V4BFmode:
   26810              :           if (pattern1064 (x4, 
   26811              : E_V4BFmode) != 0
   26812              :               || !((
   26813              : #line 2280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26814              : (TARGET_SSE) && 
   26815              : #line 2248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26816              : (TARGET_MMX_WITH_SSE)) && 
   26817              : #line 2282 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26818              : ( reload_completed)))
   26819              :             return NULL;
   26820              :           return gen_split_1087 (insn, operands);
   26821              : 
   26822              :         case E_V2HFmode:
   26823              :           if (pattern1064 (x4, 
   26824              : E_V2HFmode) != 0
   26825              :               || !(
   26826              : #line 2280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26827              : (TARGET_SSE) && 
   26828              : #line 2282 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26829              : ( reload_completed)))
   26830              :             return NULL;
   26831              :           return gen_split_1088 (insn, operands);
   26832              : 
   26833              :         case E_V4HFmode:
   26834              :           if (pattern1064 (x4, 
   26835              : E_V4HFmode) != 0
   26836              :               || !((
   26837              : #line 2280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26838              : (TARGET_SSE) && 
   26839              : #line 2249 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26840              : (TARGET_MMX_WITH_SSE)) && 
   26841              : #line 2282 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26842              : ( reload_completed)))
   26843              :             return NULL;
   26844              :           return gen_split_1089 (insn, operands);
   26845              : 
   26846              :         case E_V16SFmode:
   26847              :           if (pattern1061 (x4, 
   26848              : E_V16SFmode) != 0
   26849              :               || !((
   26850              : #line 2634 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26851              : (TARGET_SSE) && 
   26852              : #line 382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26853              : (TARGET_AVX512F)) && 
   26854              : #line 2636 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26855              : ( reload_completed)))
   26856              :             return NULL;
   26857              :           return gen_split_1331 (insn, operands);
   26858              : 
   26859              :         case E_V8SFmode:
   26860              :           if (pattern1061 (x4, 
   26861              : E_V8SFmode) != 0
   26862              :               || !((
   26863              : #line 2634 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26864              : (TARGET_SSE) && 
   26865              : #line 382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26866              : (TARGET_AVX)) && 
   26867              : #line 2636 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26868              : ( reload_completed)))
   26869              :             return NULL;
   26870              :           return gen_split_1332 (insn, operands);
   26871              : 
   26872              :         case E_V4SFmode:
   26873              :           if (pattern1061 (x4, 
   26874              : E_V4SFmode) != 0
   26875              :               || !(
   26876              : #line 2634 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26877              : (TARGET_SSE) && 
   26878              : #line 2636 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26879              : ( reload_completed)))
   26880              :             return NULL;
   26881              :           return gen_split_1333 (insn, operands);
   26882              : 
   26883              :         case E_V8DFmode:
   26884              :           if (pattern1061 (x4, 
   26885              : E_V8DFmode) != 0
   26886              :               || !((
   26887              : #line 2634 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26888              : (TARGET_SSE) && 
   26889              : #line 383 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26890              : (TARGET_AVX512F)) && 
   26891              : #line 2636 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26892              : ( reload_completed)))
   26893              :             return NULL;
   26894              :           return gen_split_1334 (insn, operands);
   26895              : 
   26896              :         case E_V4DFmode:
   26897              :           if (pattern1061 (x4, 
   26898              : E_V4DFmode) != 0
   26899              :               || !((
   26900              : #line 2634 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26901              : (TARGET_SSE) && 
   26902              : #line 383 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26903              : (TARGET_AVX)) && 
   26904              : #line 2636 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26905              : ( reload_completed)))
   26906              :             return NULL;
   26907              :           return gen_split_1335 (insn, operands);
   26908              : 
   26909              :         case E_V2DFmode:
   26910              :           if (pattern1061 (x4, 
   26911              : E_V2DFmode) != 0
   26912              :               || !((
   26913              : #line 2634 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26914              : (TARGET_SSE) && 
   26915              : #line 384 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26916              : (TARGET_SSE2)) && 
   26917              : #line 2636 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26918              : ( reload_completed)))
   26919              :             return NULL;
   26920              :           return gen_split_1336 (insn, operands);
   26921              : 
   26922              :         default:
   26923              :           return NULL;
   26924              :         }
   26925              : 
   26926              :     default:
   26927              :       return NULL;
   26928              :     }
   26929              : }
   26930              : 
   26931              :  rtx_insn *
   26932              : split_52 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
   26933              : {
   26934              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   26935              :   rtx x2, x3, x4, x5, x6, x7;
   26936              :   rtx_insn *res ATTRIBUTE_UNUSED;
   26937              :   x2 = XEXP (x1, 0);
   26938              :   operands[0] = x2;
   26939              :   x3 = XEXP (x1, 1);
   26940              :   x4 = XEXP (x3, 0);
   26941              :   switch (GET_CODE (x4))
   26942              :     {
   26943              :     case LT:
   26944              :       x5 = XEXP (x4, 0);
   26945              :       operands[1] = x5;
   26946              :       x6 = XEXP (x4, 1);
   26947              :       operands[2] = x6;
   26948              :       x7 = XEXP (x3, 1);
   26949              :       operands[3] = x7;
   26950              :       switch (GET_MODE (operands[0]))
   26951              :         {
   26952              :         case E_V4HImode:
   26953              :           if (pattern956 (x3, 
   26954              : E_V4HImode) != 0
   26955              :               || !
   26956              : #line 3940 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26957              : (TARGET_MMX_WITH_SSE && ix86_pre_reload_split ()))
   26958              :             return NULL;
   26959              :           return gen_split_1098 (insn, operands);
   26960              : 
   26961              :         case E_V2SImode:
   26962              :           if (pattern956 (x3, 
   26963              : E_V2SImode) != 0
   26964              :               || !
   26965              : #line 3940 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26966              : (TARGET_MMX_WITH_SSE && ix86_pre_reload_split ()))
   26967              :             return NULL;
   26968              :           return gen_split_1099 (insn, operands);
   26969              : 
   26970              :         case E_V1DImode:
   26971              :           if (pattern956 (x3, 
   26972              : E_V1DImode) != 0
   26973              :               || !
   26974              : #line 3940 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26975              : (TARGET_MMX_WITH_SSE && ix86_pre_reload_split ()))
   26976              :             return NULL;
   26977              :           return gen_split_1100 (insn, operands);
   26978              : 
   26979              :         case E_V2HImode:
   26980              :           if (pattern956 (x3, 
   26981              : E_V2HImode) != 0
   26982              :               || !
   26983              : #line 4003 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26984              : (TARGET_SSE2 && ix86_pre_reload_split ()))
   26985              :             return NULL;
   26986              :           return gen_split_1102 (insn, operands);
   26987              : 
   26988              :         default:
   26989              :           return NULL;
   26990              :         }
   26991              : 
   26992              :     case REG:
   26993              :       switch (pattern242 (x3))
   26994              :         {
   26995              :         case 0:
   26996              :           if (!
   26997              : #line 2138 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26998              : (TARGET_AVX512F && reload_completed))
   26999              :             return NULL;
   27000              :           return gen_split_1233 (insn, operands);
   27001              : 
   27002              :         case 1:
   27003              :           if (!
   27004              : #line 2138 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27005              : (TARGET_AVX512F && reload_completed))
   27006              :             return NULL;
   27007              :           return gen_split_1236 (insn, operands);
   27008              : 
   27009              :         case 2:
   27010              :           if (!(
   27011              : #line 2138 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27012              : (TARGET_AVX512F && reload_completed) && 
   27013              : #line 2098 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27014              : (TARGET_AVX512BW)))
   27015              :             return NULL;
   27016              :           return gen_split_1239 (insn, operands);
   27017              : 
   27018              :         case 3:
   27019              :           if (!(
   27020              : #line 2138 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27021              : (TARGET_AVX512F && reload_completed) && 
   27022              : #line 2098 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27023              : (TARGET_AVX512BW)))
   27024              :             return NULL;
   27025              :           return gen_split_1242 (insn, operands);
   27026              : 
   27027              :         default:
   27028              :           return NULL;
   27029              :         }
   27030              : 
   27031              :     default:
   27032              :       return NULL;
   27033              :     }
   27034              : }
   27035              : 
   27036              :  rtx_insn *
   27037              : split_53 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
   27038              : {
   27039              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   27040              :   rtx x2, x3, x4, x5;
   27041              :   rtx_insn *res ATTRIBUTE_UNUSED;
   27042              :   x2 = XEXP (x1, 1);
   27043              :   x3 = XEXP (x2, 0);
   27044              :   if (GET_CODE (x3) != SS_TRUNCATE)
   27045              :     return NULL;
   27046              :   x4 = XEXP (x2, 1);
   27047              :   if (GET_CODE (x4) != SS_TRUNCATE)
   27048              :     return NULL;
   27049              :   x5 = XEXP (x1, 0);
   27050              :   operands[0] = x5;
   27051              :   switch (pattern271 (x2))
   27052              :     {
   27053              :     case 0:
   27054              :       if (!(
   27055              : #line 4799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   27056              : (TARGET_MMX || TARGET_MMX_WITH_SSE) && 
   27057              : #line 4804 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   27058              : ( reload_completed
   27059              :    && SSE_REGNO_P (REGNO (operands[0])))))
   27060              :         return NULL;
   27061              :       return gen_split_1146 (insn, operands);
   27062              : 
   27063              :     case 1:
   27064              :       if (!(
   27065              : #line 4840 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   27066              : (TARGET_MMX || TARGET_MMX_WITH_SSE) && 
   27067              : #line 4845 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   27068              : ( reload_completed
   27069              :    && SSE_REGNO_P (REGNO (operands[0])))))
   27070              :         return NULL;
   27071              :       return gen_split_1148 (insn, operands);
   27072              : 
   27073              :     default:
   27074              :       return NULL;
   27075              :     }
   27076              : }
   27077              : 
   27078              :  rtx_insn *
   27079              : split_54 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
   27080              : {
   27081              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   27082              :   rtx x2, x3, x4, x5, x6, x7;
   27083              :   rtx_insn *res ATTRIBUTE_UNUSED;
   27084              :   x2 = XEXP (x1, 1);
   27085              :   x3 = XEXP (x2, 0);
   27086              :   if (GET_CODE (x3) != VEC_DUPLICATE)
   27087              :     return NULL;
   27088              :   x4 = XEXP (x1, 0);
   27089              :   operands[0] = x4;
   27090              :   x5 = XEXP (x3, 0);
   27091              :   operands[2] = x5;
   27092              :   x6 = XEXP (x2, 1);
   27093              :   operands[1] = x6;
   27094              :   x7 = XEXP (x2, 2);
   27095              :   operands[3] = x7;
   27096              :   if (!const_int_operand (operands[3], E_SImode))
   27097              :     return NULL;
   27098              :   switch (GET_MODE (operands[0]))
   27099              :     {
   27100              :     case E_V4HFmode:
   27101              :       if (pattern1072 (x2, 
   27102              : E_V4HFmode, 
   27103              : E_HFmode) != 0
   27104              :           || !
   27105              : #line 5359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   27106              : (TARGET_MMX_WITH_SSE && TARGET_SSE4_1 && reload_completed
   27107              :    && ((unsigned) exact_log2 (INTVAL (operands[3]))
   27108              :        < GET_MODE_NUNITS (V4HFmode))))
   27109              :         return NULL;
   27110              :       return gen_split_1158 (insn, operands);
   27111              : 
   27112              :     case E_V4BFmode:
   27113              :       if (pattern1072 (x2, 
   27114              : E_V4BFmode, 
   27115              : E_BFmode) != 0
   27116              :           || !
   27117              : #line 5359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   27118              : (TARGET_MMX_WITH_SSE && TARGET_SSE4_1 && reload_completed
   27119              :    && ((unsigned) exact_log2 (INTVAL (operands[3]))
   27120              :        < GET_MODE_NUNITS (V4BFmode))))
   27121              :         return NULL;
   27122              :       return gen_split_1159 (insn, operands);
   27123              : 
   27124              :     case E_V4HImode:
   27125              :       if (pattern1072 (x2, 
   27126              : E_V4HImode, 
   27127              : E_HImode) != 0
   27128              :           || !
   27129              : #line 5359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   27130              : (TARGET_MMX_WITH_SSE && TARGET_SSE4_1 && reload_completed
   27131              :    && ((unsigned) exact_log2 (INTVAL (operands[3]))
   27132              :        < GET_MODE_NUNITS (V4HImode))))
   27133              :         return NULL;
   27134              :       return gen_split_1160 (insn, operands);
   27135              : 
   27136              :     case E_V2HFmode:
   27137              :       if (pattern1072 (x2, 
   27138              : E_V2HFmode, 
   27139              : E_HFmode) != 0
   27140              :           || !
   27141              : #line 6024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   27142              : (TARGET_SSE4_1 && reload_completed
   27143              :    && ((unsigned) exact_log2 (INTVAL (operands[3]))
   27144              :        < GET_MODE_NUNITS (V2HFmode))))
   27145              :         return NULL;
   27146              :       return gen_split_1166 (insn, operands);
   27147              : 
   27148              :     case E_V2BFmode:
   27149              :       if (pattern1072 (x2, 
   27150              : E_V2BFmode, 
   27151              : E_BFmode) != 0
   27152              :           || !
   27153              : #line 6024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   27154              : (TARGET_SSE4_1 && reload_completed
   27155              :    && ((unsigned) exact_log2 (INTVAL (operands[3]))
   27156              :        < GET_MODE_NUNITS (V2BFmode))))
   27157              :         return NULL;
   27158              :       return gen_split_1167 (insn, operands);
   27159              : 
   27160              :     case E_V2HImode:
   27161              :       if (pattern1072 (x2, 
   27162              : E_V2HImode, 
   27163              : E_HImode) != 0
   27164              :           || !
   27165              : #line 6024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   27166              : (TARGET_SSE4_1 && reload_completed
   27167              :    && ((unsigned) exact_log2 (INTVAL (operands[3]))
   27168              :        < GET_MODE_NUNITS (V2HImode))))
   27169              :         return NULL;
   27170              :       return gen_split_1168 (insn, operands);
   27171              : 
   27172              :     default:
   27173              :       return NULL;
   27174              :     }
   27175              : }
   27176              : 
   27177              :  rtx_insn *
   27178              : split_56 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
   27179              : {
   27180              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   27181              :   rtx x2, x3, x4, x5;
   27182              :   rtx_insn *res ATTRIBUTE_UNUSED;
   27183              :   x2 = XEXP (x1, 1);
   27184              :   if (GET_MODE (x2) != E_DImode)
   27185              :     return NULL;
   27186              :   x3 = XEXP (x2, 0);
   27187              :   if (GET_CODE (x3) != UNSPEC
   27188              :       || XVECLEN (x3, 0) != 1
   27189              :       || XINT (x3, 1) != 50
   27190              :       || GET_MODE (x3) != E_SImode)
   27191              :     return NULL;
   27192              :   x4 = XEXP (x1, 0);
   27193              :   operands[0] = x4;
   27194              :   if (!register_operand (operands[0], E_DImode))
   27195              :     return NULL;
   27196              :   x5 = XVECEXP (x3, 0, 0);
   27197              :   switch (GET_CODE (x5))
   27198              :     {
   27199              :     case LT:
   27200              :       switch (pattern995 (x5))
   27201              :         {
   27202              :         case 0:
   27203              :           if (!((
   27204              : #line 22356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27205              : (TARGET_64BIT && TARGET_SSE) && 
   27206              : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27207              : (TARGET_AVX)) && 
   27208              : #line 22358 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27209              : ( reload_completed)))
   27210              :             return NULL;
   27211              :           return gen_split_3503 (insn, operands);
   27212              : 
   27213              :         case 1:
   27214              :           if (!(
   27215              : #line 22356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27216              : (TARGET_64BIT && TARGET_SSE) && 
   27217              : #line 22358 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27218              : ( reload_completed)))
   27219              :             return NULL;
   27220              :           return gen_split_3505 (insn, operands);
   27221              : 
   27222              :         case 2:
   27223              :           if (!((
   27224              : #line 22356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27225              : (TARGET_64BIT && TARGET_SSE) && 
   27226              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27227              : (TARGET_AVX)) && 
   27228              : #line 22358 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27229              : ( reload_completed)))
   27230              :             return NULL;
   27231              :           return gen_split_3507 (insn, operands);
   27232              : 
   27233              :         case 3:
   27234              :           if (!((
   27235              : #line 22356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27236              : (TARGET_64BIT && TARGET_SSE) && 
   27237              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27238              : (TARGET_SSE2)) && 
   27239              : #line 22358 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27240              : ( reload_completed)))
   27241              :             return NULL;
   27242              :           return gen_split_3509 (insn, operands);
   27243              : 
   27244              :         case 4:
   27245              :           if (!(
   27246              : #line 22668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27247              : (TARGET_64BIT && TARGET_SSE2) && 
   27248              : #line 22670 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27249              : ( 1)))
   27250              :             return NULL;
   27251              :           return gen_split_3545 (insn, operands);
   27252              : 
   27253              :         default:
   27254              :           return NULL;
   27255              :         }
   27256              : 
   27257              :     case SUBREG:
   27258              :       switch (pattern1098 (x5))
   27259              :         {
   27260              :         case 0:
   27261              :           if (!((
   27262              : #line 22381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27263              : (TARGET_64BIT && TARGET_SSE) && 
   27264              : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27265              : (TARGET_AVX)) && 
   27266              : #line 22383 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27267              : ( reload_completed)))
   27268              :             return NULL;
   27269              :           return gen_split_3511 (insn, operands);
   27270              : 
   27271              :         case 1:
   27272              :           if (!(
   27273              : #line 22381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27274              : (TARGET_64BIT && TARGET_SSE) && 
   27275              : #line 22383 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27276              : ( reload_completed)))
   27277              :             return NULL;
   27278              :           return gen_split_3513 (insn, operands);
   27279              : 
   27280              :         case 2:
   27281              :           if (!((
   27282              : #line 22381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27283              : (TARGET_64BIT && TARGET_SSE) && 
   27284              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27285              : (TARGET_AVX)) && 
   27286              : #line 22383 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27287              : ( reload_completed)))
   27288              :             return NULL;
   27289              :           return gen_split_3515 (insn, operands);
   27290              : 
   27291              :         case 3:
   27292              :           if (!((
   27293              : #line 22381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27294              : (TARGET_64BIT && TARGET_SSE) && 
   27295              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27296              : (TARGET_SSE2)) && 
   27297              : #line 22383 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27298              : ( reload_completed)))
   27299              :             return NULL;
   27300              :           return gen_split_3517 (insn, operands);
   27301              : 
   27302              :         case 4:
   27303              :           if (!((
   27304              : #line 22420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27305              : (TARGET_64BIT && TARGET_SSE) && 
   27306              : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27307              : (TARGET_AVX)) && 
   27308              : #line 22422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27309              : ( reload_completed)))
   27310              :             return NULL;
   27311              :           return gen_split_3523 (insn, operands);
   27312              : 
   27313              :         case 5:
   27314              :           if (!(
   27315              : #line 22420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27316              : (TARGET_64BIT && TARGET_SSE) && 
   27317              : #line 22422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27318              : ( reload_completed)))
   27319              :             return NULL;
   27320              :           return gen_split_3525 (insn, operands);
   27321              : 
   27322              :         case 6:
   27323              :           if (!((
   27324              : #line 22420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27325              : (TARGET_64BIT && TARGET_SSE) && 
   27326              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27327              : (TARGET_AVX)) && 
   27328              : #line 22422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27329              : ( reload_completed)))
   27330              :             return NULL;
   27331              :           return gen_split_3527 (insn, operands);
   27332              : 
   27333              :         case 7:
   27334              :           if (!((
   27335              : #line 22420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27336              : (TARGET_64BIT && TARGET_SSE) && 
   27337              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27338              : (TARGET_SSE2)) && 
   27339              : #line 22422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27340              : ( reload_completed)))
   27341              :             return NULL;
   27342              :           return gen_split_3529 (insn, operands);
   27343              : 
   27344              :         default:
   27345              :           return NULL;
   27346              :         }
   27347              : 
   27348              :     case VEC_MERGE:
   27349              :       switch (pattern985 (x5))
   27350              :         {
   27351              :         case 0:
   27352              :           if (!((
   27353              : #line 22697 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27354              : (TARGET_64BIT && TARGET_SSE2) && 
   27355              : #line 623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27356              : (TARGET_AVX2)) && 
   27357              : #line 22699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27358              : ( 1)))
   27359              :             return NULL;
   27360              :           return gen_split_3546 (insn, operands);
   27361              : 
   27362              :         case 1:
   27363              :           if (!(
   27364              : #line 22697 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27365              : (TARGET_64BIT && TARGET_SSE2) && 
   27366              : #line 22699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27367              : ( 1)))
   27368              :             return NULL;
   27369              :           return gen_split_3547 (insn, operands);
   27370              : 
   27371              :         default:
   27372              :           return NULL;
   27373              :         }
   27374              : 
   27375              :     default:
   27376              :       return NULL;
   27377              :     }
   27378              : }
   27379              : 
   27380              :  rtx_insn *
   27381              : split_59 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
   27382              : {
   27383              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   27384              :   rtx x2, x3, x4, x5;
   27385              :   rtx_insn *res ATTRIBUTE_UNUSED;
   27386              :   x2 = XEXP (x1, 1);
   27387              :   x3 = XEXP (x2, 0);
   27388              :   operands[1] = x3;
   27389              :   x4 = XEXP (x2, 2);
   27390              :   if (GET_CODE (x4) != UNSPEC
   27391              :       || XVECLEN (x4, 0) != 3
   27392              :       || XINT (x4, 1) != 60)
   27393              :     return NULL;
   27394              :   switch (pattern1017 (x2))
   27395              :     {
   27396              :     case 0:
   27397              :       x5 = XVECEXP (x4, 0, 0);
   27398              :       operands[3] = x5;
   27399              :       switch (pattern1476 (x2))
   27400              :         {
   27401              :         case 0:
   27402              :           if (((
   27403              : #line 3352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27404              : (TARGET_SSE && ix86_pre_reload_split ()
   27405              :    && ((rtx_equal_p (operands[1], operands[3])
   27406              :         && rtx_equal_p (operands[2], operands[4]))
   27407              :        || (rtx_equal_p (operands[1], operands[4])
   27408              :            && rtx_equal_p (operands[2], operands[3])))
   27409              :    && (INTVAL (operands[5]) == 1 || INTVAL (operands[5]) == 14)) && 
   27410              : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27411              : (TARGET_AVX512FP16)) && 
   27412              : #line 3359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27413              : ( 1)))
   27414              :             return gen_split_1337 (insn, operands);
   27415              :           break;
   27416              : 
   27417              :         case 1:
   27418              :           if (((
   27419              : #line 3352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27420              : (TARGET_SSE && ix86_pre_reload_split ()
   27421              :    && ((rtx_equal_p (operands[1], operands[3])
   27422              :         && rtx_equal_p (operands[2], operands[4]))
   27423              :        || (rtx_equal_p (operands[1], operands[4])
   27424              :            && rtx_equal_p (operands[2], operands[3])))
   27425              :    && (INTVAL (operands[5]) == 1 || INTVAL (operands[5]) == 14)) && 
   27426              : #line 394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27427              : (TARGET_AVX512FP16 && TARGET_AVX512VL)) && 
   27428              : #line 3359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27429              : ( 1)))
   27430              :             return gen_split_1338 (insn, operands);
   27431              :           break;
   27432              : 
   27433              :         case 2:
   27434              :           if (((
   27435              : #line 3352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27436              : (TARGET_SSE && ix86_pre_reload_split ()
   27437              :    && ((rtx_equal_p (operands[1], operands[3])
   27438              :         && rtx_equal_p (operands[2], operands[4]))
   27439              :        || (rtx_equal_p (operands[1], operands[4])
   27440              :            && rtx_equal_p (operands[2], operands[3])))
   27441              :    && (INTVAL (operands[5]) == 1 || INTVAL (operands[5]) == 14)) && 
   27442              : #line 395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27443              : (TARGET_AVX512FP16 && TARGET_AVX512VL)) && 
   27444              : #line 3359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27445              : ( 1)))
   27446              :             return gen_split_1339 (insn, operands);
   27447              :           break;
   27448              : 
   27449              :         case 3:
   27450              :           if (((
   27451              : #line 3352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27452              : (TARGET_SSE && ix86_pre_reload_split ()
   27453              :    && ((rtx_equal_p (operands[1], operands[3])
   27454              :         && rtx_equal_p (operands[2], operands[4]))
   27455              :        || (rtx_equal_p (operands[1], operands[4])
   27456              :            && rtx_equal_p (operands[2], operands[3])))
   27457              :    && (INTVAL (operands[5]) == 1 || INTVAL (operands[5]) == 14)) && 
   27458              : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27459              : (TARGET_AVX512F)) && 
   27460              : #line 3359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27461              : ( 1)))
   27462              :             return gen_split_1340 (insn, operands);
   27463              :           break;
   27464              : 
   27465              :         case 4:
   27466              :           if (nonimmediate_operand (operands[1], E_V8SFmode)
   27467              :               && pattern1686 (
   27468              : E_V8SFmode) == 0
   27469              :               && ((
   27470              : #line 3352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27471              : (TARGET_SSE && ix86_pre_reload_split ()
   27472              :    && ((rtx_equal_p (operands[1], operands[3])
   27473              :         && rtx_equal_p (operands[2], operands[4]))
   27474              :        || (rtx_equal_p (operands[1], operands[4])
   27475              :            && rtx_equal_p (operands[2], operands[3])))
   27476              :    && (INTVAL (operands[5]) == 1 || INTVAL (operands[5]) == 14)) && 
   27477              : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27478              : (TARGET_AVX)) && 
   27479              : #line 3359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27480              : ( 1)))
   27481              :             return gen_split_1341 (insn, operands);
   27482              :           if (vector_operand (operands[1], E_V8SFmode)
   27483              :               && pattern1687 (
   27484              : E_V8SImode, 
   27485              : E_V8SFmode) == 0
   27486              :               && ((
   27487              : #line 4440 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27488              : (TARGET_AVX512VL && ix86_pre_reload_split ()
   27489              :   /* LT or GE 0 */
   27490              :   && ((INTVAL (operands[5]) == 1) || (INTVAL (operands[5]) == 5))) && 
   27491              : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27492              : (TARGET_AVX)) && 
   27493              : #line 4444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27494              : ( 1)))
   27495              :             return gen_split_1390 (insn, operands);
   27496              :           break;
   27497              : 
   27498              :         case 5:
   27499              :           if (nonimmediate_operand (operands[1], E_V4SFmode)
   27500              :               && pattern1686 (
   27501              : E_V4SFmode) == 0
   27502              :               && (
   27503              : #line 3352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27504              : (TARGET_SSE && ix86_pre_reload_split ()
   27505              :    && ((rtx_equal_p (operands[1], operands[3])
   27506              :         && rtx_equal_p (operands[2], operands[4]))
   27507              :        || (rtx_equal_p (operands[1], operands[4])
   27508              :            && rtx_equal_p (operands[2], operands[3])))
   27509              :    && (INTVAL (operands[5]) == 1 || INTVAL (operands[5]) == 14)) && 
   27510              : #line 3359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27511              : ( 1)))
   27512              :             return gen_split_1342 (insn, operands);
   27513              :           if (vector_operand (operands[1], E_V4SFmode)
   27514              :               && pattern1687 (
   27515              : E_V4SImode, 
   27516              : E_V4SFmode) == 0
   27517              :               && (
   27518              : #line 4440 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27519              : (TARGET_AVX512VL && ix86_pre_reload_split ()
   27520              :   /* LT or GE 0 */
   27521              :   && ((INTVAL (operands[5]) == 1) || (INTVAL (operands[5]) == 5))) && 
   27522              : #line 4444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27523              : ( 1)))
   27524              :             return gen_split_1391 (insn, operands);
   27525              :           break;
   27526              : 
   27527              :         case 6:
   27528              :           if (((
   27529              : #line 3352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27530              : (TARGET_SSE && ix86_pre_reload_split ()
   27531              :    && ((rtx_equal_p (operands[1], operands[3])
   27532              :         && rtx_equal_p (operands[2], operands[4]))
   27533              :        || (rtx_equal_p (operands[1], operands[4])
   27534              :            && rtx_equal_p (operands[2], operands[3])))
   27535              :    && (INTVAL (operands[5]) == 1 || INTVAL (operands[5]) == 14)) && 
   27536              : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27537              : (TARGET_AVX512F)) && 
   27538              : #line 3359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27539              : ( 1)))
   27540              :             return gen_split_1343 (insn, operands);
   27541              :           break;
   27542              : 
   27543              :         case 7:
   27544              :           if (nonimmediate_operand (operands[1], E_V4DFmode)
   27545              :               && pattern1686 (
   27546              : E_V4DFmode) == 0
   27547              :               && ((
   27548              : #line 3352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27549              : (TARGET_SSE && ix86_pre_reload_split ()
   27550              :    && ((rtx_equal_p (operands[1], operands[3])
   27551              :         && rtx_equal_p (operands[2], operands[4]))
   27552              :        || (rtx_equal_p (operands[1], operands[4])
   27553              :            && rtx_equal_p (operands[2], operands[3])))
   27554              :    && (INTVAL (operands[5]) == 1 || INTVAL (operands[5]) == 14)) && 
   27555              : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27556              : (TARGET_AVX)) && 
   27557              : #line 3359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27558              : ( 1)))
   27559              :             return gen_split_1344 (insn, operands);
   27560              :           if (vector_operand (operands[1], E_V4DFmode)
   27561              :               && pattern1687 (
   27562              : E_V4DImode, 
   27563              : E_V4DFmode) == 0
   27564              :               && ((
   27565              : #line 4440 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27566              : (TARGET_AVX512VL && ix86_pre_reload_split ()
   27567              :   /* LT or GE 0 */
   27568              :   && ((INTVAL (operands[5]) == 1) || (INTVAL (operands[5]) == 5))) && 
   27569              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27570              : (TARGET_AVX)) && 
   27571              : #line 4444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27572              : ( 1)))
   27573              :             return gen_split_1392 (insn, operands);
   27574              :           break;
   27575              : 
   27576              :         case 8:
   27577              :           if (nonimmediate_operand (operands[1], E_V2DFmode)
   27578              :               && pattern1686 (
   27579              : E_V2DFmode) == 0
   27580              :               && ((
   27581              : #line 3352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27582              : (TARGET_SSE && ix86_pre_reload_split ()
   27583              :    && ((rtx_equal_p (operands[1], operands[3])
   27584              :         && rtx_equal_p (operands[2], operands[4]))
   27585              :        || (rtx_equal_p (operands[1], operands[4])
   27586              :            && rtx_equal_p (operands[2], operands[3])))
   27587              :    && (INTVAL (operands[5]) == 1 || INTVAL (operands[5]) == 14)) && 
   27588              : #line 398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27589              : (TARGET_SSE2)) && 
   27590              : #line 3359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27591              : ( 1)))
   27592              :             return gen_split_1345 (insn, operands);
   27593              :           if (vector_operand (operands[1], E_V2DFmode)
   27594              :               && pattern1687 (
   27595              : E_V2DImode, 
   27596              : E_V2DFmode) == 0
   27597              :               && ((
   27598              : #line 4440 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27599              : (TARGET_AVX512VL && ix86_pre_reload_split ()
   27600              :   /* LT or GE 0 */
   27601              :   && ((INTVAL (operands[5]) == 1) || (INTVAL (operands[5]) == 5))) && 
   27602              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27603              : (TARGET_SSE2)) && 
   27604              : #line 4444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27605              : ( 1)))
   27606              :             return gen_split_1393 (insn, operands);
   27607              :           break;
   27608              : 
   27609              :         case 9:
   27610              :           if ((
   27611              : #line 4469 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27612              : (TARGET_AVX512VL && ix86_pre_reload_split ()
   27613              :   /* LT or GE 0 */
   27614              :   && ((INTVAL (operands[5]) == 1) || (INTVAL (operands[5]) == 5))) && 
   27615              : #line 4473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27616              : ( 1)))
   27617              :             return gen_split_1394 (insn, operands);
   27618              :           break;
   27619              : 
   27620              :         case 10:
   27621              :           if ((
   27622              : #line 4469 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27623              : (TARGET_AVX512VL && ix86_pre_reload_split ()
   27624              :   /* LT or GE 0 */
   27625              :   && ((INTVAL (operands[5]) == 1) || (INTVAL (operands[5]) == 5))) && 
   27626              : #line 4473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27627              : ( 1)))
   27628              :             return gen_split_1395 (insn, operands);
   27629              :           break;
   27630              : 
   27631              :         case 11:
   27632              :           if (((
   27633              : #line 4469 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27634              : (TARGET_AVX512VL && ix86_pre_reload_split ()
   27635              :   /* LT or GE 0 */
   27636              :   && ((INTVAL (operands[5]) == 1) || (INTVAL (operands[5]) == 5))) && 
   27637              : #line 608 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27638              : (TARGET_AVX)) && 
   27639              : #line 4473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27640              : ( 1)))
   27641              :             return gen_split_1396 (insn, operands);
   27642              :           break;
   27643              : 
   27644              :         case 12:
   27645              :           if (((
   27646              : #line 4469 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27647              : (TARGET_AVX512VL && ix86_pre_reload_split ()
   27648              :   /* LT or GE 0 */
   27649              :   && ((INTVAL (operands[5]) == 1) || (INTVAL (operands[5]) == 5))) && 
   27650              : #line 608 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27651              : (TARGET_AVX)) && 
   27652              : #line 4473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27653              : ( 1)))
   27654              :             return gen_split_1397 (insn, operands);
   27655              :           break;
   27656              : 
   27657              :         case 13:
   27658              :           if (((
   27659              : #line 18370 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27660              : (TARGET_AVX512VL && ix86_pre_reload_split ()
   27661              :   /* LT or GE 0 */
   27662              :   && ((INTVAL (operands[5]) == 1 && !MEM_P (operands[2]))
   27663              :       || (INTVAL (operands[5]) == 5 && !MEM_P (operands[1])))) && 
   27664              : #line 623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27665              : (TARGET_AVX2)) && 
   27666              : #line 18375 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27667              : ( 1)))
   27668              :             return gen_split_3380 (insn, operands);
   27669              :           break;
   27670              : 
   27671              :         case 14:
   27672              :           if ((
   27673              : #line 18370 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27674              : (TARGET_AVX512VL && ix86_pre_reload_split ()
   27675              :   /* LT or GE 0 */
   27676              :   && ((INTVAL (operands[5]) == 1 && !MEM_P (operands[2]))
   27677              :       || (INTVAL (operands[5]) == 5 && !MEM_P (operands[1])))) && 
   27678              : #line 18375 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27679              : ( 1)))
   27680              :             return gen_split_3381 (insn, operands);
   27681              :           break;
   27682              : 
   27683              :         default:
   27684              :           break;
   27685              :         }
   27686              :       if (GET_CODE (x5) != SUBREG)
   27687              :         return NULL;
   27688              :       switch (pattern1479 (x2))
   27689              :         {
   27690              :         case 0:
   27691              :           if (!(
   27692              : #line 4504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27693              : (TARGET_AVX512VL && ix86_pre_reload_split ()
   27694              :   /* not LT or GE 0 */
   27695              :   && ((INTVAL (operands[5]) == 1) || (INTVAL (operands[5]) == 5))) && 
   27696              : #line 4508 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27697              : ( 1)))
   27698              :             return NULL;
   27699              :           return gen_split_1398 (insn, operands);
   27700              : 
   27701              :         case 1:
   27702              :           if (!(
   27703              : #line 4504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27704              : (TARGET_AVX512VL && ix86_pre_reload_split ()
   27705              :   /* not LT or GE 0 */
   27706              :   && ((INTVAL (operands[5]) == 1) || (INTVAL (operands[5]) == 5))) && 
   27707              : #line 4508 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27708              : ( 1)))
   27709              :             return NULL;
   27710              :           return gen_split_1399 (insn, operands);
   27711              : 
   27712              :         case 2:
   27713              :           if (!((
   27714              : #line 4504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27715              : (TARGET_AVX512VL && ix86_pre_reload_split ()
   27716              :   /* not LT or GE 0 */
   27717              :   && ((INTVAL (operands[5]) == 1) || (INTVAL (operands[5]) == 5))) && 
   27718              : #line 608 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27719              : (TARGET_AVX)) && 
   27720              : #line 4508 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27721              : ( 1)))
   27722              :             return NULL;
   27723              :           return gen_split_1400 (insn, operands);
   27724              : 
   27725              :         case 3:
   27726              :           if (!((
   27727              : #line 4504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27728              : (TARGET_AVX512VL && ix86_pre_reload_split ()
   27729              :   /* not LT or GE 0 */
   27730              :   && ((INTVAL (operands[5]) == 1) || (INTVAL (operands[5]) == 5))) && 
   27731              : #line 608 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27732              : (TARGET_AVX)) && 
   27733              : #line 4508 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27734              : ( 1)))
   27735              :             return NULL;
   27736              :           return gen_split_1401 (insn, operands);
   27737              : 
   27738              :         case 4:
   27739              :           if (!((
   27740              : #line 18399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27741              : (TARGET_AVX512VL && ix86_pre_reload_split ()
   27742              :   && GET_MODE_CLASS (GET_MODE (operands[3])) == MODE_VECTOR_INT
   27743              :   && GET_MODE_SIZE (GET_MODE (operands[3])) == 32
   27744              :   /* LT or GE 0 */
   27745              :   && ((INTVAL (operands[5]) == 1 && !MEM_P (operands[1]))
   27746              :       || (INTVAL (operands[5]) == 5 && !MEM_P (operands[2])))) && 
   27747              : #line 623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27748              : (TARGET_AVX2)) && 
   27749              : #line 18406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27750              : ( 1)))
   27751              :             return NULL;
   27752              :           return gen_split_3382 (insn, operands);
   27753              : 
   27754              :         case 5:
   27755              :           if (!(
   27756              : #line 18399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27757              : (TARGET_AVX512VL && ix86_pre_reload_split ()
   27758              :   && GET_MODE_CLASS (GET_MODE (operands[3])) == MODE_VECTOR_INT
   27759              :   && GET_MODE_SIZE (GET_MODE (operands[3])) == 16
   27760              :   /* LT or GE 0 */
   27761              :   && ((INTVAL (operands[5]) == 1 && !MEM_P (operands[1]))
   27762              :       || (INTVAL (operands[5]) == 5 && !MEM_P (operands[2])))) && 
   27763              : #line 18406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27764              : ( 1)))
   27765              :             return NULL;
   27766              :           return gen_split_3383 (insn, operands);
   27767              : 
   27768              :         default:
   27769              :           return NULL;
   27770              :         }
   27771              : 
   27772              :     case 1:
   27773              :       if (!((
   27774              : #line 18431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27775              : (TARGET_AVX512VL && ix86_pre_reload_split ()
   27776              :   /* LT or GE 0 */
   27777              :   && ((INTVAL (operands[5]) == 1 && !MEM_P (operands[1]))
   27778              :       || (INTVAL (operands[5]) == 5 && !MEM_P (operands[2])))) && 
   27779              : #line 623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27780              : (TARGET_AVX2)) && 
   27781              : #line 18436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27782              : ( 1)))
   27783              :         return NULL;
   27784              :       return gen_split_3384 (insn, operands);
   27785              : 
   27786              :     case 2:
   27787              :       if (!(
   27788              : #line 18431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27789              : (TARGET_AVX512VL && ix86_pre_reload_split ()
   27790              :   /* LT or GE 0 */
   27791              :   && ((INTVAL (operands[5]) == 1 && !MEM_P (operands[1]))
   27792              :       || (INTVAL (operands[5]) == 5 && !MEM_P (operands[2])))) && 
   27793              : #line 18436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27794              : ( 1)))
   27795              :         return NULL;
   27796              :       return gen_split_3385 (insn, operands);
   27797              : 
   27798              :     default:
   27799              :       return NULL;
   27800              :     }
   27801              : }
   27802              : 
   27803              :  rtx_insn *
   27804              : split_64 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
   27805              : {
   27806              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   27807              :   rtx x2, x3, x4, x5, x6;
   27808              :   rtx_insn *res ATTRIBUTE_UNUSED;
   27809              :   x2 = XEXP (x1, 1);
   27810              :   x3 = XEXP (x2, 0);
   27811              :   switch (GET_CODE (x3))
   27812              :     {
   27813              :     case NOT:
   27814              :       x4 = XEXP (x3, 0);
   27815              :       switch (GET_CODE (x4))
   27816              :         {
   27817              :         case GT:
   27818              :         case LT:
   27819              :           operands[1] = x4;
   27820              :           switch (pattern686 (x2))
   27821              :             {
   27822              :             case 0:
   27823              :               if (!((
   27824              : #line 3414 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27825              : (TARGET_SSE && ix86_pre_reload_split ()
   27826              :    && rtx_equal_p (operands[2], operands[4])) && 
   27827              : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27828              : (TARGET_AVX)) && 
   27829              : #line 3417 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27830              : ( 1)))
   27831              :                 return NULL;
   27832              :               return gen_split_1350 (insn, operands);
   27833              : 
   27834              :             case 1:
   27835              :               if (!(
   27836              : #line 3414 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27837              : (TARGET_SSE && ix86_pre_reload_split ()
   27838              :    && rtx_equal_p (operands[2], operands[4])) && 
   27839              : #line 3417 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27840              : ( 1)))
   27841              :                 return NULL;
   27842              :               return gen_split_1351 (insn, operands);
   27843              : 
   27844              :             case 2:
   27845              :               if (!((
   27846              : #line 3414 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27847              : (TARGET_SSE && ix86_pre_reload_split ()
   27848              :    && rtx_equal_p (operands[2], operands[4])) && 
   27849              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27850              : (TARGET_AVX)) && 
   27851              : #line 3417 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27852              : ( 1)))
   27853              :                 return NULL;
   27854              :               return gen_split_1352 (insn, operands);
   27855              : 
   27856              :             case 3:
   27857              :               if (!((
   27858              : #line 3414 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27859              : (TARGET_SSE && ix86_pre_reload_split ()
   27860              :    && rtx_equal_p (operands[2], operands[4])) && 
   27861              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27862              : (TARGET_SSE2)) && 
   27863              : #line 3417 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27864              : ( 1)))
   27865              :                 return NULL;
   27866              :               return gen_split_1353 (insn, operands);
   27867              : 
   27868              :             default:
   27869              :               return NULL;
   27870              :             }
   27871              : 
   27872              :         default:
   27873              :           return NULL;
   27874              :         }
   27875              : 
   27876              :     case GT:
   27877              :     case LT:
   27878              :       operands[1] = x3;
   27879              :       switch (pattern529 (x2))
   27880              :         {
   27881              :         case 0:
   27882              :           if (((
   27883              : #line 3436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27884              : (TARGET_SSE && ix86_pre_reload_split ()
   27885              :    && rtx_equal_p (operands[2], operands[4])) && 
   27886              : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27887              : (TARGET_AVX)) && 
   27888              : #line 3439 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27889              : ( 1)))
   27890              :             return gen_split_1354 (insn, operands);
   27891              :           break;
   27892              : 
   27893              :         case 1:
   27894              :           if ((
   27895              : #line 3436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27896              : (TARGET_SSE && ix86_pre_reload_split ()
   27897              :    && rtx_equal_p (operands[2], operands[4])) && 
   27898              : #line 3439 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27899              : ( 1)))
   27900              :             return gen_split_1355 (insn, operands);
   27901              :           break;
   27902              : 
   27903              :         case 2:
   27904              :           if (((
   27905              : #line 3436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27906              : (TARGET_SSE && ix86_pre_reload_split ()
   27907              :    && rtx_equal_p (operands[2], operands[4])) && 
   27908              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27909              : (TARGET_AVX)) && 
   27910              : #line 3439 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27911              : ( 1)))
   27912              :             return gen_split_1356 (insn, operands);
   27913              :           break;
   27914              : 
   27915              :         case 3:
   27916              :           if (((
   27917              : #line 3436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27918              : (TARGET_SSE && ix86_pre_reload_split ()
   27919              :    && rtx_equal_p (operands[2], operands[4])) && 
   27920              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27921              : (TARGET_SSE2)) && 
   27922              : #line 3439 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27923              : ( 1)))
   27924              :             return gen_split_1357 (insn, operands);
   27925              :           break;
   27926              : 
   27927              :         default:
   27928              :           break;
   27929              :         }
   27930              :       x4 = XEXP (x3, 0);
   27931              :       operands[1] = x4;
   27932              :       switch (pattern531 (x2))
   27933              :         {
   27934              :         case 0:
   27935              :           if (!((
   27936              : #line 17650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27937              : (TARGET_SSE4_2 && ix86_pre_reload_split ()) && 
   27938              : #line 697 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27939              : (TARGET_AVX2)) && 
   27940              : #line 17652 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27941              : ( 1)))
   27942              :             return NULL;
   27943              :           return gen_split_3317 (insn, operands);
   27944              : 
   27945              :         case 1:
   27946              :           if (!(
   27947              : #line 17650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27948              : (TARGET_SSE4_2 && ix86_pre_reload_split ()) && 
   27949              : #line 17652 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27950              : ( 1)))
   27951              :             return NULL;
   27952              :           return gen_split_3318 (insn, operands);
   27953              : 
   27954              :         case 2:
   27955              :           switch (GET_MODE (operands[0]))
   27956              :             {
   27957              :             case E_V4DImode:
   27958              :               if (pattern956 (x2, 
   27959              : E_V4DImode) != 0)
   27960              :                 return NULL;
   27961              :               if (((
   27962              : #line 17667 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27963              : (TARGET_SSE2 && ix86_pre_reload_split ()) && 
   27964              : #line 697 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27965              : (TARGET_AVX2)) && 
   27966              : #line 17669 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27967              : ( 1)))
   27968              :                 return gen_split_3319 (insn, operands);
   27969              :               if (!(
   27970              : #line 17679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27971              : (TARGET_SSE2 && ix86_pre_reload_split ()) && 
   27972              : #line 769 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27973              : (TARGET_AVX2)))
   27974              :                 return NULL;
   27975              :               return gen_split_3325 (insn, operands);
   27976              : 
   27977              :             case E_V2DImode:
   27978              :               if (pattern956 (x2, 
   27979              : E_V2DImode) != 0)
   27980              :                 return NULL;
   27981              :               if ((
   27982              : #line 17667 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27983              : (TARGET_SSE2 && ix86_pre_reload_split ()) && 
   27984              : #line 17669 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27985              : ( 1)))
   27986              :                 return gen_split_3320 (insn, operands);
   27987              :               if (!
   27988              : #line 17679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27989              : (TARGET_SSE2 && ix86_pre_reload_split ()))
   27990              :                 return NULL;
   27991              :               return gen_split_3326 (insn, operands);
   27992              : 
   27993              :             case E_V16HImode:
   27994              :               if (pattern956 (x2, 
   27995              : E_V16HImode) != 0
   27996              :                   || !(
   27997              : #line 17679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27998              : (TARGET_SSE2 && ix86_pre_reload_split ()) && 
   27999              : #line 767 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28000              : (TARGET_AVX2)))
   28001              :                 return NULL;
   28002              :               return gen_split_3321 (insn, operands);
   28003              : 
   28004              :             case E_V8HImode:
   28005              :               if (pattern956 (x2, 
   28006              : E_V8HImode) != 0
   28007              :                   || !
   28008              : #line 17679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28009              : (TARGET_SSE2 && ix86_pre_reload_split ()))
   28010              :                 return NULL;
   28011              :               return gen_split_3322 (insn, operands);
   28012              : 
   28013              :             case E_V8SImode:
   28014              :               if (pattern956 (x2, 
   28015              : E_V8SImode) != 0
   28016              :                   || !(
   28017              : #line 17679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28018              : (TARGET_SSE2 && ix86_pre_reload_split ()) && 
   28019              : #line 768 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28020              : (TARGET_AVX2)))
   28021              :                 return NULL;
   28022              :               return gen_split_3323 (insn, operands);
   28023              : 
   28024              :             case E_V4SImode:
   28025              :               if (pattern956 (x2, 
   28026              : E_V4SImode) != 0
   28027              :                   || !
   28028              : #line 17679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28029              : (TARGET_SSE2 && ix86_pre_reload_split ()))
   28030              :                 return NULL;
   28031              :               return gen_split_3324 (insn, operands);
   28032              : 
   28033              :             default:
   28034              :               return NULL;
   28035              :             }
   28036              : 
   28037              :         default:
   28038              :           return NULL;
   28039              :         }
   28040              : 
   28041              :     case REG:
   28042              :     case SUBREG:
   28043              :     case MEM:
   28044              :       operands[1] = x3;
   28045              :       x5 = XEXP (x2, 1);
   28046              :       operands[2] = x5;
   28047              :       switch (GET_MODE (operands[0]))
   28048              :         {
   28049              :         case E_V32BFmode:
   28050              :           if (pattern957 (x2, 
   28051              : E_V32BFmode) != 0
   28052              :               || !((
   28053              : #line 5825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28054              : (TARGET_SSE && ix86_pre_reload_split ()) && 
   28055              : #line 415 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28056              : (TARGET_AVX512F)) && 
   28057              : #line 5827 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28058              : ( 1)))
   28059              :             return NULL;
   28060              :           return gen_split_1570 (insn, operands);
   28061              : 
   28062              :         case E_V16BFmode:
   28063              :           if (pattern957 (x2, 
   28064              : E_V16BFmode) != 0
   28065              :               || !((
   28066              : #line 5825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28067              : (TARGET_SSE && ix86_pre_reload_split ()) && 
   28068              : #line 416 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28069              : (TARGET_AVX)) && 
   28070              : #line 5827 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28071              : ( 1)))
   28072              :             return NULL;
   28073              :           return gen_split_1571 (insn, operands);
   28074              : 
   28075              :         case E_V8BFmode:
   28076              :           if (pattern957 (x2, 
   28077              : E_V8BFmode) != 0
   28078              :               || !((
   28079              : #line 5825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28080              : (TARGET_SSE && ix86_pre_reload_split ()) && 
   28081              : #line 416 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28082              : (TARGET_SSE2)) && 
   28083              : #line 5827 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28084              : ( 1)))
   28085              :             return NULL;
   28086              :           return gen_split_1572 (insn, operands);
   28087              : 
   28088              :         case E_V32HFmode:
   28089              :           if (pattern957 (x2, 
   28090              : E_V32HFmode) != 0
   28091              :               || !((
   28092              : #line 5825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28093              : (TARGET_SSE && ix86_pre_reload_split ()) && 
   28094              : #line 417 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28095              : (TARGET_AVX512F)) && 
   28096              : #line 5827 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28097              : ( 1)))
   28098              :             return NULL;
   28099              :           return gen_split_1573 (insn, operands);
   28100              : 
   28101              :         case E_V16HFmode:
   28102              :           if (pattern957 (x2, 
   28103              : E_V16HFmode) != 0
   28104              :               || !((
   28105              : #line 5825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28106              : (TARGET_SSE && ix86_pre_reload_split ()) && 
   28107              : #line 418 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28108              : (TARGET_AVX)) && 
   28109              : #line 5827 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28110              : ( 1)))
   28111              :             return NULL;
   28112              :           return gen_split_1574 (insn, operands);
   28113              : 
   28114              :         case E_V8HFmode:
   28115              :           if (pattern957 (x2, 
   28116              : E_V8HFmode) != 0
   28117              :               || !((
   28118              : #line 5825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28119              : (TARGET_SSE && ix86_pre_reload_split ()) && 
   28120              : #line 418 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28121              : (TARGET_SSE2)) && 
   28122              : #line 5827 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28123              : ( 1)))
   28124              :             return NULL;
   28125              :           return gen_split_1575 (insn, operands);
   28126              : 
   28127              :         case E_V16SFmode:
   28128              :           if (pattern957 (x2, 
   28129              : E_V16SFmode) != 0
   28130              :               || !((
   28131              : #line 5825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28132              : (TARGET_SSE && ix86_pre_reload_split ()) && 
   28133              : #line 419 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28134              : (TARGET_AVX512F)) && 
   28135              : #line 5827 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28136              : ( 1)))
   28137              :             return NULL;
   28138              :           return gen_split_1576 (insn, operands);
   28139              : 
   28140              :         case E_V8SFmode:
   28141              :           if (pattern957 (x2, 
   28142              : E_V8SFmode) != 0
   28143              :               || !((
   28144              : #line 5825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28145              : (TARGET_SSE && ix86_pre_reload_split ()) && 
   28146              : #line 419 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28147              : (TARGET_AVX)) && 
   28148              : #line 5827 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28149              : ( 1)))
   28150              :             return NULL;
   28151              :           return gen_split_1577 (insn, operands);
   28152              : 
   28153              :         case E_V4SFmode:
   28154              :           if (pattern957 (x2, 
   28155              : E_V4SFmode) != 0
   28156              :               || !(
   28157              : #line 5825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28158              : (TARGET_SSE && ix86_pre_reload_split ()) && 
   28159              : #line 5827 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28160              : ( 1)))
   28161              :             return NULL;
   28162              :           return gen_split_1578 (insn, operands);
   28163              : 
   28164              :         case E_V8DFmode:
   28165              :           if (pattern957 (x2, 
   28166              : E_V8DFmode) != 0
   28167              :               || !((
   28168              : #line 5825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28169              : (TARGET_SSE && ix86_pre_reload_split ()) && 
   28170              : #line 420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28171              : (TARGET_AVX512F)) && 
   28172              : #line 5827 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28173              : ( 1)))
   28174              :             return NULL;
   28175              :           return gen_split_1579 (insn, operands);
   28176              : 
   28177              :         case E_V4DFmode:
   28178              :           if (pattern957 (x2, 
   28179              : E_V4DFmode) != 0
   28180              :               || !((
   28181              : #line 5825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28182              : (TARGET_SSE && ix86_pre_reload_split ()) && 
   28183              : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28184              : (TARGET_AVX)) && 
   28185              : #line 5827 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28186              : ( 1)))
   28187              :             return NULL;
   28188              :           return gen_split_1580 (insn, operands);
   28189              : 
   28190              :         case E_V2DFmode:
   28191              :           if (pattern957 (x2, 
   28192              : E_V2DFmode) != 0
   28193              :               || !((
   28194              : #line 5825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28195              : (TARGET_SSE && ix86_pre_reload_split ()) && 
   28196              : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28197              : (TARGET_SSE2)) && 
   28198              : #line 5827 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28199              : ( 1)))
   28200              :             return NULL;
   28201              :           return gen_split_1581 (insn, operands);
   28202              : 
   28203              :         default:
   28204              :           return NULL;
   28205              :         }
   28206              : 
   28207              :     case AND:
   28208              :       return split_63 (x1, insn);
   28209              : 
   28210              :     case IOR:
   28211              :       x4 = XEXP (x3, 0);
   28212              :       switch (GET_CODE (x4))
   28213              :         {
   28214              :         case REG:
   28215              :         case SUBREG:
   28216              :         case MEM:
   28217              :         case NOT:
   28218              :           switch (pattern535 (x2))
   28219              :             {
   28220              :             case 0:
   28221              :               if (!((
   28222              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28223              : ((64 == 64 || TARGET_AVX512VL
   28224              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28225              :    && ix86_pre_reload_split ()
   28226              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28227              :                     STRIP_UNARY (operands[4]))
   28228              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28229              :                        STRIP_UNARY (operands[4]))
   28230              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28231              :                        STRIP_UNARY (operands[3]))
   28232              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28233              :                        STRIP_UNARY (operands[3])))) && 
   28234              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28235              : (TARGET_AVX512F)) && 
   28236              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28237              : ( 1)))
   28238              :                 return NULL;
   28239              :               return gen_split_1750 (insn, operands);
   28240              : 
   28241              :             case 1:
   28242              :               if (!((
   28243              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28244              : ((32 == 64 || TARGET_AVX512VL
   28245              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28246              :    && ix86_pre_reload_split ()
   28247              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28248              :                     STRIP_UNARY (operands[4]))
   28249              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28250              :                        STRIP_UNARY (operands[4]))
   28251              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28252              :                        STRIP_UNARY (operands[3]))
   28253              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28254              :                        STRIP_UNARY (operands[3])))) && 
   28255              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28256              : (TARGET_AVX)) && 
   28257              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28258              : ( 1)))
   28259              :                 return NULL;
   28260              :               return gen_split_1777 (insn, operands);
   28261              : 
   28262              :             case 2:
   28263              :               if (!(
   28264              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28265              : ((16 == 64 || TARGET_AVX512VL
   28266              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28267              :    && ix86_pre_reload_split ()
   28268              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28269              :                     STRIP_UNARY (operands[4]))
   28270              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28271              :                        STRIP_UNARY (operands[4]))
   28272              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28273              :                        STRIP_UNARY (operands[3]))
   28274              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28275              :                        STRIP_UNARY (operands[3])))) && 
   28276              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28277              : ( 1)))
   28278              :                 return NULL;
   28279              :               return gen_split_1804 (insn, operands);
   28280              : 
   28281              :             case 3:
   28282              :               if (!((
   28283              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28284              : ((64 == 64 || TARGET_AVX512VL
   28285              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28286              :    && ix86_pre_reload_split ()
   28287              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28288              :                     STRIP_UNARY (operands[4]))
   28289              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28290              :                        STRIP_UNARY (operands[4]))
   28291              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28292              :                        STRIP_UNARY (operands[3]))
   28293              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28294              :                        STRIP_UNARY (operands[3])))) && 
   28295              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28296              : (TARGET_AVX512F)) && 
   28297              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28298              : ( 1)))
   28299              :                 return NULL;
   28300              :               return gen_split_1831 (insn, operands);
   28301              : 
   28302              :             case 4:
   28303              :               if (!((
   28304              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28305              : ((32 == 64 || TARGET_AVX512VL
   28306              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28307              :    && ix86_pre_reload_split ()
   28308              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28309              :                     STRIP_UNARY (operands[4]))
   28310              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28311              :                        STRIP_UNARY (operands[4]))
   28312              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28313              :                        STRIP_UNARY (operands[3]))
   28314              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28315              :                        STRIP_UNARY (operands[3])))) && 
   28316              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28317              : (TARGET_AVX)) && 
   28318              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28319              : ( 1)))
   28320              :                 return NULL;
   28321              :               return gen_split_1858 (insn, operands);
   28322              : 
   28323              :             case 5:
   28324              :               if (!(
   28325              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28326              : ((16 == 64 || TARGET_AVX512VL
   28327              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28328              :    && ix86_pre_reload_split ()
   28329              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28330              :                     STRIP_UNARY (operands[4]))
   28331              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28332              :                        STRIP_UNARY (operands[4]))
   28333              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28334              :                        STRIP_UNARY (operands[3]))
   28335              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28336              :                        STRIP_UNARY (operands[3])))) && 
   28337              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28338              : ( 1)))
   28339              :                 return NULL;
   28340              :               return gen_split_1885 (insn, operands);
   28341              : 
   28342              :             case 6:
   28343              :               if (!((
   28344              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28345              : ((64 == 64 || TARGET_AVX512VL
   28346              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28347              :    && ix86_pre_reload_split ()
   28348              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28349              :                     STRIP_UNARY (operands[4]))
   28350              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28351              :                        STRIP_UNARY (operands[4]))
   28352              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28353              :                        STRIP_UNARY (operands[3]))
   28354              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28355              :                        STRIP_UNARY (operands[3])))) && 
   28356              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28357              : (TARGET_AVX512F)) && 
   28358              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28359              : ( 1)))
   28360              :                 return NULL;
   28361              :               return gen_split_1912 (insn, operands);
   28362              : 
   28363              :             case 7:
   28364              :               if (!((
   28365              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28366              : ((32 == 64 || TARGET_AVX512VL
   28367              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28368              :    && ix86_pre_reload_split ()
   28369              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28370              :                     STRIP_UNARY (operands[4]))
   28371              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28372              :                        STRIP_UNARY (operands[4]))
   28373              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28374              :                        STRIP_UNARY (operands[3]))
   28375              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28376              :                        STRIP_UNARY (operands[3])))) && 
   28377              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28378              : (TARGET_AVX)) && 
   28379              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28380              : ( 1)))
   28381              :                 return NULL;
   28382              :               return gen_split_1939 (insn, operands);
   28383              : 
   28384              :             case 8:
   28385              :               if (!(
   28386              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28387              : ((16 == 64 || TARGET_AVX512VL
   28388              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28389              :    && ix86_pre_reload_split ()
   28390              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28391              :                     STRIP_UNARY (operands[4]))
   28392              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28393              :                        STRIP_UNARY (operands[4]))
   28394              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28395              :                        STRIP_UNARY (operands[3]))
   28396              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28397              :                        STRIP_UNARY (operands[3])))) && 
   28398              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28399              : ( 1)))
   28400              :                 return NULL;
   28401              :               return gen_split_1966 (insn, operands);
   28402              : 
   28403              :             case 9:
   28404              :               if (!((
   28405              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28406              : ((64 == 64 || TARGET_AVX512VL
   28407              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28408              :    && ix86_pre_reload_split ()
   28409              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28410              :                     STRIP_UNARY (operands[4]))
   28411              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28412              :                        STRIP_UNARY (operands[4]))
   28413              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28414              :                        STRIP_UNARY (operands[3]))
   28415              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28416              :                        STRIP_UNARY (operands[3])))) && 
   28417              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28418              : (TARGET_AVX512F)) && 
   28419              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28420              : ( 1)))
   28421              :                 return NULL;
   28422              :               return gen_split_1993 (insn, operands);
   28423              : 
   28424              :             case 10:
   28425              :               if (!((
   28426              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28427              : ((32 == 64 || TARGET_AVX512VL
   28428              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28429              :    && ix86_pre_reload_split ()
   28430              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28431              :                     STRIP_UNARY (operands[4]))
   28432              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28433              :                        STRIP_UNARY (operands[4]))
   28434              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28435              :                        STRIP_UNARY (operands[3]))
   28436              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28437              :                        STRIP_UNARY (operands[3])))) && 
   28438              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28439              : (TARGET_AVX)) && 
   28440              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28441              : ( 1)))
   28442              :                 return NULL;
   28443              :               return gen_split_2020 (insn, operands);
   28444              : 
   28445              :             case 11:
   28446              :               if (!(
   28447              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28448              : ((16 == 64 || TARGET_AVX512VL
   28449              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28450              :    && ix86_pre_reload_split ()
   28451              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28452              :                     STRIP_UNARY (operands[4]))
   28453              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28454              :                        STRIP_UNARY (operands[4]))
   28455              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28456              :                        STRIP_UNARY (operands[3]))
   28457              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28458              :                        STRIP_UNARY (operands[3])))) && 
   28459              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28460              : ( 1)))
   28461              :                 return NULL;
   28462              :               return gen_split_2047 (insn, operands);
   28463              : 
   28464              :             case 12:
   28465              :               if (!((
   28466              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28467              : ((64 == 64 || TARGET_AVX512VL
   28468              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28469              :    && ix86_pre_reload_split ()
   28470              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28471              :                     STRIP_UNARY (operands[4]))
   28472              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28473              :                        STRIP_UNARY (operands[4]))
   28474              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28475              :                        STRIP_UNARY (operands[3]))
   28476              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28477              :                        STRIP_UNARY (operands[3])))) && 
   28478              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28479              : (TARGET_AVX512F)) && 
   28480              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28481              : ( 1)))
   28482              :                 return NULL;
   28483              :               return gen_split_1753 (insn, operands);
   28484              : 
   28485              :             case 13:
   28486              :               if (!((
   28487              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28488              : ((32 == 64 || TARGET_AVX512VL
   28489              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28490              :    && ix86_pre_reload_split ()
   28491              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28492              :                     STRIP_UNARY (operands[4]))
   28493              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28494              :                        STRIP_UNARY (operands[4]))
   28495              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28496              :                        STRIP_UNARY (operands[3]))
   28497              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28498              :                        STRIP_UNARY (operands[3])))) && 
   28499              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28500              : (TARGET_AVX)) && 
   28501              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28502              : ( 1)))
   28503              :                 return NULL;
   28504              :               return gen_split_1780 (insn, operands);
   28505              : 
   28506              :             case 14:
   28507              :               if (!(
   28508              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28509              : ((16 == 64 || TARGET_AVX512VL
   28510              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28511              :    && ix86_pre_reload_split ()
   28512              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28513              :                     STRIP_UNARY (operands[4]))
   28514              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28515              :                        STRIP_UNARY (operands[4]))
   28516              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28517              :                        STRIP_UNARY (operands[3]))
   28518              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28519              :                        STRIP_UNARY (operands[3])))) && 
   28520              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28521              : ( 1)))
   28522              :                 return NULL;
   28523              :               return gen_split_1807 (insn, operands);
   28524              : 
   28525              :             case 15:
   28526              :               if (!((
   28527              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28528              : ((64 == 64 || TARGET_AVX512VL
   28529              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28530              :    && ix86_pre_reload_split ()
   28531              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28532              :                     STRIP_UNARY (operands[4]))
   28533              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28534              :                        STRIP_UNARY (operands[4]))
   28535              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28536              :                        STRIP_UNARY (operands[3]))
   28537              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28538              :                        STRIP_UNARY (operands[3])))) && 
   28539              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28540              : (TARGET_AVX512F)) && 
   28541              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28542              : ( 1)))
   28543              :                 return NULL;
   28544              :               return gen_split_1834 (insn, operands);
   28545              : 
   28546              :             case 16:
   28547              :               if (!((
   28548              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28549              : ((32 == 64 || TARGET_AVX512VL
   28550              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28551              :    && ix86_pre_reload_split ()
   28552              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28553              :                     STRIP_UNARY (operands[4]))
   28554              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28555              :                        STRIP_UNARY (operands[4]))
   28556              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28557              :                        STRIP_UNARY (operands[3]))
   28558              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28559              :                        STRIP_UNARY (operands[3])))) && 
   28560              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28561              : (TARGET_AVX)) && 
   28562              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28563              : ( 1)))
   28564              :                 return NULL;
   28565              :               return gen_split_1861 (insn, operands);
   28566              : 
   28567              :             case 17:
   28568              :               if (!(
   28569              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28570              : ((16 == 64 || TARGET_AVX512VL
   28571              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28572              :    && ix86_pre_reload_split ()
   28573              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28574              :                     STRIP_UNARY (operands[4]))
   28575              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28576              :                        STRIP_UNARY (operands[4]))
   28577              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28578              :                        STRIP_UNARY (operands[3]))
   28579              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28580              :                        STRIP_UNARY (operands[3])))) && 
   28581              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28582              : ( 1)))
   28583              :                 return NULL;
   28584              :               return gen_split_1888 (insn, operands);
   28585              : 
   28586              :             case 18:
   28587              :               if (!((
   28588              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28589              : ((64 == 64 || TARGET_AVX512VL
   28590              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28591              :    && ix86_pre_reload_split ()
   28592              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28593              :                     STRIP_UNARY (operands[4]))
   28594              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28595              :                        STRIP_UNARY (operands[4]))
   28596              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28597              :                        STRIP_UNARY (operands[3]))
   28598              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28599              :                        STRIP_UNARY (operands[3])))) && 
   28600              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28601              : (TARGET_AVX512F)) && 
   28602              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28603              : ( 1)))
   28604              :                 return NULL;
   28605              :               return gen_split_1915 (insn, operands);
   28606              : 
   28607              :             case 19:
   28608              :               if (!((
   28609              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28610              : ((32 == 64 || TARGET_AVX512VL
   28611              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28612              :    && ix86_pre_reload_split ()
   28613              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28614              :                     STRIP_UNARY (operands[4]))
   28615              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28616              :                        STRIP_UNARY (operands[4]))
   28617              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28618              :                        STRIP_UNARY (operands[3]))
   28619              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28620              :                        STRIP_UNARY (operands[3])))) && 
   28621              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28622              : (TARGET_AVX)) && 
   28623              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28624              : ( 1)))
   28625              :                 return NULL;
   28626              :               return gen_split_1942 (insn, operands);
   28627              : 
   28628              :             case 20:
   28629              :               if (!(
   28630              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28631              : ((16 == 64 || TARGET_AVX512VL
   28632              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28633              :    && ix86_pre_reload_split ()
   28634              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28635              :                     STRIP_UNARY (operands[4]))
   28636              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28637              :                        STRIP_UNARY (operands[4]))
   28638              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28639              :                        STRIP_UNARY (operands[3]))
   28640              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28641              :                        STRIP_UNARY (operands[3])))) && 
   28642              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28643              : ( 1)))
   28644              :                 return NULL;
   28645              :               return gen_split_1969 (insn, operands);
   28646              : 
   28647              :             case 21:
   28648              :               if (!((
   28649              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28650              : ((64 == 64 || TARGET_AVX512VL
   28651              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28652              :    && ix86_pre_reload_split ()
   28653              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28654              :                     STRIP_UNARY (operands[4]))
   28655              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28656              :                        STRIP_UNARY (operands[4]))
   28657              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28658              :                        STRIP_UNARY (operands[3]))
   28659              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28660              :                        STRIP_UNARY (operands[3])))) && 
   28661              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28662              : (TARGET_AVX512F)) && 
   28663              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28664              : ( 1)))
   28665              :                 return NULL;
   28666              :               return gen_split_1996 (insn, operands);
   28667              : 
   28668              :             case 22:
   28669              :               if (!((
   28670              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28671              : ((32 == 64 || TARGET_AVX512VL
   28672              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28673              :    && ix86_pre_reload_split ()
   28674              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28675              :                     STRIP_UNARY (operands[4]))
   28676              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28677              :                        STRIP_UNARY (operands[4]))
   28678              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28679              :                        STRIP_UNARY (operands[3]))
   28680              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28681              :                        STRIP_UNARY (operands[3])))) && 
   28682              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28683              : (TARGET_AVX)) && 
   28684              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28685              : ( 1)))
   28686              :                 return NULL;
   28687              :               return gen_split_2023 (insn, operands);
   28688              : 
   28689              :             case 23:
   28690              :               if (!(
   28691              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28692              : ((16 == 64 || TARGET_AVX512VL
   28693              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28694              :    && ix86_pre_reload_split ()
   28695              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28696              :                     STRIP_UNARY (operands[4]))
   28697              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28698              :                        STRIP_UNARY (operands[4]))
   28699              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28700              :                        STRIP_UNARY (operands[3]))
   28701              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28702              :                        STRIP_UNARY (operands[3])))) && 
   28703              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28704              : ( 1)))
   28705              :                 return NULL;
   28706              :               return gen_split_2050 (insn, operands);
   28707              : 
   28708              :             case 24:
   28709              :               if (!((
   28710              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28711              : ((64 == 64 || TARGET_AVX512VL
   28712              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28713              :    && ix86_pre_reload_split ()
   28714              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28715              :                     STRIP_UNARY (operands[4]))
   28716              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28717              :                        STRIP_UNARY (operands[4]))
   28718              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28719              :                        STRIP_UNARY (operands[3]))
   28720              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28721              :                        STRIP_UNARY (operands[3])))) && 
   28722              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28723              : (TARGET_AVX512F)) && 
   28724              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28725              : ( 1)))
   28726              :                 return NULL;
   28727              :               return gen_split_1756 (insn, operands);
   28728              : 
   28729              :             case 25:
   28730              :               if (!((
   28731              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28732              : ((32 == 64 || TARGET_AVX512VL
   28733              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28734              :    && ix86_pre_reload_split ()
   28735              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28736              :                     STRIP_UNARY (operands[4]))
   28737              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28738              :                        STRIP_UNARY (operands[4]))
   28739              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28740              :                        STRIP_UNARY (operands[3]))
   28741              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28742              :                        STRIP_UNARY (operands[3])))) && 
   28743              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28744              : (TARGET_AVX)) && 
   28745              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28746              : ( 1)))
   28747              :                 return NULL;
   28748              :               return gen_split_1783 (insn, operands);
   28749              : 
   28750              :             case 26:
   28751              :               if (!(
   28752              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28753              : ((16 == 64 || TARGET_AVX512VL
   28754              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28755              :    && ix86_pre_reload_split ()
   28756              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28757              :                     STRIP_UNARY (operands[4]))
   28758              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28759              :                        STRIP_UNARY (operands[4]))
   28760              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28761              :                        STRIP_UNARY (operands[3]))
   28762              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28763              :                        STRIP_UNARY (operands[3])))) && 
   28764              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28765              : ( 1)))
   28766              :                 return NULL;
   28767              :               return gen_split_1810 (insn, operands);
   28768              : 
   28769              :             case 27:
   28770              :               if (!((
   28771              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28772              : ((64 == 64 || TARGET_AVX512VL
   28773              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28774              :    && ix86_pre_reload_split ()
   28775              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28776              :                     STRIP_UNARY (operands[4]))
   28777              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28778              :                        STRIP_UNARY (operands[4]))
   28779              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28780              :                        STRIP_UNARY (operands[3]))
   28781              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28782              :                        STRIP_UNARY (operands[3])))) && 
   28783              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28784              : (TARGET_AVX512F)) && 
   28785              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28786              : ( 1)))
   28787              :                 return NULL;
   28788              :               return gen_split_1837 (insn, operands);
   28789              : 
   28790              :             case 28:
   28791              :               if (!((
   28792              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28793              : ((32 == 64 || TARGET_AVX512VL
   28794              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28795              :    && ix86_pre_reload_split ()
   28796              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28797              :                     STRIP_UNARY (operands[4]))
   28798              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28799              :                        STRIP_UNARY (operands[4]))
   28800              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28801              :                        STRIP_UNARY (operands[3]))
   28802              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28803              :                        STRIP_UNARY (operands[3])))) && 
   28804              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28805              : (TARGET_AVX)) && 
   28806              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28807              : ( 1)))
   28808              :                 return NULL;
   28809              :               return gen_split_1864 (insn, operands);
   28810              : 
   28811              :             case 29:
   28812              :               if (!(
   28813              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28814              : ((16 == 64 || TARGET_AVX512VL
   28815              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28816              :    && ix86_pre_reload_split ()
   28817              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28818              :                     STRIP_UNARY (operands[4]))
   28819              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28820              :                        STRIP_UNARY (operands[4]))
   28821              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28822              :                        STRIP_UNARY (operands[3]))
   28823              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28824              :                        STRIP_UNARY (operands[3])))) && 
   28825              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28826              : ( 1)))
   28827              :                 return NULL;
   28828              :               return gen_split_1891 (insn, operands);
   28829              : 
   28830              :             case 30:
   28831              :               if (!((
   28832              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28833              : ((64 == 64 || TARGET_AVX512VL
   28834              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28835              :    && ix86_pre_reload_split ()
   28836              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28837              :                     STRIP_UNARY (operands[4]))
   28838              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28839              :                        STRIP_UNARY (operands[4]))
   28840              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28841              :                        STRIP_UNARY (operands[3]))
   28842              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28843              :                        STRIP_UNARY (operands[3])))) && 
   28844              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28845              : (TARGET_AVX512F)) && 
   28846              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28847              : ( 1)))
   28848              :                 return NULL;
   28849              :               return gen_split_1918 (insn, operands);
   28850              : 
   28851              :             case 31:
   28852              :               if (!((
   28853              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28854              : ((32 == 64 || TARGET_AVX512VL
   28855              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28856              :    && ix86_pre_reload_split ()
   28857              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28858              :                     STRIP_UNARY (operands[4]))
   28859              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28860              :                        STRIP_UNARY (operands[4]))
   28861              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28862              :                        STRIP_UNARY (operands[3]))
   28863              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28864              :                        STRIP_UNARY (operands[3])))) && 
   28865              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28866              : (TARGET_AVX)) && 
   28867              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28868              : ( 1)))
   28869              :                 return NULL;
   28870              :               return gen_split_1945 (insn, operands);
   28871              : 
   28872              :             case 32:
   28873              :               if (!(
   28874              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28875              : ((16 == 64 || TARGET_AVX512VL
   28876              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28877              :    && ix86_pre_reload_split ()
   28878              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28879              :                     STRIP_UNARY (operands[4]))
   28880              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28881              :                        STRIP_UNARY (operands[4]))
   28882              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28883              :                        STRIP_UNARY (operands[3]))
   28884              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28885              :                        STRIP_UNARY (operands[3])))) && 
   28886              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28887              : ( 1)))
   28888              :                 return NULL;
   28889              :               return gen_split_1972 (insn, operands);
   28890              : 
   28891              :             case 33:
   28892              :               if (!((
   28893              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28894              : ((64 == 64 || TARGET_AVX512VL
   28895              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28896              :    && ix86_pre_reload_split ()
   28897              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28898              :                     STRIP_UNARY (operands[4]))
   28899              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28900              :                        STRIP_UNARY (operands[4]))
   28901              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28902              :                        STRIP_UNARY (operands[3]))
   28903              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28904              :                        STRIP_UNARY (operands[3])))) && 
   28905              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28906              : (TARGET_AVX512F)) && 
   28907              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28908              : ( 1)))
   28909              :                 return NULL;
   28910              :               return gen_split_1999 (insn, operands);
   28911              : 
   28912              :             case 34:
   28913              :               if (!((
   28914              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28915              : ((32 == 64 || TARGET_AVX512VL
   28916              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28917              :    && ix86_pre_reload_split ()
   28918              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28919              :                     STRIP_UNARY (operands[4]))
   28920              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28921              :                        STRIP_UNARY (operands[4]))
   28922              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28923              :                        STRIP_UNARY (operands[3]))
   28924              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28925              :                        STRIP_UNARY (operands[3])))) && 
   28926              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28927              : (TARGET_AVX)) && 
   28928              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28929              : ( 1)))
   28930              :                 return NULL;
   28931              :               return gen_split_2026 (insn, operands);
   28932              : 
   28933              :             case 35:
   28934              :               if (!(
   28935              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28936              : ((16 == 64 || TARGET_AVX512VL
   28937              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28938              :    && ix86_pre_reload_split ()
   28939              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28940              :                     STRIP_UNARY (operands[4]))
   28941              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28942              :                        STRIP_UNARY (operands[4]))
   28943              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28944              :                        STRIP_UNARY (operands[3]))
   28945              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28946              :                        STRIP_UNARY (operands[3])))) && 
   28947              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28948              : ( 1)))
   28949              :                 return NULL;
   28950              :               return gen_split_2053 (insn, operands);
   28951              : 
   28952              :             case 36:
   28953              :               if (!((
   28954              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28955              : ((64 == 64 || TARGET_AVX512VL
   28956              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28957              :    && ix86_pre_reload_split ()) && 
   28958              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28959              : (TARGET_AVX512F)) && 
   28960              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28961              : ( 1)))
   28962              :                 return NULL;
   28963              :               return gen_split_3040 (insn, operands);
   28964              : 
   28965              :             case 37:
   28966              :               if (!((
   28967              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28968              : ((32 == 64 || TARGET_AVX512VL
   28969              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28970              :    && ix86_pre_reload_split ()) && 
   28971              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28972              : (TARGET_AVX)) && 
   28973              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28974              : ( 1)))
   28975              :                 return NULL;
   28976              :               return gen_split_3049 (insn, operands);
   28977              : 
   28978              :             case 38:
   28979              :               if (!(
   28980              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28981              : ((16 == 64 || TARGET_AVX512VL
   28982              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28983              :    && ix86_pre_reload_split ()) && 
   28984              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28985              : ( 1)))
   28986              :                 return NULL;
   28987              :               return gen_split_3058 (insn, operands);
   28988              : 
   28989              :             case 39:
   28990              :               if (!((
   28991              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28992              : ((64 == 64 || TARGET_AVX512VL
   28993              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28994              :    && ix86_pre_reload_split ()) && 
   28995              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28996              : (TARGET_AVX512F)) && 
   28997              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28998              : ( 1)))
   28999              :                 return NULL;
   29000              :               return gen_split_3067 (insn, operands);
   29001              : 
   29002              :             case 40:
   29003              :               if (!((
   29004              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29005              : ((32 == 64 || TARGET_AVX512VL
   29006              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29007              :    && ix86_pre_reload_split ()) && 
   29008              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29009              : (TARGET_AVX)) && 
   29010              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29011              : ( 1)))
   29012              :                 return NULL;
   29013              :               return gen_split_3076 (insn, operands);
   29014              : 
   29015              :             case 41:
   29016              :               if (!(
   29017              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29018              : ((16 == 64 || TARGET_AVX512VL
   29019              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29020              :    && ix86_pre_reload_split ()) && 
   29021              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29022              : ( 1)))
   29023              :                 return NULL;
   29024              :               return gen_split_3085 (insn, operands);
   29025              : 
   29026              :             case 42:
   29027              :               if (!((
   29028              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29029              : ((64 == 64 || TARGET_AVX512VL
   29030              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29031              :    && ix86_pre_reload_split ()) && 
   29032              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29033              : (TARGET_AVX512F)) && 
   29034              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29035              : ( 1)))
   29036              :                 return NULL;
   29037              :               return gen_split_3094 (insn, operands);
   29038              : 
   29039              :             case 43:
   29040              :               if (!((
   29041              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29042              : ((32 == 64 || TARGET_AVX512VL
   29043              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29044              :    && ix86_pre_reload_split ()) && 
   29045              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29046              : (TARGET_AVX)) && 
   29047              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29048              : ( 1)))
   29049              :                 return NULL;
   29050              :               return gen_split_3103 (insn, operands);
   29051              : 
   29052              :             case 44:
   29053              :               if (!(
   29054              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29055              : ((16 == 64 || TARGET_AVX512VL
   29056              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29057              :    && ix86_pre_reload_split ()) && 
   29058              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29059              : ( 1)))
   29060              :                 return NULL;
   29061              :               return gen_split_3112 (insn, operands);
   29062              : 
   29063              :             case 45:
   29064              :               if (!((
   29065              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29066              : ((64 == 64 || TARGET_AVX512VL
   29067              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29068              :    && ix86_pre_reload_split ()) && 
   29069              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29070              : (TARGET_AVX512F)) && 
   29071              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29072              : ( 1)))
   29073              :                 return NULL;
   29074              :               return gen_split_3121 (insn, operands);
   29075              : 
   29076              :             case 46:
   29077              :               if (!((
   29078              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29079              : ((32 == 64 || TARGET_AVX512VL
   29080              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29081              :    && ix86_pre_reload_split ()) && 
   29082              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29083              : (TARGET_AVX)) && 
   29084              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29085              : ( 1)))
   29086              :                 return NULL;
   29087              :               return gen_split_3130 (insn, operands);
   29088              : 
   29089              :             case 47:
   29090              :               if (!(
   29091              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29092              : ((16 == 64 || TARGET_AVX512VL
   29093              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29094              :    && ix86_pre_reload_split ()) && 
   29095              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29096              : ( 1)))
   29097              :                 return NULL;
   29098              :               return gen_split_3139 (insn, operands);
   29099              : 
   29100              :             default:
   29101              :               return NULL;
   29102              :             }
   29103              : 
   29104              :         case AND:
   29105              :           switch (pattern537 (x2))
   29106              :             {
   29107              :             case 0:
   29108              :               if (!((
   29109              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29110              : ((64 == 64 || TARGET_AVX512VL
   29111              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29112              :    && ix86_pre_reload_split ()
   29113              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29114              :                     STRIP_UNARY (operands[4]))
   29115              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29116              :                        STRIP_UNARY (operands[4]))
   29117              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29118              :                        STRIP_UNARY (operands[3]))
   29119              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29120              :                        STRIP_UNARY (operands[3])))) && 
   29121              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29122              : (TARGET_AVX512F)) && 
   29123              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29124              : ( 1)))
   29125              :                 return NULL;
   29126              :               return gen_split_2398 (insn, operands);
   29127              : 
   29128              :             case 1:
   29129              :               if (!((
   29130              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29131              : ((32 == 64 || TARGET_AVX512VL
   29132              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29133              :    && ix86_pre_reload_split ()
   29134              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29135              :                     STRIP_UNARY (operands[4]))
   29136              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29137              :                        STRIP_UNARY (operands[4]))
   29138              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29139              :                        STRIP_UNARY (operands[3]))
   29140              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29141              :                        STRIP_UNARY (operands[3])))) && 
   29142              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29143              : (TARGET_AVX)) && 
   29144              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29145              : ( 1)))
   29146              :                 return NULL;
   29147              :               return gen_split_2425 (insn, operands);
   29148              : 
   29149              :             case 2:
   29150              :               if (!(
   29151              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29152              : ((16 == 64 || TARGET_AVX512VL
   29153              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29154              :    && ix86_pre_reload_split ()
   29155              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29156              :                     STRIP_UNARY (operands[4]))
   29157              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29158              :                        STRIP_UNARY (operands[4]))
   29159              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29160              :                        STRIP_UNARY (operands[3]))
   29161              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29162              :                        STRIP_UNARY (operands[3])))) && 
   29163              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29164              : ( 1)))
   29165              :                 return NULL;
   29166              :               return gen_split_2452 (insn, operands);
   29167              : 
   29168              :             case 3:
   29169              :               if (!((
   29170              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29171              : ((64 == 64 || TARGET_AVX512VL
   29172              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29173              :    && ix86_pre_reload_split ()
   29174              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29175              :                     STRIP_UNARY (operands[4]))
   29176              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29177              :                        STRIP_UNARY (operands[4]))
   29178              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29179              :                        STRIP_UNARY (operands[3]))
   29180              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29181              :                        STRIP_UNARY (operands[3])))) && 
   29182              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29183              : (TARGET_AVX512F)) && 
   29184              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29185              : ( 1)))
   29186              :                 return NULL;
   29187              :               return gen_split_2479 (insn, operands);
   29188              : 
   29189              :             case 4:
   29190              :               if (!((
   29191              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29192              : ((32 == 64 || TARGET_AVX512VL
   29193              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29194              :    && ix86_pre_reload_split ()
   29195              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29196              :                     STRIP_UNARY (operands[4]))
   29197              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29198              :                        STRIP_UNARY (operands[4]))
   29199              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29200              :                        STRIP_UNARY (operands[3]))
   29201              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29202              :                        STRIP_UNARY (operands[3])))) && 
   29203              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29204              : (TARGET_AVX)) && 
   29205              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29206              : ( 1)))
   29207              :                 return NULL;
   29208              :               return gen_split_2506 (insn, operands);
   29209              : 
   29210              :             case 5:
   29211              :               if (!(
   29212              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29213              : ((16 == 64 || TARGET_AVX512VL
   29214              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29215              :    && ix86_pre_reload_split ()
   29216              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29217              :                     STRIP_UNARY (operands[4]))
   29218              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29219              :                        STRIP_UNARY (operands[4]))
   29220              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29221              :                        STRIP_UNARY (operands[3]))
   29222              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29223              :                        STRIP_UNARY (operands[3])))) && 
   29224              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29225              : ( 1)))
   29226              :                 return NULL;
   29227              :               return gen_split_2533 (insn, operands);
   29228              : 
   29229              :             case 6:
   29230              :               if (!((
   29231              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29232              : ((64 == 64 || TARGET_AVX512VL
   29233              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29234              :    && ix86_pre_reload_split ()
   29235              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29236              :                     STRIP_UNARY (operands[4]))
   29237              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29238              :                        STRIP_UNARY (operands[4]))
   29239              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29240              :                        STRIP_UNARY (operands[3]))
   29241              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29242              :                        STRIP_UNARY (operands[3])))) && 
   29243              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29244              : (TARGET_AVX512F)) && 
   29245              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29246              : ( 1)))
   29247              :                 return NULL;
   29248              :               return gen_split_2560 (insn, operands);
   29249              : 
   29250              :             case 7:
   29251              :               if (!((
   29252              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29253              : ((32 == 64 || TARGET_AVX512VL
   29254              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29255              :    && ix86_pre_reload_split ()
   29256              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29257              :                     STRIP_UNARY (operands[4]))
   29258              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29259              :                        STRIP_UNARY (operands[4]))
   29260              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29261              :                        STRIP_UNARY (operands[3]))
   29262              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29263              :                        STRIP_UNARY (operands[3])))) && 
   29264              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29265              : (TARGET_AVX)) && 
   29266              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29267              : ( 1)))
   29268              :                 return NULL;
   29269              :               return gen_split_2587 (insn, operands);
   29270              : 
   29271              :             case 8:
   29272              :               if (!(
   29273              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29274              : ((16 == 64 || TARGET_AVX512VL
   29275              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29276              :    && ix86_pre_reload_split ()
   29277              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29278              :                     STRIP_UNARY (operands[4]))
   29279              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29280              :                        STRIP_UNARY (operands[4]))
   29281              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29282              :                        STRIP_UNARY (operands[3]))
   29283              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29284              :                        STRIP_UNARY (operands[3])))) && 
   29285              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29286              : ( 1)))
   29287              :                 return NULL;
   29288              :               return gen_split_2614 (insn, operands);
   29289              : 
   29290              :             case 9:
   29291              :               if (!((
   29292              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29293              : ((64 == 64 || TARGET_AVX512VL
   29294              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29295              :    && ix86_pre_reload_split ()
   29296              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29297              :                     STRIP_UNARY (operands[4]))
   29298              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29299              :                        STRIP_UNARY (operands[4]))
   29300              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29301              :                        STRIP_UNARY (operands[3]))
   29302              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29303              :                        STRIP_UNARY (operands[3])))) && 
   29304              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29305              : (TARGET_AVX512F)) && 
   29306              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29307              : ( 1)))
   29308              :                 return NULL;
   29309              :               return gen_split_2641 (insn, operands);
   29310              : 
   29311              :             case 10:
   29312              :               if (!((
   29313              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29314              : ((32 == 64 || TARGET_AVX512VL
   29315              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29316              :    && ix86_pre_reload_split ()
   29317              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29318              :                     STRIP_UNARY (operands[4]))
   29319              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29320              :                        STRIP_UNARY (operands[4]))
   29321              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29322              :                        STRIP_UNARY (operands[3]))
   29323              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29324              :                        STRIP_UNARY (operands[3])))) && 
   29325              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29326              : (TARGET_AVX)) && 
   29327              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29328              : ( 1)))
   29329              :                 return NULL;
   29330              :               return gen_split_2668 (insn, operands);
   29331              : 
   29332              :             case 11:
   29333              :               if (!(
   29334              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29335              : ((16 == 64 || TARGET_AVX512VL
   29336              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29337              :    && ix86_pre_reload_split ()
   29338              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29339              :                     STRIP_UNARY (operands[4]))
   29340              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29341              :                        STRIP_UNARY (operands[4]))
   29342              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29343              :                        STRIP_UNARY (operands[3]))
   29344              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29345              :                        STRIP_UNARY (operands[3])))) && 
   29346              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29347              : ( 1)))
   29348              :                 return NULL;
   29349              :               return gen_split_2695 (insn, operands);
   29350              : 
   29351              :             default:
   29352              :               return NULL;
   29353              :             }
   29354              : 
   29355              :         case IOR:
   29356              :           switch (pattern537 (x2))
   29357              :             {
   29358              :             case 0:
   29359              :               if (!((
   29360              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29361              : ((64 == 64 || TARGET_AVX512VL
   29362              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29363              :    && ix86_pre_reload_split ()
   29364              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29365              :                     STRIP_UNARY (operands[4]))
   29366              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29367              :                        STRIP_UNARY (operands[4]))
   29368              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29369              :                        STRIP_UNARY (operands[3]))
   29370              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29371              :                        STRIP_UNARY (operands[3])))) && 
   29372              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29373              : (TARGET_AVX512F)) && 
   29374              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29375              : ( 1)))
   29376              :                 return NULL;
   29377              :               return gen_split_2401 (insn, operands);
   29378              : 
   29379              :             case 1:
   29380              :               if (!((
   29381              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29382              : ((32 == 64 || TARGET_AVX512VL
   29383              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29384              :    && ix86_pre_reload_split ()
   29385              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29386              :                     STRIP_UNARY (operands[4]))
   29387              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29388              :                        STRIP_UNARY (operands[4]))
   29389              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29390              :                        STRIP_UNARY (operands[3]))
   29391              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29392              :                        STRIP_UNARY (operands[3])))) && 
   29393              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29394              : (TARGET_AVX)) && 
   29395              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29396              : ( 1)))
   29397              :                 return NULL;
   29398              :               return gen_split_2428 (insn, operands);
   29399              : 
   29400              :             case 2:
   29401              :               if (!(
   29402              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29403              : ((16 == 64 || TARGET_AVX512VL
   29404              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29405              :    && ix86_pre_reload_split ()
   29406              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29407              :                     STRIP_UNARY (operands[4]))
   29408              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29409              :                        STRIP_UNARY (operands[4]))
   29410              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29411              :                        STRIP_UNARY (operands[3]))
   29412              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29413              :                        STRIP_UNARY (operands[3])))) && 
   29414              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29415              : ( 1)))
   29416              :                 return NULL;
   29417              :               return gen_split_2455 (insn, operands);
   29418              : 
   29419              :             case 3:
   29420              :               if (!((
   29421              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29422              : ((64 == 64 || TARGET_AVX512VL
   29423              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29424              :    && ix86_pre_reload_split ()
   29425              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29426              :                     STRIP_UNARY (operands[4]))
   29427              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29428              :                        STRIP_UNARY (operands[4]))
   29429              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29430              :                        STRIP_UNARY (operands[3]))
   29431              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29432              :                        STRIP_UNARY (operands[3])))) && 
   29433              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29434              : (TARGET_AVX512F)) && 
   29435              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29436              : ( 1)))
   29437              :                 return NULL;
   29438              :               return gen_split_2482 (insn, operands);
   29439              : 
   29440              :             case 4:
   29441              :               if (!((
   29442              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29443              : ((32 == 64 || TARGET_AVX512VL
   29444              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29445              :    && ix86_pre_reload_split ()
   29446              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29447              :                     STRIP_UNARY (operands[4]))
   29448              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29449              :                        STRIP_UNARY (operands[4]))
   29450              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29451              :                        STRIP_UNARY (operands[3]))
   29452              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29453              :                        STRIP_UNARY (operands[3])))) && 
   29454              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29455              : (TARGET_AVX)) && 
   29456              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29457              : ( 1)))
   29458              :                 return NULL;
   29459              :               return gen_split_2509 (insn, operands);
   29460              : 
   29461              :             case 5:
   29462              :               if (!(
   29463              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29464              : ((16 == 64 || TARGET_AVX512VL
   29465              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29466              :    && ix86_pre_reload_split ()
   29467              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29468              :                     STRIP_UNARY (operands[4]))
   29469              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29470              :                        STRIP_UNARY (operands[4]))
   29471              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29472              :                        STRIP_UNARY (operands[3]))
   29473              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29474              :                        STRIP_UNARY (operands[3])))) && 
   29475              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29476              : ( 1)))
   29477              :                 return NULL;
   29478              :               return gen_split_2536 (insn, operands);
   29479              : 
   29480              :             case 6:
   29481              :               if (!((
   29482              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29483              : ((64 == 64 || TARGET_AVX512VL
   29484              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29485              :    && ix86_pre_reload_split ()
   29486              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29487              :                     STRIP_UNARY (operands[4]))
   29488              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29489              :                        STRIP_UNARY (operands[4]))
   29490              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29491              :                        STRIP_UNARY (operands[3]))
   29492              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29493              :                        STRIP_UNARY (operands[3])))) && 
   29494              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29495              : (TARGET_AVX512F)) && 
   29496              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29497              : ( 1)))
   29498              :                 return NULL;
   29499              :               return gen_split_2563 (insn, operands);
   29500              : 
   29501              :             case 7:
   29502              :               if (!((
   29503              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29504              : ((32 == 64 || TARGET_AVX512VL
   29505              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29506              :    && ix86_pre_reload_split ()
   29507              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29508              :                     STRIP_UNARY (operands[4]))
   29509              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29510              :                        STRIP_UNARY (operands[4]))
   29511              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29512              :                        STRIP_UNARY (operands[3]))
   29513              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29514              :                        STRIP_UNARY (operands[3])))) && 
   29515              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29516              : (TARGET_AVX)) && 
   29517              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29518              : ( 1)))
   29519              :                 return NULL;
   29520              :               return gen_split_2590 (insn, operands);
   29521              : 
   29522              :             case 8:
   29523              :               if (!(
   29524              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29525              : ((16 == 64 || TARGET_AVX512VL
   29526              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29527              :    && ix86_pre_reload_split ()
   29528              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29529              :                     STRIP_UNARY (operands[4]))
   29530              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29531              :                        STRIP_UNARY (operands[4]))
   29532              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29533              :                        STRIP_UNARY (operands[3]))
   29534              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29535              :                        STRIP_UNARY (operands[3])))) && 
   29536              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29537              : ( 1)))
   29538              :                 return NULL;
   29539              :               return gen_split_2617 (insn, operands);
   29540              : 
   29541              :             case 9:
   29542              :               if (!((
   29543              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29544              : ((64 == 64 || TARGET_AVX512VL
   29545              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29546              :    && ix86_pre_reload_split ()
   29547              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29548              :                     STRIP_UNARY (operands[4]))
   29549              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29550              :                        STRIP_UNARY (operands[4]))
   29551              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29552              :                        STRIP_UNARY (operands[3]))
   29553              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29554              :                        STRIP_UNARY (operands[3])))) && 
   29555              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29556              : (TARGET_AVX512F)) && 
   29557              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29558              : ( 1)))
   29559              :                 return NULL;
   29560              :               return gen_split_2644 (insn, operands);
   29561              : 
   29562              :             case 10:
   29563              :               if (!((
   29564              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29565              : ((32 == 64 || TARGET_AVX512VL
   29566              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29567              :    && ix86_pre_reload_split ()
   29568              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29569              :                     STRIP_UNARY (operands[4]))
   29570              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29571              :                        STRIP_UNARY (operands[4]))
   29572              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29573              :                        STRIP_UNARY (operands[3]))
   29574              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29575              :                        STRIP_UNARY (operands[3])))) && 
   29576              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29577              : (TARGET_AVX)) && 
   29578              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29579              : ( 1)))
   29580              :                 return NULL;
   29581              :               return gen_split_2671 (insn, operands);
   29582              : 
   29583              :             case 11:
   29584              :               if (!(
   29585              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29586              : ((16 == 64 || TARGET_AVX512VL
   29587              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29588              :    && ix86_pre_reload_split ()
   29589              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29590              :                     STRIP_UNARY (operands[4]))
   29591              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29592              :                        STRIP_UNARY (operands[4]))
   29593              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29594              :                        STRIP_UNARY (operands[3]))
   29595              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29596              :                        STRIP_UNARY (operands[3])))) && 
   29597              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29598              : ( 1)))
   29599              :                 return NULL;
   29600              :               return gen_split_2698 (insn, operands);
   29601              : 
   29602              :             default:
   29603              :               return NULL;
   29604              :             }
   29605              : 
   29606              :         case XOR:
   29607              :           switch (pattern537 (x2))
   29608              :             {
   29609              :             case 0:
   29610              :               if (!((
   29611              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29612              : ((64 == 64 || TARGET_AVX512VL
   29613              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29614              :    && ix86_pre_reload_split ()
   29615              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29616              :                     STRIP_UNARY (operands[4]))
   29617              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29618              :                        STRIP_UNARY (operands[4]))
   29619              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29620              :                        STRIP_UNARY (operands[3]))
   29621              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29622              :                        STRIP_UNARY (operands[3])))) && 
   29623              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29624              : (TARGET_AVX512F)) && 
   29625              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29626              : ( 1)))
   29627              :                 return NULL;
   29628              :               return gen_split_2404 (insn, operands);
   29629              : 
   29630              :             case 1:
   29631              :               if (!((
   29632              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29633              : ((32 == 64 || TARGET_AVX512VL
   29634              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29635              :    && ix86_pre_reload_split ()
   29636              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29637              :                     STRIP_UNARY (operands[4]))
   29638              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29639              :                        STRIP_UNARY (operands[4]))
   29640              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29641              :                        STRIP_UNARY (operands[3]))
   29642              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29643              :                        STRIP_UNARY (operands[3])))) && 
   29644              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29645              : (TARGET_AVX)) && 
   29646              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29647              : ( 1)))
   29648              :                 return NULL;
   29649              :               return gen_split_2431 (insn, operands);
   29650              : 
   29651              :             case 2:
   29652              :               if (!(
   29653              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29654              : ((16 == 64 || TARGET_AVX512VL
   29655              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29656              :    && ix86_pre_reload_split ()
   29657              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29658              :                     STRIP_UNARY (operands[4]))
   29659              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29660              :                        STRIP_UNARY (operands[4]))
   29661              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29662              :                        STRIP_UNARY (operands[3]))
   29663              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29664              :                        STRIP_UNARY (operands[3])))) && 
   29665              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29666              : ( 1)))
   29667              :                 return NULL;
   29668              :               return gen_split_2458 (insn, operands);
   29669              : 
   29670              :             case 3:
   29671              :               if (!((
   29672              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29673              : ((64 == 64 || TARGET_AVX512VL
   29674              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29675              :    && ix86_pre_reload_split ()
   29676              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29677              :                     STRIP_UNARY (operands[4]))
   29678              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29679              :                        STRIP_UNARY (operands[4]))
   29680              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29681              :                        STRIP_UNARY (operands[3]))
   29682              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29683              :                        STRIP_UNARY (operands[3])))) && 
   29684              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29685              : (TARGET_AVX512F)) && 
   29686              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29687              : ( 1)))
   29688              :                 return NULL;
   29689              :               return gen_split_2485 (insn, operands);
   29690              : 
   29691              :             case 4:
   29692              :               if (!((
   29693              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29694              : ((32 == 64 || TARGET_AVX512VL
   29695              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29696              :    && ix86_pre_reload_split ()
   29697              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29698              :                     STRIP_UNARY (operands[4]))
   29699              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29700              :                        STRIP_UNARY (operands[4]))
   29701              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29702              :                        STRIP_UNARY (operands[3]))
   29703              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29704              :                        STRIP_UNARY (operands[3])))) && 
   29705              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29706              : (TARGET_AVX)) && 
   29707              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29708              : ( 1)))
   29709              :                 return NULL;
   29710              :               return gen_split_2512 (insn, operands);
   29711              : 
   29712              :             case 5:
   29713              :               if (!(
   29714              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29715              : ((16 == 64 || TARGET_AVX512VL
   29716              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29717              :    && ix86_pre_reload_split ()
   29718              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29719              :                     STRIP_UNARY (operands[4]))
   29720              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29721              :                        STRIP_UNARY (operands[4]))
   29722              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29723              :                        STRIP_UNARY (operands[3]))
   29724              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29725              :                        STRIP_UNARY (operands[3])))) && 
   29726              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29727              : ( 1)))
   29728              :                 return NULL;
   29729              :               return gen_split_2539 (insn, operands);
   29730              : 
   29731              :             case 6:
   29732              :               if (!((
   29733              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29734              : ((64 == 64 || TARGET_AVX512VL
   29735              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29736              :    && ix86_pre_reload_split ()
   29737              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29738              :                     STRIP_UNARY (operands[4]))
   29739              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29740              :                        STRIP_UNARY (operands[4]))
   29741              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29742              :                        STRIP_UNARY (operands[3]))
   29743              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29744              :                        STRIP_UNARY (operands[3])))) && 
   29745              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29746              : (TARGET_AVX512F)) && 
   29747              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29748              : ( 1)))
   29749              :                 return NULL;
   29750              :               return gen_split_2566 (insn, operands);
   29751              : 
   29752              :             case 7:
   29753              :               if (!((
   29754              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29755              : ((32 == 64 || TARGET_AVX512VL
   29756              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29757              :    && ix86_pre_reload_split ()
   29758              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29759              :                     STRIP_UNARY (operands[4]))
   29760              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29761              :                        STRIP_UNARY (operands[4]))
   29762              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29763              :                        STRIP_UNARY (operands[3]))
   29764              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29765              :                        STRIP_UNARY (operands[3])))) && 
   29766              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29767              : (TARGET_AVX)) && 
   29768              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29769              : ( 1)))
   29770              :                 return NULL;
   29771              :               return gen_split_2593 (insn, operands);
   29772              : 
   29773              :             case 8:
   29774              :               if (!(
   29775              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29776              : ((16 == 64 || TARGET_AVX512VL
   29777              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29778              :    && ix86_pre_reload_split ()
   29779              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29780              :                     STRIP_UNARY (operands[4]))
   29781              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29782              :                        STRIP_UNARY (operands[4]))
   29783              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29784              :                        STRIP_UNARY (operands[3]))
   29785              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29786              :                        STRIP_UNARY (operands[3])))) && 
   29787              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29788              : ( 1)))
   29789              :                 return NULL;
   29790              :               return gen_split_2620 (insn, operands);
   29791              : 
   29792              :             case 9:
   29793              :               if (!((
   29794              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29795              : ((64 == 64 || TARGET_AVX512VL
   29796              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29797              :    && ix86_pre_reload_split ()
   29798              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29799              :                     STRIP_UNARY (operands[4]))
   29800              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29801              :                        STRIP_UNARY (operands[4]))
   29802              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29803              :                        STRIP_UNARY (operands[3]))
   29804              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29805              :                        STRIP_UNARY (operands[3])))) && 
   29806              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29807              : (TARGET_AVX512F)) && 
   29808              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29809              : ( 1)))
   29810              :                 return NULL;
   29811              :               return gen_split_2647 (insn, operands);
   29812              : 
   29813              :             case 10:
   29814              :               if (!((
   29815              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29816              : ((32 == 64 || TARGET_AVX512VL
   29817              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29818              :    && ix86_pre_reload_split ()
   29819              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29820              :                     STRIP_UNARY (operands[4]))
   29821              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29822              :                        STRIP_UNARY (operands[4]))
   29823              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29824              :                        STRIP_UNARY (operands[3]))
   29825              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29826              :                        STRIP_UNARY (operands[3])))) && 
   29827              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29828              : (TARGET_AVX)) && 
   29829              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29830              : ( 1)))
   29831              :                 return NULL;
   29832              :               return gen_split_2674 (insn, operands);
   29833              : 
   29834              :             case 11:
   29835              :               if (!(
   29836              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29837              : ((16 == 64 || TARGET_AVX512VL
   29838              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29839              :    && ix86_pre_reload_split ()
   29840              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29841              :                     STRIP_UNARY (operands[4]))
   29842              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29843              :                        STRIP_UNARY (operands[4]))
   29844              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29845              :                        STRIP_UNARY (operands[3]))
   29846              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29847              :                        STRIP_UNARY (operands[3])))) && 
   29848              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29849              : ( 1)))
   29850              :                 return NULL;
   29851              :               return gen_split_2701 (insn, operands);
   29852              : 
   29853              :             default:
   29854              :               return NULL;
   29855              :             }
   29856              : 
   29857              :         default:
   29858              :           return NULL;
   29859              :         }
   29860              : 
   29861              :     case XOR:
   29862              :       return split_62 (x1, insn);
   29863              : 
   29864              :     case VEC_DUPLICATE:
   29865              :       x4 = XEXP (x3, 0);
   29866              :       if (GET_CODE (x4) != NOT)
   29867              :         return NULL;
   29868              :       x6 = XEXP (x4, 0);
   29869              :       operands[1] = x6;
   29870              :       x5 = XEXP (x2, 1);
   29871              :       operands[2] = x5;
   29872              :       switch (GET_MODE (operands[0]))
   29873              :         {
   29874              :         case E_V4SImode:
   29875              :           if (pattern1073 (x2, 
   29876              : E_V4SImode, 
   29877              : E_SImode) != 0)
   29878              :             return NULL;
   29879              :           if (register_operand (operands[1], E_SImode)
   29880              :               && 
   29881              : #line 18955 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29882              : (TARGET_SSE))
   29883              :             return gen_split_3436 (insn, operands);
   29884              :           if (!nonimmediate_operand (operands[1], E_SImode)
   29885              :               || !
   29886              : #line 18971 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29887              : (TARGET_AVX2))
   29888              :             return NULL;
   29889              :           return gen_split_3446 (insn, operands);
   29890              : 
   29891              :         case E_V2DImode:
   29892              :           if (pattern1073 (x2, 
   29893              : E_V2DImode, 
   29894              : E_DImode) != 0)
   29895              :             return NULL;
   29896              :           if (register_operand (operands[1], E_DImode)
   29897              :               && 
   29898              : #line 18955 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29899              : (TARGET_SSE))
   29900              :             return gen_split_3437 (insn, operands);
   29901              :           if (!nonimmediate_operand (operands[1], E_DImode)
   29902              :               || !
   29903              : #line 18971 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29904              : (TARGET_AVX2))
   29905              :             return NULL;
   29906              :           return gen_split_3449 (insn, operands);
   29907              : 
   29908              :         case E_V64QImode:
   29909              :           if (pattern604 (x2, 
   29910              : E_V64QImode, 
   29911              : E_QImode) != 0
   29912              :               || !(
   29913              : #line 18971 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29914              : (TARGET_AVX2) && 
   29915              : #line 572 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29916              : (TARGET_AVX512BW)))
   29917              :             return NULL;
   29918              :           return gen_split_3438 (insn, operands);
   29919              : 
   29920              :         case E_V32QImode:
   29921              :           if (pattern604 (x2, 
   29922              : E_V32QImode, 
   29923              : E_QImode) != 0
   29924              :               || !
   29925              : #line 18971 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29926              : (TARGET_AVX2))
   29927              :             return NULL;
   29928              :           return gen_split_3439 (insn, operands);
   29929              : 
   29930              :         case E_V16QImode:
   29931              :           if (pattern604 (x2, 
   29932              : E_V16QImode, 
   29933              : E_QImode) != 0
   29934              :               || !
   29935              : #line 18971 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29936              : (TARGET_AVX2))
   29937              :             return NULL;
   29938              :           return gen_split_3440 (insn, operands);
   29939              : 
   29940              :         case E_V32HImode:
   29941              :           if (pattern604 (x2, 
   29942              : E_V32HImode, 
   29943              : E_HImode) != 0
   29944              :               || !(
   29945              : #line 18971 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29946              : (TARGET_AVX2) && 
   29947              : #line 573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29948              : (TARGET_AVX512BW)))
   29949              :             return NULL;
   29950              :           return gen_split_3441 (insn, operands);
   29951              : 
   29952              :         case E_V16HImode:
   29953              :           if (pattern604 (x2, 
   29954              : E_V16HImode, 
   29955              : E_HImode) != 0
   29956              :               || !
   29957              : #line 18971 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29958              : (TARGET_AVX2))
   29959              :             return NULL;
   29960              :           return gen_split_3442 (insn, operands);
   29961              : 
   29962              :         case E_V8HImode:
   29963              :           if (pattern604 (x2, 
   29964              : E_V8HImode, 
   29965              : E_HImode) != 0
   29966              :               || !
   29967              : #line 18971 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29968              : (TARGET_AVX2))
   29969              :             return NULL;
   29970              :           return gen_split_3443 (insn, operands);
   29971              : 
   29972              :         case E_V16SImode:
   29973              :           if (pattern604 (x2, 
   29974              : E_V16SImode, 
   29975              : E_SImode) != 0
   29976              :               || !(
   29977              : #line 18971 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29978              : (TARGET_AVX2) && 
   29979              : #line 574 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29980              : (TARGET_AVX512F)))
   29981              :             return NULL;
   29982              :           return gen_split_3444 (insn, operands);
   29983              : 
   29984              :         case E_V8SImode:
   29985              :           if (pattern604 (x2, 
   29986              : E_V8SImode, 
   29987              : E_SImode) != 0
   29988              :               || !
   29989              : #line 18971 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29990              : (TARGET_AVX2))
   29991              :             return NULL;
   29992              :           return gen_split_3445 (insn, operands);
   29993              : 
   29994              :         case E_V8DImode:
   29995              :           if (pattern604 (x2, 
   29996              : E_V8DImode, 
   29997              : E_DImode) != 0
   29998              :               || !(
   29999              : #line 18971 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30000              : (TARGET_AVX2) && 
   30001              : #line 575 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30002              : (TARGET_AVX512F)))
   30003              :             return NULL;
   30004              :           return gen_split_3447 (insn, operands);
   30005              : 
   30006              :         case E_V4DImode:
   30007              :           if (pattern604 (x2, 
   30008              : E_V4DImode, 
   30009              : E_DImode) != 0
   30010              :               || !
   30011              : #line 18971 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30012              : (TARGET_AVX2))
   30013              :             return NULL;
   30014              :           return gen_split_3448 (insn, operands);
   30015              : 
   30016              :         default:
   30017              :           return NULL;
   30018              :         }
   30019              : 
   30020              :     default:
   30021              :       return NULL;
   30022              :     }
   30023              : }
   30024              : 
   30025              :  rtx_insn *
   30026              : split_85 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
   30027              : {
   30028              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   30029              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   30030              :   rtx x10, x11, x12, x13;
   30031              :   rtx_insn *res ATTRIBUTE_UNUSED;
   30032              :   x2 = XEXP (x1, 1);
   30033              :   x3 = XEXP (x2, 0);
   30034              :   switch (GET_CODE (x3))
   30035              :     {
   30036              :     case UNSPEC:
   30037              :       if (XVECLEN (x3, 0) != 1
   30038              :           || XINT (x3, 1) != 178)
   30039              :         return NULL;
   30040              :       x4 = XEXP (x2, 2);
   30041              :       if (GET_CODE (x4) != AND
   30042              :           || GET_MODE (x4) != E_QImode)
   30043              :         return NULL;
   30044              :       x5 = XEXP (x4, 1);
   30045              :       if (GET_CODE (x5) != CONST_INT)
   30046              :         return NULL;
   30047              :       x6 = XVECEXP (x3, 0, 0);
   30048              :       operands[1] = x6;
   30049              :       x7 = XEXP (x2, 1);
   30050              :       operands[2] = x7;
   30051              :       switch (pattern1111 (x2))
   30052              :         {
   30053              :         case 0:
   30054              :           if (!((
   30055              : #line 1636 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30056              : (TARGET_AVX512F) && 
   30057              : #line 521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30058              : (TARGET_AVX512VL)) && 
   30059              : #line 1638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30060              : ( 1)))
   30061              :             return NULL;
   30062              :           return gen_split_1212 (insn, operands);
   30063              : 
   30064              :         case 1:
   30065              :           if (!((
   30066              : #line 1636 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30067              : (TARGET_AVX512F) && 
   30068              : #line 521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30069              : (TARGET_AVX512VL)) && 
   30070              : #line 1638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30071              : ( 1)))
   30072              :             return NULL;
   30073              :           return gen_split_1213 (insn, operands);
   30074              : 
   30075              :         case 2:
   30076              :           if (!((
   30077              : #line 1636 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30078              : (TARGET_AVX512F) && 
   30079              : #line 522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30080              : (TARGET_AVX512VL)) && 
   30081              : #line 1638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30082              : ( 1)))
   30083              :             return NULL;
   30084              :           return gen_split_1214 (insn, operands);
   30085              : 
   30086              :         case 3:
   30087              :           if (!((
   30088              : #line 1636 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30089              : (TARGET_AVX512F) && 
   30090              : #line 522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30091              : (TARGET_AVX512VL)) && 
   30092              : #line 1638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30093              : ( 1)))
   30094              :             return NULL;
   30095              :           return gen_split_1215 (insn, operands);
   30096              : 
   30097              :         case 4:
   30098              :           if (!((
   30099              : #line 1655 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30100              : (TARGET_AVX512F) && 
   30101              : #line 528 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30102              : (TARGET_AVX512VL)) && 
   30103              : #line 1657 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30104              : ( 1)))
   30105              :             return NULL;
   30106              :           return gen_split_1216 (insn, operands);
   30107              : 
   30108              :         case 5:
   30109              :           if (!((
   30110              : #line 1655 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30111              : (TARGET_AVX512F) && 
   30112              : #line 528 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30113              : (TARGET_AVX512VL)) && 
   30114              : #line 1657 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30115              : ( 1)))
   30116              :             return NULL;
   30117              :           return gen_split_1217 (insn, operands);
   30118              : 
   30119              :         default:
   30120              :           return NULL;
   30121              :         }
   30122              : 
   30123              :     case MINUS:
   30124              :       x7 = XEXP (x2, 1);
   30125              :       if (GET_CODE (x7) != PLUS)
   30126              :         return NULL;
   30127              :       operands[6] = x2;
   30128              :       x8 = XEXP (x3, 0);
   30129              :       operands[1] = x8;
   30130              :       x9 = XEXP (x3, 1);
   30131              :       operands[2] = x9;
   30132              :       x10 = XEXP (x7, 0);
   30133              :       operands[3] = x10;
   30134              :       x11 = XEXP (x7, 1);
   30135              :       operands[4] = x11;
   30136              :       x4 = XEXP (x2, 2);
   30137              :       operands[5] = x4;
   30138              :       if (!const_int_operand (operands[5], E_VOIDmode))
   30139              :         return NULL;
   30140              :       switch (GET_MODE (operands[0]))
   30141              :         {
   30142              :         case E_V8SFmode:
   30143              :           if (pattern1456 (x2, 
   30144              : E_V8SFmode) != 0
   30145              :               || !(
   30146              : #line 3607 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30147              : (TARGET_SSE3
   30148              :    && can_create_pseudo_p ()
   30149              :    && ((rtx_equal_p (operands[1], operands[3])
   30150              :         && rtx_equal_p (operands[2], operands[4]))
   30151              :        || (rtx_equal_p (operands[1], operands[4])
   30152              :            && rtx_equal_p (operands[2], operands[3])))) && 
   30153              : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30154              : (TARGET_AVX)))
   30155              :             return NULL;
   30156              :           return gen_split_1358 (insn, operands);
   30157              : 
   30158              :         case E_V4SFmode:
   30159              :           if (pattern1456 (x2, 
   30160              : E_V4SFmode) != 0
   30161              :               || !
   30162              : #line 3607 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30163              : (TARGET_SSE3
   30164              :    && can_create_pseudo_p ()
   30165              :    && ((rtx_equal_p (operands[1], operands[3])
   30166              :         && rtx_equal_p (operands[2], operands[4]))
   30167              :        || (rtx_equal_p (operands[1], operands[4])
   30168              :            && rtx_equal_p (operands[2], operands[3])))))
   30169              :             return NULL;
   30170              :           return gen_split_1359 (insn, operands);
   30171              : 
   30172              :         case E_V4DFmode:
   30173              :           if (pattern1456 (x2, 
   30174              : E_V4DFmode) != 0
   30175              :               || !(
   30176              : #line 3607 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30177              : (TARGET_SSE3
   30178              :    && can_create_pseudo_p ()
   30179              :    && ((rtx_equal_p (operands[1], operands[3])
   30180              :         && rtx_equal_p (operands[2], operands[4]))
   30181              :        || (rtx_equal_p (operands[1], operands[4])
   30182              :            && rtx_equal_p (operands[2], operands[3])))) && 
   30183              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30184              : (TARGET_AVX)))
   30185              :             return NULL;
   30186              :           return gen_split_1360 (insn, operands);
   30187              : 
   30188              :         case E_V2DFmode:
   30189              :           if (pattern1456 (x2, 
   30190              : E_V2DFmode) != 0
   30191              :               || !(
   30192              : #line 3607 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30193              : (TARGET_SSE3
   30194              :    && can_create_pseudo_p ()
   30195              :    && ((rtx_equal_p (operands[1], operands[3])
   30196              :         && rtx_equal_p (operands[2], operands[4]))
   30197              :        || (rtx_equal_p (operands[1], operands[4])
   30198              :            && rtx_equal_p (operands[2], operands[3])))) && 
   30199              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30200              : (TARGET_SSE2)))
   30201              :             return NULL;
   30202              :           return gen_split_1361 (insn, operands);
   30203              : 
   30204              :         default:
   30205              :           return NULL;
   30206              :         }
   30207              : 
   30208              :     case PLUS:
   30209              :       x7 = XEXP (x2, 1);
   30210              :       if (GET_CODE (x7) != MINUS)
   30211              :         return NULL;
   30212              :       operands[6] = x2;
   30213              :       x8 = XEXP (x3, 0);
   30214              :       operands[1] = x8;
   30215              :       x9 = XEXP (x3, 1);
   30216              :       operands[2] = x9;
   30217              :       x10 = XEXP (x7, 0);
   30218              :       operands[3] = x10;
   30219              :       x11 = XEXP (x7, 1);
   30220              :       operands[4] = x11;
   30221              :       x4 = XEXP (x2, 2);
   30222              :       operands[5] = x4;
   30223              :       if (!const_int_operand (operands[5], E_VOIDmode))
   30224              :         return NULL;
   30225              :       switch (GET_MODE (operands[0]))
   30226              :         {
   30227              :         case E_V8SFmode:
   30228              :           if (pattern1457 (x2, 
   30229              : E_V8SFmode) != 0
   30230              :               || !(
   30231              : #line 3629 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30232              : (TARGET_SSE3
   30233              :    && can_create_pseudo_p ()
   30234              :    && ((rtx_equal_p (operands[1], operands[3])
   30235              :         && rtx_equal_p (operands[2], operands[4]))
   30236              :        || (rtx_equal_p (operands[1], operands[4])
   30237              :            && rtx_equal_p (operands[2], operands[3])))) && 
   30238              : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30239              : (TARGET_AVX)))
   30240              :             return NULL;
   30241              :           return gen_split_1362 (insn, operands);
   30242              : 
   30243              :         case E_V4SFmode:
   30244              :           if (pattern1457 (x2, 
   30245              : E_V4SFmode) != 0
   30246              :               || !
   30247              : #line 3629 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30248              : (TARGET_SSE3
   30249              :    && can_create_pseudo_p ()
   30250              :    && ((rtx_equal_p (operands[1], operands[3])
   30251              :         && rtx_equal_p (operands[2], operands[4]))
   30252              :        || (rtx_equal_p (operands[1], operands[4])
   30253              :            && rtx_equal_p (operands[2], operands[3])))))
   30254              :             return NULL;
   30255              :           return gen_split_1363 (insn, operands);
   30256              : 
   30257              :         case E_V4DFmode:
   30258              :           if (pattern1457 (x2, 
   30259              : E_V4DFmode) != 0
   30260              :               || !(
   30261              : #line 3629 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30262              : (TARGET_SSE3
   30263              :    && can_create_pseudo_p ()
   30264              :    && ((rtx_equal_p (operands[1], operands[3])
   30265              :         && rtx_equal_p (operands[2], operands[4]))
   30266              :        || (rtx_equal_p (operands[1], operands[4])
   30267              :            && rtx_equal_p (operands[2], operands[3])))) && 
   30268              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30269              : (TARGET_AVX)))
   30270              :             return NULL;
   30271              :           return gen_split_1364 (insn, operands);
   30272              : 
   30273              :         case E_V2DFmode:
   30274              :           if (pattern1457 (x2, 
   30275              : E_V2DFmode) != 0
   30276              :               || !(
   30277              : #line 3629 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30278              : (TARGET_SSE3
   30279              :    && can_create_pseudo_p ()
   30280              :    && ((rtx_equal_p (operands[1], operands[3])
   30281              :         && rtx_equal_p (operands[2], operands[4]))
   30282              :        || (rtx_equal_p (operands[1], operands[4])
   30283              :            && rtx_equal_p (operands[2], operands[3])))) && 
   30284              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30285              : (TARGET_SSE2)))
   30286              :             return NULL;
   30287              :           return gen_split_1365 (insn, operands);
   30288              : 
   30289              :         default:
   30290              :           return NULL;
   30291              :         }
   30292              : 
   30293              :     case CONST_INT:
   30294              :     case CONST_DOUBLE:
   30295              :     case CONST_VECTOR:
   30296              :     case REG:
   30297              :     case SUBREG:
   30298              :     case MEM:
   30299              :       return split_61 (x1, insn);
   30300              : 
   30301              :     case VEC_DUPLICATE:
   30302              :       x8 = XEXP (x3, 0);
   30303              :       switch (GET_CODE (x8))
   30304              :         {
   30305              :         case VEC_SELECT:
   30306              :           x12 = XEXP (x8, 1);
   30307              :           if (GET_CODE (x12) != PARALLEL
   30308              :               || XVECLEN (x12, 0) != 1)
   30309              :             return NULL;
   30310              :           x13 = XVECEXP (x12, 0, 0);
   30311              :           if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   30312              :             return NULL;
   30313              :           x4 = XEXP (x2, 2);
   30314              :           if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   30315              :             return NULL;
   30316              :           switch (pattern1014 (x2))
   30317              :             {
   30318              :             case 0:
   30319              :               if (!(
   30320              : #line 12366 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30321              : (TARGET_SSE2 && ix86_pre_reload_split ()) && 
   30322              : #line 12368 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30323              : ( 1)))
   30324              :                 return NULL;
   30325              :               return gen_split_1622 (insn, operands);
   30326              : 
   30327              :             case 1:
   30328              :               if (!(
   30329              : #line 12366 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30330              : (TARGET_SSE2 && ix86_pre_reload_split ()) && 
   30331              : #line 12368 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30332              : ( 1)))
   30333              :                 return NULL;
   30334              :               return gen_split_1623 (insn, operands);
   30335              : 
   30336              :             case 2:
   30337              :               if (!(
   30338              : #line 12366 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30339              : (TARGET_SSE2 && ix86_pre_reload_split ()) && 
   30340              : #line 12368 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30341              : ( 1)))
   30342              :                 return NULL;
   30343              :               return gen_split_1624 (insn, operands);
   30344              : 
   30345              :             default:
   30346              :               return NULL;
   30347              :             }
   30348              : 
   30349              :         case ZERO_EXTEND:
   30350              :           switch (pattern315 (x2))
   30351              :             {
   30352              :             case 0:
   30353              :               if (!((
   30354              : #line 12406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30355              : (TARGET_AVX512FP16 && ix86_pre_reload_split ()) && 
   30356              : #line 795 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30357              : (TARGET_AVX512F)) && 
   30358              : #line 12408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30359              : ( 1)))
   30360              :                 return NULL;
   30361              :               return gen_split_1625 (insn, operands);
   30362              : 
   30363              :             case 1:
   30364              :               if (!(
   30365              : #line 12406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30366              : (TARGET_AVX512FP16 && ix86_pre_reload_split ()) && 
   30367              : #line 12408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30368              : ( 1)))
   30369              :                 return NULL;
   30370              :               return gen_split_1626 (insn, operands);
   30371              : 
   30372              :             case 2:
   30373              :               if (!(
   30374              : #line 12406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30375              : (TARGET_AVX512FP16 && ix86_pre_reload_split ()) && 
   30376              : #line 12408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30377              : ( 1)))
   30378              :                 return NULL;
   30379              :               return gen_split_1627 (insn, operands);
   30380              : 
   30381              :             case 3:
   30382              :               if (!((
   30383              : #line 12406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30384              : (TARGET_AVX512FP16 && ix86_pre_reload_split ()) && 
   30385              : #line 796 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30386              : (TARGET_AVX512F)) && 
   30387              : #line 12408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30388              : ( 1)))
   30389              :                 return NULL;
   30390              :               return gen_split_1628 (insn, operands);
   30391              : 
   30392              :             case 4:
   30393              :               if (!((
   30394              : #line 12520 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30395              : (TARGET_SSE2 && ix86_pre_reload_split ()) && 
   30396              : #line 611 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30397              : (TARGET_AVX512F)) && 
   30398              : #line 12522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30399              : ( 1)))
   30400              :                 return NULL;
   30401              :               return gen_split_1632 (insn, operands);
   30402              : 
   30403              :             case 5:
   30404              :               if (!(
   30405              : #line 12406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30406              : (TARGET_AVX512FP16 && ix86_pre_reload_split ()) && 
   30407              : #line 12408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30408              : ( 1)))
   30409              :                 return NULL;
   30410              :               return gen_split_1629 (insn, operands);
   30411              : 
   30412              :             case 6:
   30413              :               if (!((
   30414              : #line 12520 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30415              : (TARGET_SSE2 && ix86_pre_reload_split ()) && 
   30416              : #line 611 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30417              : (TARGET_AVX)) && 
   30418              : #line 12522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30419              : ( 1)))
   30420              :                 return NULL;
   30421              :               return gen_split_1633 (insn, operands);
   30422              : 
   30423              :             case 7:
   30424              :               if (!(
   30425              : #line 12406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30426              : (TARGET_AVX512FP16 && ix86_pre_reload_split ()) && 
   30427              : #line 12408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30428              : ( 1)))
   30429              :                 return NULL;
   30430              :               return gen_split_1630 (insn, operands);
   30431              : 
   30432              :             case 8:
   30433              :               if (!(
   30434              : #line 12520 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30435              : (TARGET_SSE2 && ix86_pre_reload_split ()) && 
   30436              : #line 12522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30437              : ( 1)))
   30438              :                 return NULL;
   30439              :               return gen_split_1634 (insn, operands);
   30440              : 
   30441              :             default:
   30442              :               return NULL;
   30443              :             }
   30444              : 
   30445              :         case CONST_INT:
   30446              :         case CONST_WIDE_INT:
   30447              :         case CONST_POLY_INT:
   30448              :         case CONST_FIXED:
   30449              :         case CONST_DOUBLE:
   30450              :         case CONST_VECTOR:
   30451              :         case CONST:
   30452              :         case REG:
   30453              :         case SUBREG:
   30454              :         case LABEL_REF:
   30455              :         case SYMBOL_REF:
   30456              :         case HIGH:
   30457              :           x7 = XEXP (x2, 1);
   30458              :           switch (GET_CODE (x7))
   30459              :             {
   30460              :             case SUBREG:
   30461              :             case MEM:
   30462              :               if (!rtx_equal_p (x7, operands[0]))
   30463              :                 return NULL;
   30464              :               x4 = XEXP (x2, 2);
   30465              :               if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   30466              :                 return NULL;
   30467              :               operands[1] = x8;
   30468              :               switch (GET_MODE (operands[0]))
   30469              :                 {
   30470              :                 case E_V4SImode:
   30471              :                   if (pattern1196 (x2, 
   30472              : E_SImode, 
   30473              : E_V4SImode) != 0
   30474              :                       || !
   30475              : #line 12596 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30476              : (TARGET_SSE && reload_completed))
   30477              :                     return NULL;
   30478              :                   return gen_split_1636 (insn, operands);
   30479              : 
   30480              :                 case E_V4SFmode:
   30481              :                   if (pattern1196 (x2, 
   30482              : E_SFmode, 
   30483              : E_V4SFmode) != 0
   30484              :                       || !
   30485              : #line 12596 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30486              : (TARGET_SSE && reload_completed))
   30487              :                     return NULL;
   30488              :                   return gen_split_1637 (insn, operands);
   30489              : 
   30490              :                 default:
   30491              :                   return NULL;
   30492              :                 }
   30493              : 
   30494              :             case REG:
   30495              :               operands[1] = x7;
   30496              :               operands[2] = x8;
   30497              :               x4 = XEXP (x2, 2);
   30498              :               operands[3] = x4;
   30499              :               if (!const_int_operand (operands[3], E_SImode))
   30500              :                 return NULL;
   30501              :               switch (GET_MODE (operands[0]))
   30502              :                 {
   30503              :                 case E_V8HImode:
   30504              :                   if (pattern1072 (x2, 
   30505              : E_V8HImode, 
   30506              : E_HImode) != 0
   30507              :                       || !
   30508              : #line 20287 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30509              : (TARGET_AVX2 && reload_completed
   30510              :    && INTVAL (operands[3]) > 1
   30511              :    && ((unsigned) exact_log2 (INTVAL (operands[3]))
   30512              :        < GET_MODE_NUNITS (V8HImode))))
   30513              :                     return NULL;
   30514              :                   return gen_split_3474 (insn, operands);
   30515              : 
   30516              :                 case E_V8HFmode:
   30517              :                   if (pattern1072 (x2, 
   30518              : E_V8HFmode, 
   30519              : E_HFmode) != 0
   30520              :                       || !
   30521              : #line 20287 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30522              : (TARGET_AVX2 && reload_completed
   30523              :    && INTVAL (operands[3]) > 1
   30524              :    && ((unsigned) exact_log2 (INTVAL (operands[3]))
   30525              :        < GET_MODE_NUNITS (V8HFmode))))
   30526              :                     return NULL;
   30527              :                   return gen_split_3475 (insn, operands);
   30528              : 
   30529              :                 case E_V8BFmode:
   30530              :                   if (pattern1072 (x2, 
   30531              : E_V8BFmode, 
   30532              : E_BFmode) != 0
   30533              :                       || !
   30534              : #line 20287 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30535              : (TARGET_AVX2 && reload_completed
   30536              :    && INTVAL (operands[3]) > 1
   30537              :    && ((unsigned) exact_log2 (INTVAL (operands[3]))
   30538              :        < GET_MODE_NUNITS (V8BFmode))))
   30539              :                     return NULL;
   30540              :                   return gen_split_3476 (insn, operands);
   30541              : 
   30542              :                 default:
   30543              :                   return NULL;
   30544              :                 }
   30545              : 
   30546              :             default:
   30547              :               return NULL;
   30548              :             }
   30549              : 
   30550              :         default:
   30551              :           return NULL;
   30552              :         }
   30553              : 
   30554              :     case SIGN_EXTEND:
   30555              :       switch (pattern415 (x2))
   30556              :         {
   30557              :         case 0:
   30558              :           if (!(
   30559              : #line 24637 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30560              : (TARGET_AVX512VL && TARGET_AVX512BW
   30561              :    && ix86_pre_reload_split ()) && 
   30562              : #line 24640 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30563              : ( 1)))
   30564              :             return NULL;
   30565              :           return gen_split_3610 (insn, operands);
   30566              : 
   30567              :         case 1:
   30568              :           if (!(
   30569              : #line 24815 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30570              : (TARGET_AVX512VL
   30571              :    && ix86_pre_reload_split ()) && 
   30572              : #line 24818 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30573              : ( 1)))
   30574              :             return NULL;
   30575              :           return gen_split_3618 (insn, operands);
   30576              : 
   30577              :         case 2:
   30578              :           if (!(
   30579              : #line 25259 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30580              : (TARGET_AVX512F && ix86_pre_reload_split ()) && 
   30581              : #line 25261 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30582              : ( 1)))
   30583              :             return NULL;
   30584              :           return gen_split_3644 (insn, operands);
   30585              : 
   30586              :         case 3:
   30587              :           if (!(
   30588              : #line 25103 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30589              : (TARGET_AVX512VL
   30590              :    && ix86_pre_reload_split ()) && 
   30591              : #line 25106 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30592              : ( 1)))
   30593              :             return NULL;
   30594              :           return gen_split_3636 (insn, operands);
   30595              : 
   30596              :         case 4:
   30597              :           if (!(
   30598              : #line 25513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30599              : (TARGET_AVX512VL
   30600              :    && ix86_pre_reload_split ()) && 
   30601              : #line 25516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30602              : ( 1)))
   30603              :             return NULL;
   30604              :           return gen_split_3655 (insn, operands);
   30605              : 
   30606              :         case 5:
   30607              :           if (!(
   30608              : #line 25790 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30609              : (TARGET_AVX512VL
   30610              :    && ix86_pre_reload_split ()) && 
   30611              : #line 25793 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30612              : ( 1)))
   30613              :             return NULL;
   30614              :           return gen_split_3667 (insn, operands);
   30615              : 
   30616              :         case 6:
   30617              :           if (!(
   30618              : #line 24909 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30619              : (TARGET_AVX512VL
   30620              :    && ix86_pre_reload_split ()) && 
   30621              : #line 24912 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30622              : ( 1)))
   30623              :             return NULL;
   30624              :           return gen_split_3624 (insn, operands);
   30625              : 
   30626              :         case 7:
   30627              :           if (!(
   30628              : #line 25349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30629              : (TARGET_AVX512VL
   30630              :    && ix86_pre_reload_split ()) && 
   30631              : #line 25352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30632              : ( 1)))
   30633              :             return NULL;
   30634              :           return gen_split_3648 (insn, operands);
   30635              : 
   30636              :         case 8:
   30637              :           if (!(
   30638              : #line 25604 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30639              : (TARGET_AVX512VL
   30640              :    && ix86_pre_reload_split ()) && 
   30641              : #line 25607 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30642              : ( 1)))
   30643              :             return NULL;
   30644              :           return gen_split_3659 (insn, operands);
   30645              : 
   30646              :         default:
   30647              :           return NULL;
   30648              :         }
   30649              : 
   30650              :     case ZERO_EXTEND:
   30651              :       switch (pattern415 (x2))
   30652              :         {
   30653              :         case 0:
   30654              :           if (!(
   30655              : #line 24637 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30656              : (TARGET_AVX512VL && TARGET_AVX512BW
   30657              :    && ix86_pre_reload_split ()) && 
   30658              : #line 24640 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30659              : ( 1)))
   30660              :             return NULL;
   30661              :           return gen_split_3611 (insn, operands);
   30662              : 
   30663              :         case 1:
   30664              :           if (!(
   30665              : #line 24815 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30666              : (TARGET_AVX512VL
   30667              :    && ix86_pre_reload_split ()) && 
   30668              : #line 24818 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30669              : ( 1)))
   30670              :             return NULL;
   30671              :           return gen_split_3619 (insn, operands);
   30672              : 
   30673              :         case 2:
   30674              :           if (!(
   30675              : #line 25259 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30676              : (TARGET_AVX512F && ix86_pre_reload_split ()) && 
   30677              : #line 25261 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30678              : ( 1)))
   30679              :             return NULL;
   30680              :           return gen_split_3645 (insn, operands);
   30681              : 
   30682              :         case 3:
   30683              :           if (!(
   30684              : #line 25103 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30685              : (TARGET_AVX512VL
   30686              :    && ix86_pre_reload_split ()) && 
   30687              : #line 25106 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30688              : ( 1)))
   30689              :             return NULL;
   30690              :           return gen_split_3637 (insn, operands);
   30691              : 
   30692              :         case 4:
   30693              :           if (!(
   30694              : #line 25513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30695              : (TARGET_AVX512VL
   30696              :    && ix86_pre_reload_split ()) && 
   30697              : #line 25516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30698              : ( 1)))
   30699              :             return NULL;
   30700              :           return gen_split_3656 (insn, operands);
   30701              : 
   30702              :         case 5:
   30703              :           if (!(
   30704              : #line 25790 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30705              : (TARGET_AVX512VL
   30706              :    && ix86_pre_reload_split ()) && 
   30707              : #line 25793 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30708              : ( 1)))
   30709              :             return NULL;
   30710              :           return gen_split_3668 (insn, operands);
   30711              : 
   30712              :         case 6:
   30713              :           if (!(
   30714              : #line 24909 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30715              : (TARGET_AVX512VL
   30716              :    && ix86_pre_reload_split ()) && 
   30717              : #line 24912 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30718              : ( 1)))
   30719              :             return NULL;
   30720              :           return gen_split_3625 (insn, operands);
   30721              : 
   30722              :         case 7:
   30723              :           if (!(
   30724              : #line 25349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30725              : (TARGET_AVX512VL
   30726              :    && ix86_pre_reload_split ()) && 
   30727              : #line 25352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30728              : ( 1)))
   30729              :             return NULL;
   30730              :           return gen_split_3649 (insn, operands);
   30731              : 
   30732              :         case 8:
   30733              :           if (!(
   30734              : #line 25604 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30735              : (TARGET_AVX512VL
   30736              :    && ix86_pre_reload_split ()) && 
   30737              : #line 25607 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30738              : ( 1)))
   30739              :             return NULL;
   30740              :           return gen_split_3660 (insn, operands);
   30741              : 
   30742              :         default:
   30743              :           return NULL;
   30744              :         }
   30745              : 
   30746              :     default:
   30747              :       return NULL;
   30748              :     }
   30749              : }
   30750              : 
   30751              :  rtx_insn *
   30752              : split_insns (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
   30753              : {
   30754              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   30755              :   rtx x2, x3;
   30756              :   rtx_insn *res ATTRIBUTE_UNUSED;
   30757              :   recog_data.insn = NULL;
   30758              :   switch (GET_CODE (x1))
   30759              :     {
   30760              :     case EH_RETURN:
   30761              :       if (!
   30762              : #line 21217 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   30763              : (epilogue_completed))
   30764              :         return NULL;
   30765              :       return gen_split_875 (insn, operands);
   30766              : 
   30767              :     case PARALLEL:
   30768              :     case UNSPEC:
   30769              :     case UNSPEC_VOLATILE:
   30770              :     case SET:
   30771              :       switch (GET_CODE (x1))
   30772              :         {
   30773              :         case SET:
   30774              :           res = split_14 (x1, insn);
   30775              :           if (res != NULL_RTX)
   30776              :             return res;
   30777              :           break;
   30778              : 
   30779              :         case PARALLEL:
   30780              :           res = split_37 (x1, insn);
   30781              :           if (res != NULL_RTX)
   30782              :             return res;
   30783              :           break;
   30784              : 
   30785              :         default:
   30786              :           break;
   30787              :         }
   30788              :       operands[0] = x1;
   30789              :       if (tls_address_pattern (operands[0], E_VOIDmode)
   30790              :           && 
   30791              : #line 23761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   30792              : (TARGET_TLS_DIRECT_SEG_REFS))
   30793              :         return gen_split_936 (insn, operands);
   30794              :       switch (GET_CODE (x1))
   30795              :         {
   30796              :         case PARALLEL:
   30797              :           return split_88 (x1, insn);
   30798              : 
   30799              :         case SET:
   30800              :           x2 = XEXP (x1, 1);
   30801              :           switch (GET_CODE (x2))
   30802              :             {
   30803              :             case NEG:
   30804              :               res = split_41 (x1, insn);
   30805              :               if (res != NULL_RTX)
   30806              :                 return res;
   30807              :               break;
   30808              : 
   30809              :             case IF_THEN_ELSE:
   30810              :               res = split_43 (x1, insn);
   30811              :               if (res != NULL_RTX)
   30812              :                 return res;
   30813              :               break;
   30814              : 
   30815              :             case UNSPEC:
   30816              :               res = split_44 (x1, insn);
   30817              :               if (res != NULL_RTX)
   30818              :                 return res;
   30819              :               break;
   30820              : 
   30821              :             case COMPARE:
   30822              :               res = split_45 (x1, insn);
   30823              :               if (res != NULL_RTX)
   30824              :                 return res;
   30825              :               break;
   30826              : 
   30827              :             case NOT:
   30828              :               res = split_46 (x1, insn);
   30829              :               if (res != NULL_RTX)
   30830              :                 return res;
   30831              :               break;
   30832              : 
   30833              :             case REG:
   30834              :             case SUBREG:
   30835              :             case MEM:
   30836              :               res = split_47 (x1, insn);
   30837              :               if (res != NULL_RTX)
   30838              :                 return res;
   30839              :               break;
   30840              : 
   30841              :             case CONST_INT:
   30842              :             case CONST_DOUBLE:
   30843              :             case CONST_VECTOR:
   30844              :               operands[1] = x2;
   30845              :               x3 = XEXP (x1, 0);
   30846              :               operands[0] = x3;
   30847              :               switch (GET_MODE (operands[0]))
   30848              :                 {
   30849              :                 case E_V8QImode:
   30850              :                   if (nonimmediate_gr_operand (operands[0], E_V8QImode)
   30851              :                       && const0_operand (operands[1], E_V8QImode)
   30852              :                       && 
   30853              : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   30854              : (!TARGET_64BIT && reload_completed))
   30855              :                     return gen_split_1024 (insn, operands);
   30856              :                   if (memory_operand (operands[0], E_V8QImode)
   30857              :                       && x86_64_const_vector_operand (operands[1], E_V8QImode)
   30858              :                       && (
   30859              : #line 87 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   30860              : (TARGET_64BIT) && 
   30861              : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   30862              : ( reload_completed)))
   30863              :                     return gen_split_1060 (insn, operands);
   30864              :                   break;
   30865              : 
   30866              :                 case E_V4HImode:
   30867              :                   if (nonimmediate_gr_operand (operands[0], E_V4HImode)
   30868              :                       && const0_operand (operands[1], E_V4HImode)
   30869              :                       && 
   30870              : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   30871              : (!TARGET_64BIT && reload_completed))
   30872              :                     return gen_split_1025 (insn, operands);
   30873              :                   if (memory_operand (operands[0], E_V4HImode)
   30874              :                       && x86_64_const_vector_operand (operands[1], E_V4HImode)
   30875              :                       && (
   30876              : #line 87 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   30877              : (TARGET_64BIT) && 
   30878              : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   30879              : ( reload_completed)))
   30880              :                     return gen_split_1061 (insn, operands);
   30881              :                   break;
   30882              : 
   30883              :                 case E_V2SImode:
   30884              :                   if (nonimmediate_gr_operand (operands[0], E_V2SImode)
   30885              :                       && const0_operand (operands[1], E_V2SImode)
   30886              :                       && 
   30887              : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   30888              : (!TARGET_64BIT && reload_completed))
   30889              :                     return gen_split_1026 (insn, operands);
   30890              :                   if (memory_operand (operands[0], E_V2SImode)
   30891              :                       && x86_64_const_vector_operand (operands[1], E_V2SImode)
   30892              :                       && (
   30893              : #line 89 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   30894              : (TARGET_64BIT) && 
   30895              : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   30896              : ( reload_completed)))
   30897              :                     return gen_split_1064 (insn, operands);
   30898              :                   break;
   30899              : 
   30900              :                 case E_V1DImode:
   30901              :                   if (nonimmediate_gr_operand (operands[0], E_V1DImode)
   30902              :                       && const0_operand (operands[1], E_V1DImode)
   30903              :                       && 
   30904              : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   30905              : (!TARGET_64BIT && reload_completed))
   30906              :                     return gen_split_1027 (insn, operands);
   30907              :                   if (memory_operand (operands[0], E_V1DImode)
   30908              :                       && x86_64_const_vector_operand (operands[1], E_V1DImode)
   30909              :                       && (
   30910              : #line 90 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   30911              : (TARGET_64BIT) && 
   30912              : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   30913              : ( reload_completed)))
   30914              :                     return gen_split_1066 (insn, operands);
   30915              :                   break;
   30916              : 
   30917              :                 case E_V2SFmode:
   30918              :                   if (nonimmediate_gr_operand (operands[0], E_V2SFmode)
   30919              :                       && const0_operand (operands[1], E_V2SFmode)
   30920              :                       && 
   30921              : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   30922              : (!TARGET_64BIT && reload_completed))
   30923              :                     return gen_split_1028 (insn, operands);
   30924              :                   if (memory_operand (operands[0], E_V2SFmode)
   30925              :                       && x86_64_const_vector_operand (operands[1], E_V2SFmode)
   30926              :                       && (
   30927              : #line 89 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   30928              : (TARGET_64BIT) && 
   30929              : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   30930              : ( reload_completed)))
   30931              :                     return gen_split_1065 (insn, operands);
   30932              :                   break;
   30933              : 
   30934              :                 case E_V4HFmode:
   30935              :                   if (nonimmediate_gr_operand (operands[0], E_V4HFmode)
   30936              :                       && const0_operand (operands[1], E_V4HFmode)
   30937              :                       && 
   30938              : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   30939              : (!TARGET_64BIT && reload_completed))
   30940              :                     return gen_split_1029 (insn, operands);
   30941              :                   if (memory_operand (operands[0], E_V4HFmode)
   30942              :                       && x86_64_const_vector_operand (operands[1], E_V4HFmode)
   30943              :                       && (
   30944              : #line 88 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   30945              : (TARGET_64BIT) && 
   30946              : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   30947              : ( reload_completed)))
   30948              :                     return gen_split_1062 (insn, operands);
   30949              :                   break;
   30950              : 
   30951              :                 case E_V4BFmode:
   30952              :                   if (nonimmediate_gr_operand (operands[0], E_V4BFmode)
   30953              :                       && const0_operand (operands[1], E_V4BFmode)
   30954              :                       && 
   30955              : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   30956              : (!TARGET_64BIT && reload_completed))
   30957              :                     return gen_split_1030 (insn, operands);
   30958              :                   if (memory_operand (operands[0], E_V4BFmode)
   30959              :                       && x86_64_const_vector_operand (operands[1], E_V4BFmode)
   30960              :                       && (
   30961              : #line 88 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   30962              : (TARGET_64BIT) && 
   30963              : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   30964              : ( reload_completed)))
   30965              :                     return gen_split_1063 (insn, operands);
   30966              :                   break;
   30967              : 
   30968              :                 case E_V2QImode:
   30969              :                   if (memory_operand (operands[0], E_V2QImode)
   30970              :                       && x86_64_const_vector_operand (operands[1], E_V2QImode)
   30971              :                       && 
   30972              : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   30973              : ( reload_completed))
   30974              :                     return gen_split_1054 (insn, operands);
   30975              :                   break;
   30976              : 
   30977              :                 case E_V4QImode:
   30978              :                   if (memory_operand (operands[0], E_V4QImode)
   30979              :                       && x86_64_const_vector_operand (operands[1], E_V4QImode)
   30980              :                       && 
   30981              : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   30982              : ( reload_completed))
   30983              :                     return gen_split_1055 (insn, operands);
   30984              :                   break;
   30985              : 
   30986              :                 case E_V2HImode:
   30987              :                   if (memory_operand (operands[0], E_V2HImode)
   30988              :                       && x86_64_const_vector_operand (operands[1], E_V2HImode)
   30989              :                       && 
   30990              : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   30991              : ( reload_completed))
   30992              :                     return gen_split_1056 (insn, operands);
   30993              :                   break;
   30994              : 
   30995              :                 case E_V1SImode:
   30996              :                   if (memory_operand (operands[0], E_V1SImode)
   30997              :                       && x86_64_const_vector_operand (operands[1], E_V1SImode)
   30998              :                       && 
   30999              : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   31000              : ( reload_completed))
   31001              :                     return gen_split_1057 (insn, operands);
   31002              :                   break;
   31003              : 
   31004              :                 case E_V2HFmode:
   31005              :                   if (memory_operand (operands[0], E_V2HFmode)
   31006              :                       && x86_64_const_vector_operand (operands[1], E_V2HFmode)
   31007              :                       && 
   31008              : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   31009              : ( reload_completed))
   31010              :                     return gen_split_1058 (insn, operands);
   31011              :                   break;
   31012              : 
   31013              :                 case E_V2BFmode:
   31014              :                   if (memory_operand (operands[0], E_V2BFmode)
   31015              :                       && x86_64_const_vector_operand (operands[1], E_V2BFmode)
   31016              :                       && 
   31017              : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   31018              : ( reload_completed))
   31019              :                     return gen_split_1059 (insn, operands);
   31020              :                   break;
   31021              : 
   31022              :                 default:
   31023              :                   break;
   31024              :                 }
   31025              :               break;
   31026              : 
   31027              :             case PLUS:
   31028              :               res = split_48 (x1, insn);
   31029              :               if (res != NULL_RTX)
   31030              :                 return res;
   31031              :               break;
   31032              : 
   31033              :             case MINUS:
   31034              :               res = split_49 (x1, insn);
   31035              :               if (res != NULL_RTX)
   31036              :                 return res;
   31037              :               break;
   31038              : 
   31039              :             case VEC_SELECT:
   31040              :               res = split_51 (x1, insn);
   31041              :               if (res != NULL_RTX)
   31042              :                 return res;
   31043              :               break;
   31044              : 
   31045              :             case LT:
   31046              :               x3 = XEXP (x1, 0);
   31047              :               operands[0] = x3;
   31048              :               switch (pattern240 (x2))
   31049              :                 {
   31050              :                 case 0:
   31051              :                   if ((
   31052              : #line 3901 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   31053              : (TARGET_MMX_WITH_SSE && ix86_pre_reload_split ()) && 
   31054              : #line 3903 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   31055              : ( 1)))
   31056              :                     return gen_split_1096 (insn, operands);
   31057              :                   break;
   31058              : 
   31059              :                 case 1:
   31060              :                   if ((
   31061              : #line 3901 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   31062              : (TARGET_MMX_WITH_SSE && ix86_pre_reload_split ()) && 
   31063              : #line 3903 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   31064              : ( 1)))
   31065              :                     return gen_split_1097 (insn, operands);
   31066              :                   break;
   31067              : 
   31068              :                 case 2:
   31069              :                   if ((
   31070              : #line 3990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   31071              : (TARGET_SSE2 && ix86_pre_reload_split ()) && 
   31072              : #line 3992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   31073              : ( 1)))
   31074              :                     return gen_split_1101 (insn, operands);
   31075              :                   break;
   31076              : 
   31077              :                 default:
   31078              :                   break;
   31079              :                 }
   31080              :               break;
   31081              : 
   31082              :             case AND:
   31083              :               res = split_52 (x1, insn);
   31084              :               if (res != NULL_RTX)
   31085              :                 return res;
   31086              :               break;
   31087              : 
   31088              :             case VEC_CONCAT:
   31089              :               res = split_53 (x1, insn);
   31090              :               if (res != NULL_RTX)
   31091              :                 return res;
   31092              :               break;
   31093              : 
   31094              :             case VEC_MERGE:
   31095              :               res = split_54 (x1, insn);
   31096              :               if (res != NULL_RTX)
   31097              :                 return res;
   31098              :               break;
   31099              : 
   31100              :             case ZERO_EXTEND:
   31101              :               res = split_55 (x1, insn);
   31102              :               if (res != NULL_RTX)
   31103              :                 return res;
   31104              :               break;
   31105              : 
   31106              :             case IOR:
   31107              :               x3 = XEXP (x1, 0);
   31108              :               operands[0] = x3;
   31109              :               switch (pattern242 (x2))
   31110              :                 {
   31111              :                 case 0:
   31112              :                   if (
   31113              : #line 2138 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31114              : (TARGET_AVX512F && reload_completed))
   31115              :                     return gen_split_1234 (insn, operands);
   31116              :                   break;
   31117              : 
   31118              :                 case 1:
   31119              :                   if (
   31120              : #line 2138 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31121              : (TARGET_AVX512F && reload_completed))
   31122              :                     return gen_split_1237 (insn, operands);
   31123              :                   break;
   31124              : 
   31125              :                 case 2:
   31126              :                   if ((
   31127              : #line 2138 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31128              : (TARGET_AVX512F && reload_completed) && 
   31129              : #line 2098 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31130              : (TARGET_AVX512BW)))
   31131              :                     return gen_split_1240 (insn, operands);
   31132              :                   break;
   31133              : 
   31134              :                 case 3:
   31135              :                   if ((
   31136              : #line 2138 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31137              : (TARGET_AVX512F && reload_completed) && 
   31138              : #line 2098 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31139              : (TARGET_AVX512BW)))
   31140              :                     return gen_split_1243 (insn, operands);
   31141              :                   break;
   31142              : 
   31143              :                 default:
   31144              :                   break;
   31145              :                 }
   31146              :               break;
   31147              : 
   31148              :             case XOR:
   31149              :               x3 = XEXP (x1, 0);
   31150              :               operands[0] = x3;
   31151              :               switch (pattern242 (x2))
   31152              :                 {
   31153              :                 case 0:
   31154              :                   if (
   31155              : #line 2138 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31156              : (TARGET_AVX512F && reload_completed))
   31157              :                     return gen_split_1235 (insn, operands);
   31158              :                   break;
   31159              : 
   31160              :                 case 1:
   31161              :                   if (
   31162              : #line 2138 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31163              : (TARGET_AVX512F && reload_completed))
   31164              :                     return gen_split_1238 (insn, operands);
   31165              :                   break;
   31166              : 
   31167              :                 case 2:
   31168              :                   if ((
   31169              : #line 2138 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31170              : (TARGET_AVX512F && reload_completed) && 
   31171              : #line 2098 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31172              : (TARGET_AVX512BW)))
   31173              :                     return gen_split_1241 (insn, operands);
   31174              :                   break;
   31175              : 
   31176              :                 case 3:
   31177              :                   if ((
   31178              : #line 2138 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31179              : (TARGET_AVX512F && reload_completed) && 
   31180              : #line 2098 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31181              : (TARGET_AVX512BW)))
   31182              :                     return gen_split_1244 (insn, operands);
   31183              :                   break;
   31184              : 
   31185              :                 default:
   31186              :                   break;
   31187              :                 }
   31188              :               break;
   31189              : 
   31190              :             case ASHIFT:
   31191              :               switch (pattern55 (x1))
   31192              :                 {
   31193              :                 case 0:
   31194              :                   if (
   31195              : #line 2302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31196              : (TARGET_AVX512F && reload_completed))
   31197              :                     return gen_split_1266 (insn, operands);
   31198              :                   break;
   31199              : 
   31200              :                 case 1:
   31201              :                   if (
   31202              : #line 2302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31203              : (TARGET_AVX512F && reload_completed))
   31204              :                     return gen_split_1268 (insn, operands);
   31205              :                   break;
   31206              : 
   31207              :                 case 2:
   31208              :                   if ((
   31209              : #line 2302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31210              : (TARGET_AVX512F && reload_completed) && 
   31211              : #line 2098 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31212              : (TARGET_AVX512BW)))
   31213              :                     return gen_split_1270 (insn, operands);
   31214              :                   break;
   31215              : 
   31216              :                 case 3:
   31217              :                   if ((
   31218              : #line 2302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31219              : (TARGET_AVX512F && reload_completed) && 
   31220              : #line 2098 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31221              : (TARGET_AVX512BW)))
   31222              :                     return gen_split_1272 (insn, operands);
   31223              :                   break;
   31224              : 
   31225              :                 default:
   31226              :                   break;
   31227              :                 }
   31228              :               break;
   31229              : 
   31230              :             case LSHIFTRT:
   31231              :               switch (pattern55 (x1))
   31232              :                 {
   31233              :                 case 0:
   31234              :                   if (
   31235              : #line 2302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31236              : (TARGET_AVX512F && reload_completed))
   31237              :                     return gen_split_1267 (insn, operands);
   31238              :                   break;
   31239              : 
   31240              :                 case 1:
   31241              :                   if (
   31242              : #line 2302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31243              : (TARGET_AVX512F && reload_completed))
   31244              :                     return gen_split_1269 (insn, operands);
   31245              :                   break;
   31246              : 
   31247              :                 case 2:
   31248              :                   if ((
   31249              : #line 2302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31250              : (TARGET_AVX512F && reload_completed) && 
   31251              : #line 2098 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31252              : (TARGET_AVX512BW)))
   31253              :                     return gen_split_1271 (insn, operands);
   31254              :                   break;
   31255              : 
   31256              :                 case 3:
   31257              :                   if ((
   31258              : #line 2302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31259              : (TARGET_AVX512F && reload_completed) && 
   31260              : #line 2098 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31261              : (TARGET_AVX512BW)))
   31262              :                     return gen_split_1273 (insn, operands);
   31263              :                   break;
   31264              : 
   31265              :                 default:
   31266              :                   break;
   31267              :                 }
   31268              :               break;
   31269              : 
   31270              :             case SIGN_EXTEND:
   31271              :               res = split_56 (x1, insn);
   31272              :               if (res != NULL_RTX)
   31273              :                 return res;
   31274              :               break;
   31275              : 
   31276              :             case SS_PLUS:
   31277              :               if (pattern57 (x1) == 0
   31278              :                   && 
   31279              : #line 22975 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31280              : (TARGET_SSSE3 && reload_completed
   31281              :    && SSE_REGNO_P (REGNO (operands[0]))))
   31282              :                 return gen_split_3557 (insn, operands);
   31283              :               break;
   31284              : 
   31285              :             case SS_MINUS:
   31286              :               if (pattern57 (x1) == 0
   31287              :                   && 
   31288              : #line 22975 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31289              : (TARGET_SSSE3 && reload_completed
   31290              :    && SSE_REGNO_P (REGNO (operands[0]))))
   31291              :                 return gen_split_3559 (insn, operands);
   31292              :               break;
   31293              : 
   31294              :             case NE:
   31295              :             case EQ:
   31296              :               res = split_57 (x1, insn);
   31297              :               if (res != NULL_RTX)
   31298              :                 return res;
   31299              :               break;
   31300              : 
   31301              :             default:
   31302              :               break;
   31303              :             }
   31304              :           x3 = XEXP (x1, 0);
   31305              :           operands[0] = x3;
   31306              :           return split_87 (x1, insn);
   31307              : 
   31308              :         default:
   31309              :           return NULL;
   31310              :         }
   31311              : 
   31312              :     default:
   31313              :       return NULL;
   31314              :     }
   31315              : }
   31316              : 
   31317              :  rtx_insn *
   31318              : peephole2_5 (rtx x1 ATTRIBUTE_UNUSED,
   31319              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   31320              :         int *pmatch_len_ ATTRIBUTE_UNUSED)
   31321              : {
   31322              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   31323              :   rtx x2, x3, x4, x5, x6, x7;
   31324              :   rtx_insn *res ATTRIBUTE_UNUSED;
   31325              :   x2 = XEXP (x1, 0);
   31326              :   switch (GET_CODE (x2))
   31327              :     {
   31328              :     case REG:
   31329              :       if (peep2_current_count < 2)
   31330              :         return NULL;
   31331              :       operands[0] = x2;
   31332              :       x3 = PATTERN (peep2_next_insn (1));
   31333              :       if (GET_CODE (x3) != SET)
   31334              :         return NULL;
   31335              :       x4 = XEXP (x3, 0);
   31336              :       if (GET_CODE (x4) != STRICT_LOW_PART)
   31337              :         return NULL;
   31338              :       x5 = XEXP (x4, 0);
   31339              :       operands[1] = x5;
   31340              :       x6 = XEXP (x3, 1);
   31341              :       operands[2] = x6;
   31342              :       switch (GET_MODE (operands[0]))
   31343              :         {
   31344              :         case E_SImode:
   31345              :           if (!general_reg_operand (operands[0], E_SImode))
   31346              :             return NULL;
   31347              :           switch (pattern1350 ())
   31348              :             {
   31349              :             case 0:
   31350              :               if (!
   31351              : #line 4959 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31352              : (REGNO (operands[0]) == REGNO (operands[1])
   31353              :    && (SImode != SImode
   31354              :        || !TARGET_ZERO_EXTEND_WITH_AND
   31355              :        || !optimize_function_for_speed_p (cfun))))
   31356              :                 return NULL;
   31357              :               *pmatch_len_ = 1;
   31358              :               return gen_peephole2_45 (insn, operands);
   31359              : 
   31360              :             case 1:
   31361              :               if (!
   31362              : #line 4959 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31363              : (REGNO (operands[0]) == REGNO (operands[1])
   31364              :    && (SImode != SImode
   31365              :        || !TARGET_ZERO_EXTEND_WITH_AND
   31366              :        || !optimize_function_for_speed_p (cfun))))
   31367              :                 return NULL;
   31368              :               *pmatch_len_ = 1;
   31369              :               return gen_peephole2_47 (insn, operands);
   31370              : 
   31371              :             default:
   31372              :               return NULL;
   31373              :             }
   31374              : 
   31375              :         case E_DImode:
   31376              :           if (!general_reg_operand (operands[0], E_DImode))
   31377              :             return NULL;
   31378              :           switch (pattern1350 ())
   31379              :             {
   31380              :             case 0:
   31381              :               if (!(
   31382              : #line 4959 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31383              : (REGNO (operands[0]) == REGNO (operands[1])
   31384              :    && (DImode != SImode
   31385              :        || !TARGET_ZERO_EXTEND_WITH_AND
   31386              :        || !optimize_function_for_speed_p (cfun))) && 
   31387              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31388              : (TARGET_64BIT)))
   31389              :                 return NULL;
   31390              :               *pmatch_len_ = 1;
   31391              :               return gen_peephole2_46 (insn, operands);
   31392              : 
   31393              :             case 1:
   31394              :               if (!(
   31395              : #line 4959 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31396              : (REGNO (operands[0]) == REGNO (operands[1])
   31397              :    && (DImode != SImode
   31398              :        || !TARGET_ZERO_EXTEND_WITH_AND
   31399              :        || !optimize_function_for_speed_p (cfun))) && 
   31400              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31401              : (TARGET_64BIT)))
   31402              :                 return NULL;
   31403              :               *pmatch_len_ = 1;
   31404              :               return gen_peephole2_48 (insn, operands);
   31405              : 
   31406              :             default:
   31407              :               return NULL;
   31408              :             }
   31409              : 
   31410              :         default:
   31411              :           return NULL;
   31412              :         }
   31413              : 
   31414              :     case SUBREG:
   31415              :     case MEM:
   31416              :       operands[0] = x2;
   31417              :       switch (GET_MODE (operands[0]))
   31418              :         {
   31419              :         case E_QImode:
   31420              :           if (!memory_operand (operands[0], E_QImode)
   31421              :               || !
   31422              : #line 28367 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31423              : (optimize_insn_for_speed_p ()
   31424              :    && ((QImode == HImode
   31425              :        && TARGET_LCP_STALL)
   31426              :        || (!TARGET_USE_MOV0
   31427              :           && TARGET_SPLIT_LONG_MOVES
   31428              :           && get_attr_length (insn) >= ix86_cur_cost ()->large_insn))
   31429              :    && peep2_regno_dead_p (0, FLAGS_REG)))
   31430              :             return NULL;
   31431              :           *pmatch_len_ = 0;
   31432              :           return gen_peephole2_278 (insn, operands);
   31433              : 
   31434              :         case E_HImode:
   31435              :           if (!memory_operand (operands[0], E_HImode)
   31436              :               || !
   31437              : #line 28367 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31438              : (optimize_insn_for_speed_p ()
   31439              :    && ((HImode == HImode
   31440              :        && TARGET_LCP_STALL)
   31441              :        || (!TARGET_USE_MOV0
   31442              :           && TARGET_SPLIT_LONG_MOVES
   31443              :           && get_attr_length (insn) >= ix86_cur_cost ()->large_insn))
   31444              :    && peep2_regno_dead_p (0, FLAGS_REG)))
   31445              :             return NULL;
   31446              :           *pmatch_len_ = 0;
   31447              :           return gen_peephole2_279 (insn, operands);
   31448              : 
   31449              :         default:
   31450              :           return NULL;
   31451              :         }
   31452              : 
   31453              :     case STRICT_LOW_PART:
   31454              :       x7 = XEXP (x2, 0);
   31455              :       operands[0] = x7;
   31456              :       switch (GET_MODE (operands[0]))
   31457              :         {
   31458              :         case E_QImode:
   31459              :           if (!general_reg_operand (operands[0], E_QImode)
   31460              :               || !
   31461              : #line 29187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31462              : ((! TARGET_USE_MOV0 || optimize_insn_for_size_p ())
   31463              :    && peep2_regno_dead_p (0, FLAGS_REG)))
   31464              :             return NULL;
   31465              :           *pmatch_len_ = 0;
   31466              :           return gen_peephole2_365 (insn, operands);
   31467              : 
   31468              :         case E_HImode:
   31469              :           if (!general_reg_operand (operands[0], E_HImode)
   31470              :               || !
   31471              : #line 29187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31472              : ((! TARGET_USE_MOV0 || optimize_insn_for_size_p ())
   31473              :    && peep2_regno_dead_p (0, FLAGS_REG)))
   31474              :             return NULL;
   31475              :           *pmatch_len_ = 0;
   31476              :           return gen_peephole2_366 (insn, operands);
   31477              : 
   31478              :         default:
   31479              :           return NULL;
   31480              :         }
   31481              : 
   31482              :     default:
   31483              :       return NULL;
   31484              :     }
   31485              : }
   31486              : 
   31487              :  rtx_insn *
   31488              : peephole2_8 (rtx x1 ATTRIBUTE_UNUSED,
   31489              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   31490              :         int *pmatch_len_ ATTRIBUTE_UNUSED)
   31491              : {
   31492              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   31493              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   31494              :   rtx_insn *res ATTRIBUTE_UNUSED;
   31495              :   x2 = XEXP (x1, 1);
   31496              :   switch (GET_CODE (x2))
   31497              :     {
   31498              :     case CONST_INT:
   31499              :     case CONST_WIDE_INT:
   31500              :     case CONST_POLY_INT:
   31501              :     case CONST_FIXED:
   31502              :     case CONST_DOUBLE:
   31503              :     case CONST_VECTOR:
   31504              :     case CONST:
   31505              :     case LABEL_REF:
   31506              :     case SYMBOL_REF:
   31507              :     case HIGH:
   31508              :       operands[1] = x2;
   31509              :       x3 = XEXP (x1, 0);
   31510              :       operands[0] = x3;
   31511              :       switch (GET_CODE (operands[0]))
   31512              :         {
   31513              :         case MEM:
   31514              :           if (push_operand (operands[0], E_DImode)
   31515              :               && immediate_operand (operands[1], E_DImode)
   31516              :               && 
   31517              : #line 2228 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31518              : (TARGET_64BIT
   31519              :    && !symbolic_operand (operands[1], DImode)
   31520              :    && !x86_64_immediate_operand (operands[1], DImode)))
   31521              :             {
   31522              :               *pmatch_len_ = 0;
   31523              :               res = gen_peephole2_3 (insn, operands);
   31524              :               if (res != NULL_RTX)
   31525              :                 return res;
   31526              :             }
   31527              :           break;
   31528              : 
   31529              :         case REG:
   31530              :         case SUBREG:
   31531              :           res = peephole2_4 (x1, insn, pmatch_len_);
   31532              :           if (res != NULL_RTX)
   31533              :             return res;
   31534              :           break;
   31535              : 
   31536              :         default:
   31537              :           break;
   31538              :         }
   31539              :       switch (GET_MODE (operands[0]))
   31540              :         {
   31541              :         case E_HImode:
   31542              :           if (memory_operand (operands[0], E_HImode)
   31543              :               && const_int_operand (operands[1], E_HImode)
   31544              :               && 
   31545              : #line 2987 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31546              : ((operands[1] == const0_rtx || operands[1] == constm1_rtx)
   31547              :    && optimize_insn_for_size_p () && optimize_size > 1
   31548              :    && peep2_regno_dead_p (0, FLAGS_REG)))
   31549              :             {
   31550              :               *pmatch_len_ = 0;
   31551              :               res = gen_peephole2_8 (insn, operands);
   31552              :               if (res != NULL_RTX)
   31553              :                 return res;
   31554              :             }
   31555              :           break;
   31556              : 
   31557              :         case E_SImode:
   31558              :           if (memory_operand (operands[0], E_SImode)
   31559              :               && const_int_operand (operands[1], E_SImode)
   31560              :               && 
   31561              : #line 2987 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31562              : ((operands[1] == const0_rtx || operands[1] == constm1_rtx)
   31563              :    && optimize_insn_for_size_p () && optimize_size > 1
   31564              :    && peep2_regno_dead_p (0, FLAGS_REG)))
   31565              :             {
   31566              :               *pmatch_len_ = 0;
   31567              :               res = gen_peephole2_9 (insn, operands);
   31568              :               if (res != NULL_RTX)
   31569              :                 return res;
   31570              :             }
   31571              :           break;
   31572              : 
   31573              :         case E_DImode:
   31574              :           if (memory_operand (operands[0], E_DImode)
   31575              :               && const_int_operand (operands[1], E_DImode)
   31576              :               && (
   31577              : #line 2987 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31578              : ((operands[1] == const0_rtx || operands[1] == constm1_rtx)
   31579              :    && optimize_insn_for_size_p () && optimize_size > 1
   31580              :    && peep2_regno_dead_p (0, FLAGS_REG)) && 
   31581              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31582              : (TARGET_64BIT)))
   31583              :             {
   31584              :               *pmatch_len_ = 0;
   31585              :               res = gen_peephole2_10 (insn, operands);
   31586              :               if (res != NULL_RTX)
   31587              :                 return res;
   31588              :             }
   31589              :           break;
   31590              : 
   31591              :         default:
   31592              :           break;
   31593              :         }
   31594              :       if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + 0])
   31595              :         {
   31596              :           res = peephole2_5 (x1, insn, pmatch_len_);
   31597              :           if (res != NULL_RTX)
   31598              :             return res;
   31599              :         }
   31600              :       operands[1] = x2;
   31601              :       operands[0] = x3;
   31602              :       switch (GET_MODE (operands[0]))
   31603              :         {
   31604              :         case E_QImode:
   31605              :           if (memory_operand (operands[0], E_QImode)
   31606              :               && immediate_operand (operands[1], E_QImode)
   31607              :               && 
   31608              : #line 28383 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31609              : (optimize_insn_for_speed_p ()
   31610              :    && ((QImode == HImode
   31611              :        && TARGET_LCP_STALL)
   31612              :        || (TARGET_SPLIT_LONG_MOVES
   31613              :           && get_attr_length (insn) >= ix86_cur_cost ()->large_insn))))
   31614              :             {
   31615              :               *pmatch_len_ = 0;
   31616              :               res = gen_peephole2_281 (insn, operands);
   31617              :               if (res != NULL_RTX)
   31618              :                 return res;
   31619              :             }
   31620              :           break;
   31621              : 
   31622              :         case E_HImode:
   31623              :           if (memory_operand (operands[0], E_HImode)
   31624              :               && immediate_operand (operands[1], E_HImode)
   31625              :               && 
   31626              : #line 28383 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31627              : (optimize_insn_for_speed_p ()
   31628              :    && ((HImode == HImode
   31629              :        && TARGET_LCP_STALL)
   31630              :        || (TARGET_SPLIT_LONG_MOVES
   31631              :           && get_attr_length (insn) >= ix86_cur_cost ()->large_insn))))
   31632              :             {
   31633              :               *pmatch_len_ = 0;
   31634              :               res = gen_peephole2_282 (insn, operands);
   31635              :               if (res != NULL_RTX)
   31636              :                 return res;
   31637              :             }
   31638              :           break;
   31639              : 
   31640              :         default:
   31641              :           break;
   31642              :         }
   31643              :       break;
   31644              : 
   31645              :     case REG:
   31646              :       res = peephole2_6 (x1, insn, pmatch_len_);
   31647              :       if (res != NULL_RTX)
   31648              :         return res;
   31649              :       break;
   31650              : 
   31651              :     case SUBREG:
   31652              :     case MEM:
   31653              :       res = peephole2_7 (x1, insn, pmatch_len_);
   31654              :       if (res != NULL_RTX)
   31655              :         return res;
   31656              :       break;
   31657              : 
   31658              :     default:
   31659              :       break;
   31660              :     }
   31661              :   if (peep2_current_count < 2)
   31662              :     return NULL;
   31663              :   x4 = PATTERN (peep2_next_insn (1));
   31664              :   if (GET_CODE (x4) != SET)
   31665              :     return NULL;
   31666              :   x3 = XEXP (x1, 0);
   31667              :   switch (GET_MODE (x3))
   31668              :     {
   31669              :     case E_HImode:
   31670              :       if (peep2_current_count >= 3
   31671              :           && peep2_current_count >= 4)
   31672              :         {
   31673              :           operands[2] = x3;
   31674              :           if (general_reg_operand (operands[2], E_HImode))
   31675              :             {
   31676              :               operands[3] = x2;
   31677              :               if (general_gr_operand (operands[3], E_HImode))
   31678              :                 {
   31679              :                   x5 = XEXP (x4, 0);
   31680              :                   operands[0] = x5;
   31681              :                   if (general_reg_operand (operands[0], E_HImode))
   31682              :                     {
   31683              :                       x6 = XEXP (x4, 1);
   31684              :                       if (pattern964 (x6, 
   31685              : E_HImode) == 0
   31686              :                           && 
   31687              : #line 26984 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31688              : (TARGET_CMOVE
   31689              :   && REGNO (operands[2]) != REGNO (operands[0])
   31690              :   && REGNO (operands[2]) != REGNO (operands[1])
   31691              :   && peep2_reg_dead_p (2, operands[1])
   31692              :   && peep2_reg_dead_p (4, operands[2])
   31693              :   && !reg_overlap_mentioned_p (operands[0], operands[3])
   31694              :   && !reg_mentioned_p (operands[2], operands[6])))
   31695              :                         {
   31696              :                           *pmatch_len_ = 3;
   31697              :                           res = gen_peephole2_226 (insn, operands);
   31698              :                           if (res != NULL_RTX)
   31699              :                             return res;
   31700              :                         }
   31701              :                     }
   31702              :                 }
   31703              :             }
   31704              :         }
   31705              :       operands[0] = x3;
   31706              :       operands[1] = x2;
   31707              :       if (x86_64_general_operand (operands[1], E_HImode)
   31708              :           && general_reg_operand (operands[0], E_HImode))
   31709              :         {
   31710              :           x5 = XEXP (x4, 0);
   31711              :           operands[2] = x5;
   31712              :           if (general_reg_operand (operands[2], E_HImode))
   31713              :             {
   31714              :               x6 = XEXP (x4, 1);
   31715              :               if (rtx_equal_p (x6, operands[0])
   31716              :                   && 
   31717              : #line 27581 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31718              : (peep2_reg_dead_p (2, operands[0])))
   31719              :                 {
   31720              :                   *pmatch_len_ = 1;
   31721              :                   res = gen_peephole2_250 (insn, operands);
   31722              :                   if (res != NULL_RTX)
   31723              :                     return res;
   31724              :                 }
   31725              :             }
   31726              :         }
   31727              :       if (peep2_current_count < 3
   31728              :           || pattern849 (x4, 
   31729              : E_HImode) != 0)
   31730              :         return NULL;
   31731              :       switch (GET_MODE (operands[4]))
   31732              :         {
   31733              :         case E_HImode:
   31734              :           x7 = PATTERN (peep2_next_insn (2));
   31735              :           x8 = XVECEXP (x7, 0, 0);
   31736              :           x9 = XEXP (x8, 1);
   31737              :           if (pattern1896 (x9, 
   31738              : E_HImode) != 0
   31739              :               || !
   31740              : #line 29029 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31741              : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   31742              :    && (REGNO (operands[4]) == REGNO (operands[0])
   31743              :        || REGNO (operands[4]) == REGNO (operands[3]))
   31744              :    && (rtx_equal_p (operands[REGNO (operands[4]) == REGNO (operands[0])
   31745              :                              ? 3 : 0], operands[5])
   31746              :        ? rtx_equal_p (operands[2], operands[6])
   31747              :        : rtx_equal_p (operands[2], operands[5])
   31748              :          && rtx_equal_p (operands[REGNO (operands[4]) == REGNO (operands[0])
   31749              :                                   ? 3 : 0], operands[6]))
   31750              :    && peep2_reg_dead_p (4, operands[4])
   31751              :    && peep2_reg_dead_p (5, operands[REGNO (operands[4]) == REGNO (operands[0])
   31752              :                                     ? 3 : 0])
   31753              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   31754              :    && !reg_overlap_mentioned_p (operands[0], operands[2])
   31755              :    && !reg_overlap_mentioned_p (operands[3], operands[0])
   31756              :    && !reg_overlap_mentioned_p (operands[3], operands[1])
   31757              :    && !reg_overlap_mentioned_p (operands[3], operands[2])
   31758              :    && (HImode != QImode
   31759              :        || immediate_operand (operands[2], QImode)
   31760              :        || any_QIreg_operand (operands[2], QImode))))
   31761              :             return NULL;
   31762              :           *pmatch_len_ = 4;
   31763              :           return gen_peephole2_356 (insn, operands);
   31764              : 
   31765              :         case E_SImode:
   31766              :           x7 = PATTERN (peep2_next_insn (2));
   31767              :           x8 = XVECEXP (x7, 0, 0);
   31768              :           x9 = XEXP (x8, 1);
   31769              :           if (pattern1897 (x9, 
   31770              : E_HImode) != 0
   31771              :               || !
   31772              : #line 29073 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31773              : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   31774              :    && (REGNO (operands[5]) == REGNO (operands[0])
   31775              :        || REGNO (operands[5]) == REGNO (operands[3]))
   31776              :    && REGNO (operands[5]) == REGNO (operands[4])
   31777              :    && (rtx_equal_p (operands[REGNO (operands[5]) == REGNO (operands[0])
   31778              :                              ? 3 : 0], operands[6])
   31779              :        ? (REG_P (operands[2])
   31780              :           ? REG_P (operands[7]) && REGNO (operands[2]) == REGNO (operands[7])
   31781              :           : rtx_equal_p (operands[2], operands[7]))
   31782              :        : (rtx_equal_p (operands[REGNO (operands[5]) == REGNO (operands[0])
   31783              :                                 ? 3 : 0], operands[7])
   31784              :           && REG_P (operands[2])
   31785              :           && REGNO (operands[2]) == REGNO (operands[6])))
   31786              :    && peep2_reg_dead_p (4, operands[5])
   31787              :    && peep2_reg_dead_p (5, operands[REGNO (operands[5]) == REGNO (operands[0])
   31788              :                                     ? 3 : 0])
   31789              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   31790              :    && !reg_overlap_mentioned_p (operands[0], operands[2])
   31791              :    && !reg_overlap_mentioned_p (operands[3], operands[0])
   31792              :    && !reg_overlap_mentioned_p (operands[3], operands[1])
   31793              :    && !reg_overlap_mentioned_p (operands[3], operands[2])
   31794              :    && (HImode != QImode
   31795              :        || immediate_operand (operands[2], SImode)
   31796              :        || any_QIreg_operand (operands[2], SImode))))
   31797              :             return NULL;
   31798              :           *pmatch_len_ = 4;
   31799              :           return gen_peephole2_360 (insn, operands);
   31800              : 
   31801              :         default:
   31802              :           return NULL;
   31803              :         }
   31804              : 
   31805              :     case E_QImode:
   31806              :       operands[0] = x3;
   31807              :       operands[1] = x2;
   31808              :       if (x86_64_general_operand (operands[1], E_QImode)
   31809              :           && general_reg_operand (operands[0], E_QImode))
   31810              :         {
   31811              :           x5 = XEXP (x4, 0);
   31812              :           operands[2] = x5;
   31813              :           if (general_reg_operand (operands[2], E_QImode))
   31814              :             {
   31815              :               x6 = XEXP (x4, 1);
   31816              :               if (rtx_equal_p (x6, operands[0])
   31817              :                   && 
   31818              : #line 27581 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31819              : (peep2_reg_dead_p (2, operands[0])))
   31820              :                 {
   31821              :                   *pmatch_len_ = 1;
   31822              :                   res = gen_peephole2_249 (insn, operands);
   31823              :                   if (res != NULL_RTX)
   31824              :                     return res;
   31825              :                 }
   31826              :             }
   31827              :         }
   31828              :       if (peep2_current_count < 3
   31829              :           || pattern849 (x4, 
   31830              : E_QImode) != 0)
   31831              :         return NULL;
   31832              :       switch (GET_MODE (operands[4]))
   31833              :         {
   31834              :         case E_QImode:
   31835              :           x7 = PATTERN (peep2_next_insn (2));
   31836              :           x8 = XVECEXP (x7, 0, 0);
   31837              :           x9 = XEXP (x8, 1);
   31838              :           if (pattern1896 (x9, 
   31839              : E_QImode) != 0
   31840              :               || !
   31841              : #line 29029 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31842              : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   31843              :    && (REGNO (operands[4]) == REGNO (operands[0])
   31844              :        || REGNO (operands[4]) == REGNO (operands[3]))
   31845              :    && (rtx_equal_p (operands[REGNO (operands[4]) == REGNO (operands[0])
   31846              :                              ? 3 : 0], operands[5])
   31847              :        ? rtx_equal_p (operands[2], operands[6])
   31848              :        : rtx_equal_p (operands[2], operands[5])
   31849              :          && rtx_equal_p (operands[REGNO (operands[4]) == REGNO (operands[0])
   31850              :                                   ? 3 : 0], operands[6]))
   31851              :    && peep2_reg_dead_p (4, operands[4])
   31852              :    && peep2_reg_dead_p (5, operands[REGNO (operands[4]) == REGNO (operands[0])
   31853              :                                     ? 3 : 0])
   31854              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   31855              :    && !reg_overlap_mentioned_p (operands[0], operands[2])
   31856              :    && !reg_overlap_mentioned_p (operands[3], operands[0])
   31857              :    && !reg_overlap_mentioned_p (operands[3], operands[1])
   31858              :    && !reg_overlap_mentioned_p (operands[3], operands[2])
   31859              :    && (QImode != QImode
   31860              :        || immediate_operand (operands[2], QImode)
   31861              :        || any_QIreg_operand (operands[2], QImode))))
   31862              :             return NULL;
   31863              :           *pmatch_len_ = 4;
   31864              :           return gen_peephole2_355 (insn, operands);
   31865              : 
   31866              :         case E_SImode:
   31867              :           x7 = PATTERN (peep2_next_insn (2));
   31868              :           x8 = XVECEXP (x7, 0, 0);
   31869              :           x9 = XEXP (x8, 1);
   31870              :           if (pattern1897 (x9, 
   31871              : E_QImode) != 0
   31872              :               || !
   31873              : #line 29073 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31874              : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   31875              :    && (REGNO (operands[5]) == REGNO (operands[0])
   31876              :        || REGNO (operands[5]) == REGNO (operands[3]))
   31877              :    && REGNO (operands[5]) == REGNO (operands[4])
   31878              :    && (rtx_equal_p (operands[REGNO (operands[5]) == REGNO (operands[0])
   31879              :                              ? 3 : 0], operands[6])
   31880              :        ? (REG_P (operands[2])
   31881              :           ? REG_P (operands[7]) && REGNO (operands[2]) == REGNO (operands[7])
   31882              :           : rtx_equal_p (operands[2], operands[7]))
   31883              :        : (rtx_equal_p (operands[REGNO (operands[5]) == REGNO (operands[0])
   31884              :                                 ? 3 : 0], operands[7])
   31885              :           && REG_P (operands[2])
   31886              :           && REGNO (operands[2]) == REGNO (operands[6])))
   31887              :    && peep2_reg_dead_p (4, operands[5])
   31888              :    && peep2_reg_dead_p (5, operands[REGNO (operands[5]) == REGNO (operands[0])
   31889              :                                     ? 3 : 0])
   31890              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   31891              :    && !reg_overlap_mentioned_p (operands[0], operands[2])
   31892              :    && !reg_overlap_mentioned_p (operands[3], operands[0])
   31893              :    && !reg_overlap_mentioned_p (operands[3], operands[1])
   31894              :    && !reg_overlap_mentioned_p (operands[3], operands[2])
   31895              :    && (QImode != QImode
   31896              :        || immediate_operand (operands[2], SImode)
   31897              :        || any_QIreg_operand (operands[2], SImode))))
   31898              :             return NULL;
   31899              :           *pmatch_len_ = 4;
   31900              :           return gen_peephole2_359 (insn, operands);
   31901              : 
   31902              :         default:
   31903              :           return NULL;
   31904              :         }
   31905              : 
   31906              :     default:
   31907              :       return NULL;
   31908              :     }
   31909              : }
   31910              : 
   31911              :  rtx_insn *
   31912              : peephole2_14 (rtx x1 ATTRIBUTE_UNUSED,
   31913              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   31914              :         int *pmatch_len_ ATTRIBUTE_UNUSED)
   31915              : {
   31916              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   31917              :   rtx x2, x3, x4, x5, x6;
   31918              :   rtx_insn *res ATTRIBUTE_UNUSED;
   31919              :   x2 = XEXP (x1, 0);
   31920              :   operands[0] = x2;
   31921              :   res = peephole2_12 (x1, insn, pmatch_len_);
   31922              :   if (res != NULL_RTX)
   31923              :     return res;
   31924              :   if (peep2_current_count < 2)
   31925              :     return NULL;
   31926              :   if (peep2_current_count >= 3
   31927              :       && peep2_current_count >= 4)
   31928              :     {
   31929              :       if (general_reg_operand (x2, E_SImode))
   31930              :         {
   31931              :           res = peephole2_13 (x1, insn, pmatch_len_);
   31932              :           if (res != NULL_RTX)
   31933              :             return res;
   31934              :         }
   31935              :       if (peep2_current_count >= 5
   31936              :           && pattern606 (x1, 
   31937              : E_SImode) == 0
   31938              :           && 
   31939              : #line 27531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31940              : (optimize_insn_for_size_p ()
   31941              :    && INSN_UID (peep2_next_insn (0)) == ix86_last_zero_store_uid))
   31942              :         {
   31943              :           *pmatch_len_ = 4;
   31944              :           res = gen_peephole2_243 (insn, operands);
   31945              :           if (res != NULL_RTX)
   31946              :             return res;
   31947              :         }
   31948              :     }
   31949              :   operands[3] = x2;
   31950              :   if (peep2_current_count >= 3)
   31951              :     {
   31952              :       x3 = XEXP (x1, 1);
   31953              :       if (pattern418 (x3, 
   31954              : E_SImode) == 0
   31955              :           && 
   31956              : #line 27549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31957              : (optimize_insn_for_size_p ()
   31958              :    && INSN_UID (peep2_next_insn (0)) == ix86_last_zero_store_uid))
   31959              :         {
   31960              :           *pmatch_len_ = 2;
   31961              :           res = gen_peephole2_245 (insn, operands);
   31962              :           if (res != NULL_RTX)
   31963              :             return res;
   31964              :         }
   31965              :     }
   31966              :   if (general_reg_operand (operands[3], E_SImode))
   31967              :     {
   31968              :       x3 = XEXP (x1, 1);
   31969              :       switch (pattern419 (x3, 
   31970              : E_SImode))
   31971              :         {
   31972              :         case 0:
   31973              :           if ((
   31974              : #line 28080 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31975              : (GET_MODE (operands[2]) == word_mode
   31976              :    && peep2_reg_dead_p (0, operands[3])
   31977              :    && peep2_reg_dead_p (2, operands[2])
   31978              :    && !reg_mentioned_p (operands[3], operands[0])
   31979              :    && !reg_mentioned_p (operands[3], operands[1])) && 
   31980              : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31981              : (ptr_mode == SImode)))
   31982              :             {
   31983              :               *pmatch_len_ = 1;
   31984              :               res = gen_peephole2_261 (insn, operands);
   31985              :               if (res != NULL_RTX)
   31986              :                 return res;
   31987              :             }
   31988              :           break;
   31989              : 
   31990              :         case 1:
   31991              :           if ((
   31992              : #line 28080 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31993              : (GET_MODE (operands[2]) == word_mode
   31994              :    && peep2_reg_dead_p (0, operands[3])
   31995              :    && peep2_reg_dead_p (2, operands[2])
   31996              :    && !reg_mentioned_p (operands[3], operands[0])
   31997              :    && !reg_mentioned_p (operands[3], operands[1])) && 
   31998              : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31999              : (ptr_mode == DImode)))
   32000              :             {
   32001              :               *pmatch_len_ = 1;
   32002              :               res = gen_peephole2_263 (insn, operands);
   32003              :               if (res != NULL_RTX)
   32004              :                 return res;
   32005              :             }
   32006              :           break;
   32007              : 
   32008              :         default:
   32009              :           break;
   32010              :         }
   32011              :     }
   32012              :   x4 = PATTERN (peep2_next_insn (1));
   32013              :   if (GET_CODE (x4) != SET)
   32014              :     return NULL;
   32015              :   operands[2] = x2;
   32016              :   if (memory_operand (operands[2], E_SImode))
   32017              :     {
   32018              :       x3 = XEXP (x1, 1);
   32019              :       operands[0] = x3;
   32020              :       if (general_reg_operand (operands[0], E_SImode))
   32021              :         {
   32022              :           x5 = XEXP (x4, 1);
   32023              :           if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + 0])
   32024              :             {
   32025              :               x6 = XEXP (x4, 0);
   32026              :               operands[1] = x6;
   32027              :               if (memory_operand (operands[1], E_SImode)
   32028              :                   && 
   32029              : #line 27564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32030              : (optimize_insn_for_size_p ()
   32031              :    && INSN_UID (peep2_next_insn (0)) == ix86_last_zero_store_uid))
   32032              :                 {
   32033              :                   *pmatch_len_ = 1;
   32034              :                   res = gen_peephole2_247 (insn, operands);
   32035              :                   if (res != NULL_RTX)
   32036              :                     return res;
   32037              :                 }
   32038              :             }
   32039              :         }
   32040              :     }
   32041              :   operands[0] = x2;
   32042              :   if (!general_reg_operand (operands[0], E_SImode))
   32043              :     return NULL;
   32044              :   x3 = XEXP (x1, 1);
   32045              :   operands[1] = x3;
   32046              :   if (!x86_64_general_operand (operands[1], E_SImode))
   32047              :     return NULL;
   32048              :   x6 = XEXP (x4, 0);
   32049              :   operands[2] = x6;
   32050              :   if (!general_reg_operand (operands[2], E_SImode))
   32051              :     return NULL;
   32052              :   x5 = XEXP (x4, 1);
   32053              :   if (!rtx_equal_p (x5, operands[0])
   32054              :       || !
   32055              : #line 27581 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32056              : (peep2_reg_dead_p (2, operands[0])))
   32057              :     return NULL;
   32058              :   *pmatch_len_ = 1;
   32059              :   return gen_peephole2_251 (insn, operands);
   32060              : }
   32061              : 
   32062              :  rtx_insn *
   32063              : peephole2_17 (rtx x1 ATTRIBUTE_UNUSED,
   32064              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   32065              :         int *pmatch_len_ ATTRIBUTE_UNUSED)
   32066              : {
   32067              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   32068              :   rtx x2, x3;
   32069              :   rtx_insn *res ATTRIBUTE_UNUSED;
   32070              :   x2 = PATTERN (peep2_next_insn (1));
   32071              :   if (GET_CODE (x2) != SET)
   32072              :     return NULL;
   32073              :   x3 = XEXP (x2, 0);
   32074              :   if (!general_reg_operand (x3, E_DImode))
   32075              :     return NULL;
   32076              :   operands[8] = x3;
   32077              :   switch (pattern962 (x1, 
   32078              : E_DImode, 
   32079              : E_TImode))
   32080              :     {
   32081              :     case 0:
   32082              :       if ((
   32083              : #line 10003 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32084              : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   32085              :    && peep2_reg_dead_p (4, operands[0])
   32086              :    && peep2_reg_dead_p (3, operands[2])
   32087              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   32088              :    && !reg_overlap_mentioned_p (operands[2], operands[1])
   32089              :    && !reg_overlap_mentioned_p (operands[6], operands[9])
   32090              :    && (rtx_equal_p (operands[6], operands[0])
   32091              :        ? (rtx_equal_p (operands[7], operands[1])
   32092              :           && rtx_equal_p (operands[8], operands[2]))
   32093              :        : (rtx_equal_p (operands[8], operands[0])
   32094              :           && rtx_equal_p (operands[9], operands[1])
   32095              :           && rtx_equal_p (operands[6], operands[2])))) && 
   32096              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32097              : (TARGET_64BIT)))
   32098              :         {
   32099              :           *pmatch_len_ = 3;
   32100              :           res = gen_peephole2_117 (insn, operands);
   32101              :           if (res != NULL_RTX)
   32102              :             return res;
   32103              :         }
   32104              :       break;
   32105              : 
   32106              :     case 1:
   32107              :       if ((
   32108              : #line 10058 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32109              : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   32110              :    && peep2_reg_dead_p (6, operands[0])
   32111              :    && peep2_reg_dead_p (3, operands[2])
   32112              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   32113              :    && !reg_overlap_mentioned_p (operands[2], operands[1])
   32114              :    && !reg_overlap_mentioned_p (operands[6], operands[9])
   32115              :    && !reg_overlap_mentioned_p (operands[0], operands[10])
   32116              :    && !reg_overlap_mentioned_p (operands[10], operands[1])
   32117              :    && !reg_overlap_mentioned_p (operands[0], operands[11])
   32118              :    && !reg_overlap_mentioned_p (operands[11], operands[1])
   32119              :    && (rtx_equal_p (operands[6], operands[0])
   32120              :        ? (rtx_equal_p (operands[7], operands[1])
   32121              :           && rtx_equal_p (operands[8], operands[2]))
   32122              :        : (rtx_equal_p (operands[8], operands[0])
   32123              :           && rtx_equal_p (operands[9], operands[1])
   32124              :           && rtx_equal_p (operands[6], operands[2])))) && 
   32125              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32126              : (TARGET_64BIT)))
   32127              :         {
   32128              :           *pmatch_len_ = 5;
   32129              :           res = gen_peephole2_119 (insn, operands);
   32130              :           if (res != NULL_RTX)
   32131              :             return res;
   32132              :         }
   32133              :       break;
   32134              : 
   32135              :     default:
   32136              :       break;
   32137              :     }
   32138              :   operands[0] = x3;
   32139              :   if (pattern965 (x1, 
   32140              : E_DImode) != 0
   32141              :       || !(
   32142              : #line 26984 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32143              : (TARGET_CMOVE
   32144              :   && REGNO (operands[2]) != REGNO (operands[0])
   32145              :   && REGNO (operands[2]) != REGNO (operands[1])
   32146              :   && peep2_reg_dead_p (2, operands[1])
   32147              :   && peep2_reg_dead_p (4, operands[2])
   32148              :   && !reg_overlap_mentioned_p (operands[0], operands[3])
   32149              :   && !reg_mentioned_p (operands[2], operands[6])) && 
   32150              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32151              : (TARGET_64BIT)))
   32152              :     return NULL;
   32153              :   *pmatch_len_ = 3;
   32154              :   return gen_peephole2_228 (insn, operands);
   32155              : }
   32156              : 
   32157              :  rtx_insn *
   32158              : peephole2_22 (rtx x1 ATTRIBUTE_UNUSED,
   32159              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   32160              :         int *pmatch_len_ ATTRIBUTE_UNUSED)
   32161              : {
   32162              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   32163              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   32164              :   rtx_insn *res ATTRIBUTE_UNUSED;
   32165              :   if (peep2_current_count >= 3)
   32166              :     {
   32167              :       res = peephole2_20 (x1, insn, pmatch_len_);
   32168              :       if (res != NULL_RTX)
   32169              :         return res;
   32170              :     }
   32171              :   x2 = XEXP (x1, 0);
   32172              :   operands[0] = x2;
   32173              :   x3 = XEXP (x1, 1);
   32174              :   operands[1] = x3;
   32175              :   if (fp_register_operand (operands[1], E_VOIDmode)
   32176              :       && fp_register_operand (operands[0], E_VOIDmode))
   32177              :     {
   32178              :       res = peephole2_21 (x1, insn, pmatch_len_);
   32179              :       if (res != NULL_RTX)
   32180              :         return res;
   32181              :     }
   32182              :   if (general_reg_operand (operands[1], E_QImode))
   32183              :     {
   32184              :       x4 = PATTERN (peep2_next_insn (1));
   32185              :       if (pattern420 (x4, 
   32186              : E_QImode) == 0
   32187              :           && 
   32188              : #line 28543 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32189              : (REGNO (operands[0]) != REGNO (operands[1])
   32190              :    && (QImode != QImode
   32191              :        || any_QIreg_operand (operands[1], QImode))))
   32192              :         {
   32193              :           *pmatch_len_ = 1;
   32194              :           res = gen_peephole2_301 (insn, operands);
   32195              :           if (res != NULL_RTX)
   32196              :             return res;
   32197              :         }
   32198              :     }
   32199              :   if (general_reg_operand (operands[1], E_HImode))
   32200              :     {
   32201              :       x4 = PATTERN (peep2_next_insn (1));
   32202              :       if (pattern420 (x4, 
   32203              : E_HImode) == 0
   32204              :           && 
   32205              : #line 28543 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32206              : (REGNO (operands[0]) != REGNO (operands[1])
   32207              :    && (HImode != QImode
   32208              :        || any_QIreg_operand (operands[1], QImode))))
   32209              :         {
   32210              :           *pmatch_len_ = 1;
   32211              :           res = gen_peephole2_302 (insn, operands);
   32212              :           if (res != NULL_RTX)
   32213              :             return res;
   32214              :         }
   32215              :     }
   32216              :   if (general_reg_operand (operands[1], E_DImode))
   32217              :     {
   32218              :       x4 = PATTERN (peep2_next_insn (1));
   32219              :       if (pattern420 (x4, 
   32220              : E_DImode) == 0
   32221              :           && (
   32222              : #line 28543 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32223              : (REGNO (operands[0]) != REGNO (operands[1])
   32224              :    && (DImode != QImode
   32225              :        || any_QIreg_operand (operands[1], QImode))) && 
   32226              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32227              : (TARGET_64BIT)))
   32228              :         {
   32229              :           *pmatch_len_ = 1;
   32230              :           res = gen_peephole2_304 (insn, operands);
   32231              :           if (res != NULL_RTX)
   32232              :             return res;
   32233              :         }
   32234              :     }
   32235              :   if (peep2_current_count < 3
   32236              :       || peep2_current_count < 4)
   32237              :     return NULL;
   32238              :   if (memory_operand (operands[1], E_QImode))
   32239              :     {
   32240              :       x4 = PATTERN (peep2_next_insn (1));
   32241              :       if (pattern734 (x4, 
   32242              : E_QImode) == 0)
   32243              :         {
   32244              :           x5 = XVECEXP (x4, 0, 0);
   32245              :           x6 = XEXP (x5, 1);
   32246              :           operands[3] = x6;
   32247              :           if (pattern1359 (x4, 
   32248              : E_QImode) == 0)
   32249              :             {
   32250              :               x7 = PATTERN (peep2_next_insn (2));
   32251              :               x8 = XEXP (x7, 0);
   32252              :               if (rtx_equal_p (x8, operands[1]))
   32253              :                 {
   32254              :                   x9 = PATTERN (peep2_next_insn (3));
   32255              :                   if (pattern1850 (x9) == 0
   32256              :                       && 
   32257              : #line 28634 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32258              : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   32259              :    && peep2_reg_dead_p (4, operands[0])
   32260              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   32261              :    && !reg_overlap_mentioned_p (operands[0], operands[2])
   32262              :    && (QImode != QImode
   32263              :        || immediate_operand (operands[2], QImode)
   32264              :        || any_QIreg_operand (operands[2], QImode))
   32265              :    && ix86_match_ccmode (peep2_next_insn (3),
   32266              :                          (GET_CODE (operands[3]) == PLUS
   32267              :                           || GET_CODE (operands[3]) == MINUS)
   32268              :                          ? CCGOCmode : CCNOmode)))
   32269              :                     {
   32270              :                       *pmatch_len_ = 3;
   32271              :                       res = gen_peephole2_315 (insn, operands);
   32272              :                       if (res != NULL_RTX)
   32273              :                         return res;
   32274              :                     }
   32275              :                 }
   32276              :               if (peep2_current_count >= 5
   32277              :                   && pattern1851 (x8, 
   32278              : E_QImode) == 0
   32279              :                   && 
   32280              : #line 28915 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32281              : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   32282              :    && peep2_reg_dead_p (3, operands[0])
   32283              :    && peep2_reg_dead_p (5, operands[4])
   32284              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   32285              :    && !reg_overlap_mentioned_p (operands[0], operands[2])
   32286              :    && !reg_overlap_mentioned_p (operands[4], operands[1])
   32287              :    && (QImode != QImode
   32288              :        || immediate_operand (operands[2], QImode)
   32289              :        || any_QIreg_operand (operands[2], QImode))
   32290              :    && ix86_match_ccmode (peep2_next_insn (4),
   32291              :                          (GET_CODE (operands[3]) == PLUS
   32292              :                           || GET_CODE (operands[3]) == MINUS)
   32293              :                          ? CCGOCmode : CCNOmode)))
   32294              :                 {
   32295              :                   *pmatch_len_ = 4;
   32296              :                   res = gen_peephole2_345 (insn, operands);
   32297              :                   if (res != NULL_RTX)
   32298              :                     return res;
   32299              :                 }
   32300              :             }
   32301              :           if (GET_CODE (x6) == XOR
   32302              :               && pattern1360 (x4, 
   32303              : E_QImode) == 0
   32304              :               && 
   32305              : #line 28840 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32306              : (TARGET_APX_NDD
   32307              :    && (TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   32308              :    && REGNO (operands[3]) == REGNO (operands[0])
   32309              :    && (rtx_equal_p (operands[0], operands[5])
   32310              :        ? rtx_equal_p (operands[2], operands[6])
   32311              :        : rtx_equal_p (operands[2], operands[5])
   32312              :          && rtx_equal_p (operands[0], operands[6]))
   32313              :    && peep2_reg_dead_p (3, operands[4])
   32314              :    && peep2_reg_dead_p (4, operands[0])
   32315              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   32316              :    && !reg_overlap_mentioned_p (operands[0], operands[2])
   32317              :    && (QImode != QImode
   32318              :        || immediate_operand (operands[2], QImode)
   32319              :        || any_QIreg_operand (operands[2], QImode))))
   32320              :             {
   32321              :               *pmatch_len_ = 3;
   32322              :               res = gen_peephole2_339 (insn, operands);
   32323              :               if (res != NULL_RTX)
   32324              :                 return res;
   32325              :             }
   32326              :         }
   32327              :     }
   32328              :   if (memory_operand (operands[1], E_HImode))
   32329              :     {
   32330              :       x4 = PATTERN (peep2_next_insn (1));
   32331              :       if (pattern734 (x4, 
   32332              : E_HImode) == 0)
   32333              :         {
   32334              :           x5 = XVECEXP (x4, 0, 0);
   32335              :           x6 = XEXP (x5, 1);
   32336              :           operands[3] = x6;
   32337              :           if (pattern1359 (x4, 
   32338              : E_HImode) == 0)
   32339              :             {
   32340              :               x7 = PATTERN (peep2_next_insn (2));
   32341              :               x8 = XEXP (x7, 0);
   32342              :               if (rtx_equal_p (x8, operands[1]))
   32343              :                 {
   32344              :                   x9 = PATTERN (peep2_next_insn (3));
   32345              :                   if (pattern1850 (x9) == 0
   32346              :                       && 
   32347              : #line 28634 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32348              : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   32349              :    && peep2_reg_dead_p (4, operands[0])
   32350              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   32351              :    && !reg_overlap_mentioned_p (operands[0], operands[2])
   32352              :    && (HImode != QImode
   32353              :        || immediate_operand (operands[2], QImode)
   32354              :        || any_QIreg_operand (operands[2], QImode))
   32355              :    && ix86_match_ccmode (peep2_next_insn (3),
   32356              :                          (GET_CODE (operands[3]) == PLUS
   32357              :                           || GET_CODE (operands[3]) == MINUS)
   32358              :                          ? CCGOCmode : CCNOmode)))
   32359              :                     {
   32360              :                       *pmatch_len_ = 3;
   32361              :                       res = gen_peephole2_316 (insn, operands);
   32362              :                       if (res != NULL_RTX)
   32363              :                         return res;
   32364              :                     }
   32365              :                 }
   32366              :               if (peep2_current_count >= 5
   32367              :                   && pattern1851 (x8, 
   32368              : E_HImode) == 0
   32369              :                   && 
   32370              : #line 28915 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32371              : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   32372              :    && peep2_reg_dead_p (3, operands[0])
   32373              :    && peep2_reg_dead_p (5, operands[4])
   32374              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   32375              :    && !reg_overlap_mentioned_p (operands[0], operands[2])
   32376              :    && !reg_overlap_mentioned_p (operands[4], operands[1])
   32377              :    && (HImode != QImode
   32378              :        || immediate_operand (operands[2], QImode)
   32379              :        || any_QIreg_operand (operands[2], QImode))
   32380              :    && ix86_match_ccmode (peep2_next_insn (4),
   32381              :                          (GET_CODE (operands[3]) == PLUS
   32382              :                           || GET_CODE (operands[3]) == MINUS)
   32383              :                          ? CCGOCmode : CCNOmode)))
   32384              :                 {
   32385              :                   *pmatch_len_ = 4;
   32386              :                   res = gen_peephole2_346 (insn, operands);
   32387              :                   if (res != NULL_RTX)
   32388              :                     return res;
   32389              :                 }
   32390              :             }
   32391              :           if (GET_CODE (x6) == XOR
   32392              :               && pattern1360 (x4, 
   32393              : E_HImode) == 0
   32394              :               && 
   32395              : #line 28840 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32396              : (TARGET_APX_NDD
   32397              :    && (TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   32398              :    && REGNO (operands[3]) == REGNO (operands[0])
   32399              :    && (rtx_equal_p (operands[0], operands[5])
   32400              :        ? rtx_equal_p (operands[2], operands[6])
   32401              :        : rtx_equal_p (operands[2], operands[5])
   32402              :          && rtx_equal_p (operands[0], operands[6]))
   32403              :    && peep2_reg_dead_p (3, operands[4])
   32404              :    && peep2_reg_dead_p (4, operands[0])
   32405              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   32406              :    && !reg_overlap_mentioned_p (operands[0], operands[2])
   32407              :    && (HImode != QImode
   32408              :        || immediate_operand (operands[2], QImode)
   32409              :        || any_QIreg_operand (operands[2], QImode))))
   32410              :             {
   32411              :               *pmatch_len_ = 3;
   32412              :               res = gen_peephole2_340 (insn, operands);
   32413              :               if (res != NULL_RTX)
   32414              :                 return res;
   32415              :             }
   32416              :         }
   32417              :     }
   32418              :   if (!memory_operand (operands[1], E_DImode))
   32419              :     return NULL;
   32420              :   x4 = PATTERN (peep2_next_insn (1));
   32421              :   if (pattern734 (x4, 
   32422              : E_DImode) != 0)
   32423              :     return NULL;
   32424              :   x5 = XVECEXP (x4, 0, 0);
   32425              :   x6 = XEXP (x5, 1);
   32426              :   operands[3] = x6;
   32427              :   if (pattern1361 (x4, 
   32428              : E_DImode) == 0
   32429              :       && pattern1358 (x5) == 0)
   32430              :     {
   32431              :       x7 = PATTERN (peep2_next_insn (2));
   32432              :       x8 = XEXP (x7, 0);
   32433              :       if (rtx_equal_p (x8, operands[1]))
   32434              :         {
   32435              :           x9 = PATTERN (peep2_next_insn (3));
   32436              :           if (pattern1850 (x9) == 0
   32437              :               && (
   32438              : #line 28634 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32439              : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   32440              :    && peep2_reg_dead_p (4, operands[0])
   32441              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   32442              :    && !reg_overlap_mentioned_p (operands[0], operands[2])
   32443              :    && (DImode != QImode
   32444              :        || immediate_operand (operands[2], QImode)
   32445              :        || any_QIreg_operand (operands[2], QImode))
   32446              :    && ix86_match_ccmode (peep2_next_insn (3),
   32447              :                          (GET_CODE (operands[3]) == PLUS
   32448              :                           || GET_CODE (operands[3]) == MINUS)
   32449              :                          ? CCGOCmode : CCNOmode)) && 
   32450              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32451              : (TARGET_64BIT)))
   32452              :             {
   32453              :               *pmatch_len_ = 3;
   32454              :               res = gen_peephole2_318 (insn, operands);
   32455              :               if (res != NULL_RTX)
   32456              :                 return res;
   32457              :             }
   32458              :         }
   32459              :       if (peep2_current_count >= 5
   32460              :           && pattern1851 (x8, 
   32461              : E_DImode) == 0
   32462              :           && (
   32463              : #line 28915 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32464              : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   32465              :    && peep2_reg_dead_p (3, operands[0])
   32466              :    && peep2_reg_dead_p (5, operands[4])
   32467              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   32468              :    && !reg_overlap_mentioned_p (operands[0], operands[2])
   32469              :    && !reg_overlap_mentioned_p (operands[4], operands[1])
   32470              :    && (DImode != QImode
   32471              :        || immediate_operand (operands[2], QImode)
   32472              :        || any_QIreg_operand (operands[2], QImode))
   32473              :    && ix86_match_ccmode (peep2_next_insn (4),
   32474              :                          (GET_CODE (operands[3]) == PLUS
   32475              :                           || GET_CODE (operands[3]) == MINUS)
   32476              :                          ? CCGOCmode : CCNOmode)) && 
   32477              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32478              : (TARGET_64BIT)))
   32479              :         {
   32480              :           *pmatch_len_ = 4;
   32481              :           res = gen_peephole2_348 (insn, operands);
   32482              :           if (res != NULL_RTX)
   32483              :             return res;
   32484              :         }
   32485              :     }
   32486              :   if (GET_CODE (x6) != XOR
   32487              :       || pattern1362 (x4, 
   32488              : E_DImode) != 0)
   32489              :     return NULL;
   32490              :   x7 = PATTERN (peep2_next_insn (2));
   32491              :   if (GET_CODE (x7) != SET
   32492              :       || pattern1832 (x7, 
   32493              : E_DImode) != 0
   32494              :       || !(
   32495              : #line 28840 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32496              : (TARGET_APX_NDD
   32497              :    && (TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   32498              :    && REGNO (operands[3]) == REGNO (operands[0])
   32499              :    && (rtx_equal_p (operands[0], operands[5])
   32500              :        ? rtx_equal_p (operands[2], operands[6])
   32501              :        : rtx_equal_p (operands[2], operands[5])
   32502              :          && rtx_equal_p (operands[0], operands[6]))
   32503              :    && peep2_reg_dead_p (3, operands[4])
   32504              :    && peep2_reg_dead_p (4, operands[0])
   32505              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   32506              :    && !reg_overlap_mentioned_p (operands[0], operands[2])
   32507              :    && (DImode != QImode
   32508              :        || immediate_operand (operands[2], QImode)
   32509              :        || any_QIreg_operand (operands[2], QImode))) && 
   32510              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32511              : (TARGET_64BIT)))
   32512              :     return NULL;
   32513              :   *pmatch_len_ = 3;
   32514              :   return gen_peephole2_342 (insn, operands);
   32515              : }
   32516              : 
   32517              :  rtx_insn *
   32518              : peephole2_41 (rtx x1 ATTRIBUTE_UNUSED,
   32519              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   32520              :         int *pmatch_len_ ATTRIBUTE_UNUSED)
   32521              : {
   32522              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   32523              :   rtx x2, x3, x4, x5, x6, x7, x8;
   32524              :   rtx_insn *res ATTRIBUTE_UNUSED;
   32525              :   x2 = XVECEXP (x1, 0, 1);
   32526              :   if (pattern236 (x2, 
   32527              : E_CCmode, 
   32528              : 17) != 0)
   32529              :     return NULL;
   32530              :   x3 = XVECEXP (x1, 0, 0);
   32531              :   x4 = XEXP (x3, 1);
   32532              :   switch (XWINT (x4, 0))
   32533              :     {
   32534              :     case 0L:
   32535              :       res = peephole2_40 (x1, insn, pmatch_len_);
   32536              :       if (res != NULL_RTX)
   32537              :         return res;
   32538              :       break;
   32539              : 
   32540              :     case 1L:
   32541              :       x5 = XEXP (x3, 0);
   32542              :       if (GET_CODE (x5) == ZERO_EXTRACT
   32543              :           && pattern1076 (x5) == 0
   32544              :           && 
   32545              : #line 19417 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32546              : (TARGET_64BIT && !TARGET_USE_BT))
   32547              :         {
   32548              :           *pmatch_len_ = 0;
   32549              :           res = gen_peephole2_185 (insn, operands);
   32550              :           if (res != NULL_RTX)
   32551              :             return res;
   32552              :         }
   32553              :       break;
   32554              : 
   32555              :     default:
   32556              :       break;
   32557              :     }
   32558              :   if (peep2_current_count < 2
   32559              :       || peep2_current_count < 3)
   32560              :     return NULL;
   32561              :   x5 = XEXP (x3, 0);
   32562              :   operands[0] = x5;
   32563              :   x6 = PATTERN (peep2_next_insn (1));
   32564              :   if (pattern421 (x6, 
   32565              : UNSPEC_VOLATILE, 
   32566              : 3) != 0)
   32567              :     return NULL;
   32568              :   x7 = XVECEXP (x6, 0, 1);
   32569              :   if (GET_CODE (x7) != SET)
   32570              :     return NULL;
   32571              :   x8 = PATTERN (peep2_next_insn (2));
   32572              :   if (pattern1546 (x8) != 0)
   32573              :     return NULL;
   32574              :   switch (GET_MODE (operands[0]))
   32575              :     {
   32576              :     case E_SImode:
   32577              :       if (!register_operand (operands[0], E_SImode))
   32578              :         return NULL;
   32579              :       operands[1] = x4;
   32580              :       switch (pattern1835 (x6, 
   32581              : E_SImode))
   32582              :         {
   32583              :         case 0:
   32584              :           if (
   32585              : #line 557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
   32586              : (REGNO (operands[0]) == REGNO (operands[2])))
   32587              :             {
   32588              :               *pmatch_len_ = 2;
   32589              :               res = gen_peephole2_439 (insn, operands);
   32590              :               if (res != NULL_RTX)
   32591              :                 return res;
   32592              :             }
   32593              :           break;
   32594              : 
   32595              :         case 1:
   32596              :           if (
   32597              : #line 557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
   32598              : (REGNO (operands[0]) == REGNO (operands[2])))
   32599              :             {
   32600              :               *pmatch_len_ = 2;
   32601              :               res = gen_peephole2_441 (insn, operands);
   32602              :               if (res != NULL_RTX)
   32603              :                 return res;
   32604              :             }
   32605              :           break;
   32606              : 
   32607              :         case 2:
   32608              :           if (
   32609              : #line 557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
   32610              : (REGNO (operands[0]) == REGNO (operands[2])))
   32611              :             {
   32612              :               *pmatch_len_ = 2;
   32613              :               res = gen_peephole2_443 (insn, operands);
   32614              :               if (res != NULL_RTX)
   32615              :                 return res;
   32616              :             }
   32617              :           break;
   32618              : 
   32619              :         case 3:
   32620              :           if ((
   32621              : #line 557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
   32622              : (REGNO (operands[0]) == REGNO (operands[2])) && 
   32623              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32624              : (TARGET_64BIT)))
   32625              :             {
   32626              :               *pmatch_len_ = 2;
   32627              :               res = gen_peephole2_445 (insn, operands);
   32628              :               if (res != NULL_RTX)
   32629              :                 return res;
   32630              :             }
   32631              :           break;
   32632              : 
   32633              :         default:
   32634              :           break;
   32635              :         }
   32636              :       operands[2] = x4;
   32637              :       if (pattern1786 (x6, 
   32638              : E_SImode) != 0
   32639              :           || !
   32640              : #line 754 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
   32641              : (peep2_reg_dead_p (3, operands[0])
   32642              :    && (unsigned HOST_WIDE_INT) INTVAL (operands[2])
   32643              :       == -(unsigned HOST_WIDE_INT) INTVAL (operands[3])
   32644              :    && !reg_overlap_mentioned_p (operands[0], operands[1])))
   32645              :         return NULL;
   32646              :       *pmatch_len_ = 2;
   32647              :       return gen_peephole2_453 (insn, operands);
   32648              : 
   32649              :     case E_DImode:
   32650              :       if (!register_operand (operands[0], E_DImode))
   32651              :         return NULL;
   32652              :       operands[1] = x4;
   32653              :       switch (pattern1835 (x6, 
   32654              : E_DImode))
   32655              :         {
   32656              :         case 0:
   32657              :           if ((
   32658              : #line 557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
   32659              : (REGNO (operands[0]) == REGNO (operands[2])) && 
   32660              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32661              : (TARGET_64BIT)))
   32662              :             {
   32663              :               *pmatch_len_ = 2;
   32664              :               res = gen_peephole2_440 (insn, operands);
   32665              :               if (res != NULL_RTX)
   32666              :                 return res;
   32667              :             }
   32668              :           break;
   32669              : 
   32670              :         case 1:
   32671              :           if ((
   32672              : #line 557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
   32673              : (REGNO (operands[0]) == REGNO (operands[2])) && 
   32674              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32675              : (TARGET_64BIT)))
   32676              :             {
   32677              :               *pmatch_len_ = 2;
   32678              :               res = gen_peephole2_442 (insn, operands);
   32679              :               if (res != NULL_RTX)
   32680              :                 return res;
   32681              :             }
   32682              :           break;
   32683              : 
   32684              :         case 2:
   32685              :           if ((
   32686              : #line 557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
   32687              : (REGNO (operands[0]) == REGNO (operands[2])) && 
   32688              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32689              : (TARGET_64BIT)))
   32690              :             {
   32691              :               *pmatch_len_ = 2;
   32692              :               res = gen_peephole2_444 (insn, operands);
   32693              :               if (res != NULL_RTX)
   32694              :                 return res;
   32695              :             }
   32696              :           break;
   32697              : 
   32698              :         case 3:
   32699              :           if ((
   32700              : #line 557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
   32701              : (REGNO (operands[0]) == REGNO (operands[2])) && 
   32702              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32703              : (TARGET_64BIT)))
   32704              :             {
   32705              :               *pmatch_len_ = 2;
   32706              :               res = gen_peephole2_446 (insn, operands);
   32707              :               if (res != NULL_RTX)
   32708              :                 return res;
   32709              :             }
   32710              :           break;
   32711              : 
   32712              :         default:
   32713              :           break;
   32714              :         }
   32715              :       operands[2] = x4;
   32716              :       if (pattern1786 (x6, 
   32717              : E_DImode) != 0
   32718              :           || !(
   32719              : #line 754 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
   32720              : (peep2_reg_dead_p (3, operands[0])
   32721              :    && (unsigned HOST_WIDE_INT) INTVAL (operands[2])
   32722              :       == -(unsigned HOST_WIDE_INT) INTVAL (operands[3])
   32723              :    && !reg_overlap_mentioned_p (operands[0], operands[1])) && 
   32724              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32725              : (TARGET_64BIT)))
   32726              :         return NULL;
   32727              :       *pmatch_len_ = 2;
   32728              :       return gen_peephole2_454 (insn, operands);
   32729              : 
   32730              :     case E_QImode:
   32731              :       if (pattern1787 (x4, 
   32732              : E_QImode) != 0
   32733              :           || !
   32734              : #line 754 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
   32735              : (peep2_reg_dead_p (3, operands[0])
   32736              :    && (unsigned HOST_WIDE_INT) INTVAL (operands[2])
   32737              :       == -(unsigned HOST_WIDE_INT) INTVAL (operands[3])
   32738              :    && !reg_overlap_mentioned_p (operands[0], operands[1])))
   32739              :         return NULL;
   32740              :       *pmatch_len_ = 2;
   32741              :       return gen_peephole2_451 (insn, operands);
   32742              : 
   32743              :     case E_HImode:
   32744              :       if (pattern1787 (x4, 
   32745              : E_HImode) != 0
   32746              :           || !
   32747              : #line 754 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
   32748              : (peep2_reg_dead_p (3, operands[0])
   32749              :    && (unsigned HOST_WIDE_INT) INTVAL (operands[2])
   32750              :       == -(unsigned HOST_WIDE_INT) INTVAL (operands[3])
   32751              :    && !reg_overlap_mentioned_p (operands[0], operands[1])))
   32752              :         return NULL;
   32753              :       *pmatch_len_ = 2;
   32754              :       return gen_peephole2_452 (insn, operands);
   32755              : 
   32756              :     default:
   32757              :       return NULL;
   32758              :     }
   32759              : }
   32760              : 
   32761              :  rtx_insn *
   32762              : peephole2_49 (rtx x1 ATTRIBUTE_UNUSED,
   32763              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   32764              :         int *pmatch_len_ ATTRIBUTE_UNUSED)
   32765              : {
   32766              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   32767              :   rtx x2, x3, x4, x5, x6, x7, x8;
   32768              :   rtx_insn *res ATTRIBUTE_UNUSED;
   32769              :   x2 = XVECEXP (x1, 0, 1);
   32770              :   x3 = XEXP (x2, 0);
   32771              :   if (GET_CODE (x3) != MEM
   32772              :       || GET_MODE (x3) != E_BLKmode)
   32773              :     return NULL;
   32774              :   x4 = XEXP (x3, 0);
   32775              :   if (GET_CODE (x4) != SCRATCH)
   32776              :     return NULL;
   32777              :   x5 = XVECEXP (x1, 0, 0);
   32778              :   x6 = XEXP (x5, 1);
   32779              :   x7 = XEXP (x6, 1);
   32780              :   operands[1] = x7;
   32781              :   x8 = XEXP (x6, 0);
   32782              :   if (!rtx_equal_p (x8, operands[0]))
   32783              :     return NULL;
   32784              :   switch (GET_MODE (operands[0]))
   32785              :     {
   32786              :     case E_SImode:
   32787              :       if (!register_operand (operands[0], E_SImode)
   32788              :           || GET_MODE (x6) != E_SImode
   32789              :           || !x86_64_nonmemory_operand (operands[1], E_SImode)
   32790              :           || !(
   32791              : #line 27738 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32792              : (peep2_regno_dead_p (0, FLAGS_REG)) && 
   32793              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32794              : (Pmode == SImode)))
   32795              :         return NULL;
   32796              :       *pmatch_len_ = 0;
   32797              :       return gen_peephole2_253 (insn, operands);
   32798              : 
   32799              :     case E_DImode:
   32800              :       if (!register_operand (operands[0], E_DImode)
   32801              :           || GET_MODE (x6) != E_DImode
   32802              :           || !x86_64_nonmemory_operand (operands[1], E_DImode)
   32803              :           || !(
   32804              : #line 27738 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32805              : (peep2_regno_dead_p (0, FLAGS_REG)) && 
   32806              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32807              : (Pmode == DImode)))
   32808              :         return NULL;
   32809              :       *pmatch_len_ = 0;
   32810              :       return gen_peephole2_254 (insn, operands);
   32811              : 
   32812              :     default:
   32813              :       return NULL;
   32814              :     }
   32815              : }
   32816              : 
   32817              :  rtx_insn *
   32818              : peephole2_51 (rtx x1 ATTRIBUTE_UNUSED,
   32819              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   32820              :         int *pmatch_len_ ATTRIBUTE_UNUSED)
   32821              : {
   32822              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   32823              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   32824              :   rtx x10, x11, x12, x13, x14;
   32825              :   rtx_insn *res ATTRIBUTE_UNUSED;
   32826              :   if (peep2_current_count < 3)
   32827              :     return NULL;
   32828              :   x2 = XVECEXP (x1, 0, 0);
   32829              :   x3 = XEXP (x2, 1);
   32830              :   operands[2] = x3;
   32831              :   x4 = XEXP (x2, 0);
   32832              :   operands[0] = x4;
   32833              :   x5 = XEXP (x3, 1);
   32834              :   operands[1] = x5;
   32835              :   x6 = XEXP (x3, 0);
   32836              :   if (!rtx_equal_p (x6, operands[0]))
   32837              :     return NULL;
   32838              :   x7 = PATTERN (peep2_next_insn (1));
   32839              :   if (GET_CODE (x7) != SET)
   32840              :     return NULL;
   32841              :   x8 = XEXP (x7, 1);
   32842              :   if (!rtx_equal_p (x8, operands[0]))
   32843              :     return NULL;
   32844              :   x9 = XEXP (x7, 0);
   32845              :   if (!rtx_equal_p (x9, operands[1]))
   32846              :     return NULL;
   32847              :   x10 = PATTERN (peep2_next_insn (2));
   32848              :   if (GET_CODE (x10) != SET)
   32849              :     return NULL;
   32850              :   x11 = XEXP (x10, 1);
   32851              :   if (GET_CODE (x11) != COMPARE)
   32852              :     return NULL;
   32853              :   x12 = XEXP (x11, 1);
   32854              :   if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   32855              :     return NULL;
   32856              :   x13 = XEXP (x10, 0);
   32857              :   if (GET_CODE (x13) != REG
   32858              :       || REGNO (x13) != 17)
   32859              :     return NULL;
   32860              :   x14 = XEXP (x11, 0);
   32861              :   if (!rtx_equal_p (x14, operands[0]))
   32862              :     return NULL;
   32863              :   switch (GET_MODE (operands[0]))
   32864              :     {
   32865              :     case E_QImode:
   32866              :       if (!register_operand (operands[0], E_QImode)
   32867              :           || !plusminuslogic_operator (operands[2], E_QImode)
   32868              :           || !memory_operand (operands[1], E_QImode)
   32869              :           || !
   32870              : #line 28769 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32871              : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   32872              :    && COMMUTATIVE_ARITH_P (operands[2])
   32873              :    && peep2_reg_dead_p (3, operands[0])
   32874              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   32875              :    && ix86_match_ccmode (peep2_next_insn (2),
   32876              :                          GET_CODE (operands[2]) == PLUS
   32877              :                          ? CCGOCmode : CCNOmode)))
   32878              :         return NULL;
   32879              :       *pmatch_len_ = 2;
   32880              :       return gen_peephole2_331 (insn, operands);
   32881              : 
   32882              :     case E_HImode:
   32883              :       if (!register_operand (operands[0], E_HImode)
   32884              :           || !plusminuslogic_operator (operands[2], E_HImode)
   32885              :           || !memory_operand (operands[1], E_HImode)
   32886              :           || !
   32887              : #line 28769 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32888              : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   32889              :    && COMMUTATIVE_ARITH_P (operands[2])
   32890              :    && peep2_reg_dead_p (3, operands[0])
   32891              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   32892              :    && ix86_match_ccmode (peep2_next_insn (2),
   32893              :                          GET_CODE (operands[2]) == PLUS
   32894              :                          ? CCGOCmode : CCNOmode)))
   32895              :         return NULL;
   32896              :       *pmatch_len_ = 2;
   32897              :       return gen_peephole2_332 (insn, operands);
   32898              : 
   32899              :     case E_SImode:
   32900              :       if (!register_operand (operands[0], E_SImode)
   32901              :           || !plusminuslogic_operator (operands[2], E_SImode)
   32902              :           || !memory_operand (operands[1], E_SImode)
   32903              :           || !
   32904              : #line 28769 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32905              : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   32906              :    && COMMUTATIVE_ARITH_P (operands[2])
   32907              :    && peep2_reg_dead_p (3, operands[0])
   32908              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   32909              :    && ix86_match_ccmode (peep2_next_insn (2),
   32910              :                          GET_CODE (operands[2]) == PLUS
   32911              :                          ? CCGOCmode : CCNOmode)))
   32912              :         return NULL;
   32913              :       *pmatch_len_ = 2;
   32914              :       return gen_peephole2_333 (insn, operands);
   32915              : 
   32916              :     case E_DImode:
   32917              :       if (!register_operand (operands[0], E_DImode)
   32918              :           || !plusminuslogic_operator (operands[2], E_DImode)
   32919              :           || !memory_operand (operands[1], E_DImode)
   32920              :           || !(
   32921              : #line 28769 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32922              : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   32923              :    && COMMUTATIVE_ARITH_P (operands[2])
   32924              :    && peep2_reg_dead_p (3, operands[0])
   32925              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   32926              :    && ix86_match_ccmode (peep2_next_insn (2),
   32927              :                          GET_CODE (operands[2]) == PLUS
   32928              :                          ? CCGOCmode : CCNOmode)) && 
   32929              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32930              : (TARGET_64BIT)))
   32931              :         return NULL;
   32932              :       *pmatch_len_ = 2;
   32933              :       return gen_peephole2_334 (insn, operands);
   32934              : 
   32935              :     default:
   32936              :       return NULL;
   32937              :     }
   32938              : }
        

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.