LCOV - code coverage report
Current view: top level - /mnt/build/buildbot/bld/build-lcov/gcc - insn-recog-1.cc (source / functions) Coverage Total Hit
Test: gcc.info Lines: 90.9 % 3621 3290
Test Date: 2026-04-20 14:57:17 Functions: 96.7 % 150 145
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        37680 : pattern0 (rtx x1)
      57              : {
      58        37680 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
      59        37680 :   int res ATTRIBUTE_UNUSED;
      60        37680 :   switch (GET_MODE (operands[0]))
      61              :     {
      62         3884 :     case E_QImode:
      63         3884 :       if (!nonimmediate_operand (operands[0], E_QImode)
      64         3530 :           || GET_MODE (x1) != E_QImode
      65         7414 :           || !nonimmediate_operand (operands[1], E_QImode))
      66          714 :         return -1;
      67              :       return 0;
      68              : 
      69         2676 :     case E_HImode:
      70         2676 :       if (!nonimmediate_operand (operands[0], E_HImode)
      71         2676 :           || GET_MODE (x1) != E_HImode
      72         5352 :           || !nonimmediate_operand (operands[1], E_HImode))
      73           59 :         return -1;
      74              :       return 1;
      75              : 
      76              :     default:
      77              :       return -1;
      78              :     }
      79              : }
      80              : 
      81              : int
      82        24350 : pattern16 (rtx x1)
      83              : {
      84        24350 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
      85        24350 :   rtx x2, x3;
      86        24350 :   int res ATTRIBUTE_UNUSED;
      87        24350 :   x2 = XEXP (x1, 1);
      88        24350 :   x3 = XEXP (x2, 0);
      89        24350 :   operands[2] = x3;
      90        24350 :   if (!register_operand (operands[2], E_QImode))
      91              :     return -1;
      92        21278 :   return pattern15 (x1); /* [-1, 1] */
      93              : }
      94              : 
      95              : int
      96       367828 : pattern19 (rtx x1)
      97              : {
      98       367828 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
      99       367828 :   rtx x2, x3;
     100       367828 :   int res ATTRIBUTE_UNUSED;
     101       367828 :   x2 = XEXP (x1, 0);
     102       367828 :   operands[1] = x2;
     103       367828 :   x3 = XEXP (x1, 1);
     104       367828 :   operands[2] = x3;
     105       367828 :   switch (GET_MODE (operands[0]))
     106              :     {
     107       232387 :     case E_DImode:
     108       232387 :       return pattern4 (x1, 
     109       232387 : E_DImode); /* [-1, 0] */
     110              : 
     111        90698 :     case E_SImode:
     112        90698 :       if (pattern4 (x1, 
     113              : E_SImode) != 0)
     114              :         return -1;
     115              :       return 1;
     116              : 
     117              :     default:
     118              :       return -1;
     119              :     }
     120              : }
     121              : 
     122              : int
     123       968256 : pattern26 (rtx x1, machine_mode i1)
     124              : {
     125       968256 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     126       968256 :   int res ATTRIBUTE_UNUSED;
     127       968256 :   if (!register_operand (operands[0], i1)
     128       958918 :       || GET_MODE (x1) != i1
     129       958860 :       || !vector_operand (operands[1], i1)
     130      1829301 :       || !vector_operand (operands[2], i1))
     131       184925 :     return -1;
     132              :   return 0;
     133              : }
     134              : 
     135              : int
     136      3074308 : pattern30 (rtx x1)
     137              : {
     138      3074308 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     139      3074308 :   rtx x2, x3, x4, x5;
     140      3074308 :   int res ATTRIBUTE_UNUSED;
     141      3074308 :   x2 = XEXP (x1, 0);
     142      3074308 :   operands[0] = x2;
     143      3074308 :   x3 = XEXP (x1, 1);
     144      3074308 :   x4 = XEXP (x3, 0);
     145      3074308 :   operands[1] = x4;
     146      3074308 :   x5 = XEXP (x3, 1);
     147      3074308 :   operands[2] = x5;
     148      3074308 :   switch (GET_MODE (operands[0]))
     149              :     {
     150         2937 :     case E_V16HImode:
     151         2937 :       if (!register_operand (operands[0], E_V16HImode)
     152         2937 :           || GET_MODE (x3) != E_V16HImode)
     153              :         return -1;
     154              :       return 0;
     155              : 
     156        61239 :     case E_V8HImode:
     157        61239 :       if (!register_operand (operands[0], E_V8HImode)
     158        61239 :           || GET_MODE (x3) != E_V8HImode)
     159              :         return -1;
     160              :       return 1;
     161              : 
     162        14810 :     case E_V8SImode:
     163        14810 :       if (!register_operand (operands[0], E_V8SImode)
     164        14810 :           || GET_MODE (x3) != E_V8SImode)
     165              :         return -1;
     166              :       return 2;
     167              : 
     168       190463 :     case E_V4SImode:
     169       190463 :       if (!register_operand (operands[0], E_V4SImode)
     170       190463 :           || GET_MODE (x3) != E_V4SImode)
     171              :         return -1;
     172              :       return 3;
     173              : 
     174        15788 :     case E_V4DImode:
     175        15788 :       if (!register_operand (operands[0], E_V4DImode)
     176        15788 :           || GET_MODE (x3) != E_V4DImode)
     177              :         return -1;
     178              :       return 4;
     179              : 
     180       146180 :     case E_V2DImode:
     181       146180 :       if (!register_operand (operands[0], E_V2DImode)
     182       146180 :           || GET_MODE (x3) != E_V2DImode)
     183              :         return -1;
     184              :       return 5;
     185              : 
     186         1944 :     case E_V32HImode:
     187         1944 :       if (!register_operand (operands[0], E_V32HImode)
     188         1944 :           || GET_MODE (x3) != E_V32HImode)
     189              :         return -1;
     190              :       return 6;
     191              : 
     192         9072 :     case E_V16SImode:
     193         9072 :       if (!register_operand (operands[0], E_V16SImode)
     194         9072 :           || GET_MODE (x3) != E_V16SImode)
     195              :         return -1;
     196              :       return 7;
     197              : 
     198         5734 :     case E_V8DImode:
     199         5734 :       if (!register_operand (operands[0], E_V8DImode)
     200         5734 :           || GET_MODE (x3) != E_V8DImode)
     201              :         return -1;
     202              :       return 8;
     203              : 
     204       413196 :     case E_V1TImode:
     205       413196 :       if (!register_operand (operands[0], E_V1TImode)
     206       413196 :           || GET_MODE (x3) != E_V1TImode)
     207              :         return -1;
     208              :       return 9;
     209              : 
     210          110 :     case E_V4TImode:
     211          110 :       if (!register_operand (operands[0], E_V4TImode)
     212          110 :           || GET_MODE (x3) != E_V4TImode
     213          110 :           || !nonimmediate_operand (operands[1], E_V4TImode)
     214          220 :           || !const_0_to_255_mul_8_operand (operands[2], E_SImode))
     215            0 :         return -1;
     216              :       return 10;
     217              : 
     218          252 :     case E_V2TImode:
     219          252 :       if (!register_operand (operands[0], E_V2TImode)
     220          252 :           || GET_MODE (x3) != E_V2TImode
     221          504 :           || !const_0_to_255_mul_8_operand (operands[2], E_SImode))
     222            0 :         return -1;
     223              :       return 11;
     224              : 
     225              :     default:
     226              :       return -1;
     227              :     }
     228              : }
     229              : 
     230              : int
     231       206557 : pattern44 (rtx x1, int *pnum_clobbers)
     232              : {
     233       206557 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     234       206557 :   rtx x2, x3, x4;
     235       206557 :   int res ATTRIBUTE_UNUSED;
     236       206557 :   if (pnum_clobbers == NULL)
     237              :     return -1;
     238       206557 :   x2 = XEXP (x1, 1);
     239       206557 :   x3 = XEXP (x2, 0);
     240       206557 :   if (GET_MODE (x3) != E_TImode)
     241              :     return -1;
     242         7616 :   x4 = XEXP (x1, 0);
     243         7616 :   operands[0] = x4;
     244         7616 :   return pattern43 (x2, 
     245              : E_DImode, 
     246         7616 : E_TImode); /* [-1, 0] */
     247              : }
     248              : 
     249              : int
     250       218094 : pattern50 (rtx x1)
     251              : {
     252       218094 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     253       218094 :   rtx x2, x3;
     254       218094 :   int res ATTRIBUTE_UNUSED;
     255       218094 :   x2 = XEXP (x1, 0);
     256       218094 :   operands[1] = x2;
     257       218094 :   x3 = XEXP (x1, 1);
     258       218094 :   operands[2] = x3;
     259       218094 :   return pattern49 (x1); /* [-1, 3] */
     260              : }
     261              : 
     262              : int
     263         5008 : pattern53 (rtx x1)
     264              : {
     265         5008 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     266         5008 :   rtx x2;
     267         5008 :   int res ATTRIBUTE_UNUSED;
     268         5008 :   x2 = XEXP (x1, 0);
     269         5008 :   operands[1] = x2;
     270         5008 :   switch (GET_MODE (operands[0]))
     271              :     {
     272         2349 :     case E_V16QImode:
     273         2349 :       if (!nonimmediate_operand (operands[0], E_V16QImode)
     274         2349 :           || GET_MODE (x1) != E_V16QImode)
     275              :         return -1;
     276         2349 :       switch (GET_MODE (operands[1]))
     277              :         {
     278          250 :         case E_V16SImode:
     279          250 :           if (!register_operand (operands[1], E_V16SImode))
     280              :             return -1;
     281              :           return 0;
     282              : 
     283         2099 :         case E_V16HImode:
     284         2099 :           if (!register_operand (operands[1], E_V16HImode))
     285              :             return -1;
     286              :           return 1;
     287              : 
     288              :         default:
     289              :           return -1;
     290              :         }
     291              : 
     292          227 :     case E_V16HImode:
     293          227 :       if (!nonimmediate_operand (operands[0], E_V16HImode)
     294          227 :           || GET_MODE (x1) != E_V16HImode
     295          454 :           || !register_operand (operands[1], E_V16SImode))
     296            2 :         return -1;
     297              :       return 2;
     298              : 
     299          228 :     case E_V8SImode:
     300          228 :       if (!nonimmediate_operand (operands[0], E_V8SImode)
     301          228 :           || GET_MODE (x1) != E_V8SImode
     302          456 :           || !register_operand (operands[1], E_V8DImode))
     303            6 :         return -1;
     304              :       return 3;
     305              : 
     306          443 :     case E_V8HImode:
     307          443 :       if (!nonimmediate_operand (operands[0], E_V8HImode)
     308          443 :           || GET_MODE (x1) != E_V8HImode)
     309              :         return -1;
     310          443 :       switch (GET_MODE (operands[1]))
     311              :         {
     312          218 :         case E_V8DImode:
     313          218 :           if (!register_operand (operands[1], E_V8DImode))
     314              :             return -1;
     315              :           return 4;
     316              : 
     317          225 :         case E_V8SImode:
     318          225 :           if (!register_operand (operands[1], E_V8SImode))
     319              :             return -1;
     320              :           return 5;
     321              : 
     322              :         default:
     323              :           return -1;
     324              :         }
     325              : 
     326         1038 :     case E_V32QImode:
     327         1038 :       if (!nonimmediate_operand (operands[0], E_V32QImode)
     328         1038 :           || GET_MODE (x1) != E_V32QImode
     329         2076 :           || !register_operand (operands[1], E_V32HImode))
     330           14 :         return -1;
     331              :       return 6;
     332              : 
     333          219 :     case E_V4SImode:
     334          219 :       if (!nonimmediate_operand (operands[0], E_V4SImode)
     335          219 :           || GET_MODE (x1) != E_V4SImode
     336          438 :           || !register_operand (operands[1], E_V4DImode))
     337            6 :         return -1;
     338              :       return 7;
     339              : 
     340              :     default:
     341              :       return -1;
     342              :     }
     343              : }
     344              : 
     345              : int
     346      2826243 : pattern75 (rtx x1)
     347              : {
     348      2826243 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     349      2826243 :   rtx x2, x3, x4, x5, x6;
     350      2826243 :   int res ATTRIBUTE_UNUSED;
     351      2826243 :   x2 = XEXP (x1, 1);
     352      2826243 :   switch (GET_CODE (x2))
     353              :     {
     354      1267032 :     case ASHIFT:
     355      1267032 :       if (GET_MODE (x2) != E_TImode)
     356              :         return -1;
     357      1228444 :       x3 = XEXP (x2, 0);
     358      1228444 :       if (GET_CODE (x3) != ZERO_EXTEND
     359      1228183 :           || GET_MODE (x3) != E_TImode)
     360              :         return -1;
     361      1228183 :       x4 = XEXP (x2, 1);
     362      1228183 :       if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 64]
     363      1228183 :           || !nonimmediate_operand (operands[0], E_TImode)
     364      2455145 :           || GET_MODE (x1) != E_TImode)
     365         1221 :         return -1;
     366      1226962 :       x5 = XEXP (x1, 0);
     367      1226962 :       if (GET_MODE (x5) != E_TImode
     368      1226962 :           || !nonimmediate_operand (operands[1], E_TImode)
     369      2440907 :           || !const_scalar_int_operand (operands[3], E_TImode))
     370        13017 :         return -1;
     371      1213945 :       x6 = XEXP (x3, 0);
     372      1213945 :       operands[2] = x6;
     373      1213945 :       if (!nonimmediate_operand (operands[2], E_DImode))
     374              :         return -1;
     375              :       return 0;
     376              : 
     377       561980 :     case ZERO_EXTEND:
     378       561980 :       x3 = XEXP (x2, 0);
     379       561980 :       operands[2] = x3;
     380       561980 :       switch (GET_MODE (operands[0]))
     381              :         {
     382       545699 :         case E_TImode:
     383       545699 :           if (!nonimmediate_operand (operands[0], E_TImode)
     384       545699 :               || GET_MODE (x1) != E_TImode)
     385              :             return -1;
     386       545698 :           x5 = XEXP (x1, 0);
     387       545698 :           if (GET_MODE (x5) != E_TImode
     388       545698 :               || !nonimmediate_operand (operands[1], E_TImode)
     389       544071 :               || !const_scalar_int_operand (operands[3], E_TImode)
     390       544071 :               || GET_MODE (x2) != E_TImode
     391      1089769 :               || !nonimmediate_operand (operands[2], E_DImode))
     392        47145 :             return -1;
     393              :           return 1;
     394              : 
     395        13930 :         case E_DImode:
     396        13930 :           if (!nonimmediate_operand (operands[0], E_DImode)
     397        13930 :               || GET_MODE (x1) != E_DImode)
     398              :             return -1;
     399        13922 :           x5 = XEXP (x1, 0);
     400        13922 :           if (GET_MODE (x5) != E_DImode
     401        13922 :               || !nonimmediate_operand (operands[1], E_DImode)
     402        10055 :               || !const_int_operand (operands[3], E_DImode)
     403         3972 :               || GET_MODE (x2) != E_DImode
     404        17894 :               || !nonimmediate_operand (operands[2], E_SImode))
     405        10490 :             return -1;
     406              :           return 2;
     407              : 
     408              :         default:
     409              :           return -1;
     410              :         }
     411              : 
     412              :     default:
     413              :       return -1;
     414              :     }
     415              : }
     416              : 
     417              : int
     418         3203 : pattern103 (rtx x1, machine_mode i1)
     419              : {
     420         3203 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     421         3203 :   rtx x2, x3, x4, x5, x6, x7;
     422         3203 :   int res ATTRIBUTE_UNUSED;
     423         3203 :   if (GET_MODE (x1) != i1)
     424              :     return -1;
     425          441 :   x2 = XEXP (x1, 0);
     426          441 :   if (GET_CODE (x2) != VEC_SELECT
     427          284 :       || GET_MODE (x2) != i1)
     428              :     return -1;
     429          284 :   x3 = XEXP (x2, 1);
     430          284 :   if (GET_CODE (x3) != PARALLEL
     431          284 :       || XVECLEN (x3, 0) != 1)
     432              :     return -1;
     433          284 :   x4 = XVECEXP (x3, 0, 0);
     434          284 :   if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
     435              :     return -1;
     436          284 :   x5 = XEXP (x1, 1);
     437          284 :   if (GET_CODE (x5) != VEC_SELECT
     438          284 :       || GET_MODE (x5) != i1)
     439              :     return -1;
     440          284 :   x6 = XEXP (x5, 1);
     441          284 :   if (GET_CODE (x6) != PARALLEL
     442          284 :       || XVECLEN (x6, 0) != 1)
     443              :     return -1;
     444          284 :   x7 = XVECEXP (x6, 0, 0);
     445          284 :   if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
     446            0 :     return -1;
     447              :   return 0;
     448              : }
     449              : 
     450              : int
     451        41226 : pattern114 (rtx x1, int *pnum_clobbers)
     452              : {
     453        41226 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     454        41226 :   rtx x2;
     455        41226 :   int res ATTRIBUTE_UNUSED;
     456        41226 :   switch (GET_MODE (operands[0]))
     457              :     {
     458        10252 :     case E_SImode:
     459        10252 :       if (!register_operand (operands[0], E_SImode)
     460        10252 :           || GET_MODE (x1) != E_SImode)
     461              :         return -1;
     462        10082 :       x2 = XEXP (x1, 0);
     463        10082 :       switch (GET_MODE (x2))
     464              :         {
     465         7545 :         case E_QImode:
     466         7545 :           if (!nonimmediate_operand (operands[1], E_QImode)
     467         7545 :               || !x86_64_general_operand (operands[2], E_QImode))
     468          277 :             return -1;
     469              :           return 0;
     470              : 
     471         2537 :         case E_HImode:
     472         2537 :           if (!nonimmediate_operand (operands[1], E_HImode)
     473         2537 :               || !x86_64_general_operand (operands[2], E_HImode))
     474          195 :             return -1;
     475              :           return 1;
     476              : 
     477              :         default:
     478              :           return -1;
     479              :         }
     480              : 
     481        27004 :     case E_DImode:
     482        27004 :       if (!register_operand (operands[0], E_DImode)
     483        27004 :           || GET_MODE (x1) != E_DImode)
     484              :         return -1;
     485        26773 :       x2 = XEXP (x1, 0);
     486        26773 :       switch (GET_MODE (x2))
     487              :         {
     488         2162 :         case E_QImode:
     489         2162 :           if (!nonimmediate_operand (operands[1], E_QImode)
     490         2162 :               || !x86_64_general_operand (operands[2], E_QImode))
     491          110 :             return -1;
     492              :           return 2;
     493              : 
     494          644 :         case E_HImode:
     495          644 :           if (!nonimmediate_operand (operands[1], E_HImode)
     496          644 :               || !x86_64_general_operand (operands[2], E_HImode))
     497          145 :             return -1;
     498              :           return 3;
     499              : 
     500        23967 :         case E_SImode:
     501        23967 :           if (pnum_clobbers == NULL
     502        23650 :               || !nonimmediate_operand (operands[1], E_SImode)
     503        45792 :               || !x86_64_general_operand (operands[2], E_SImode))
     504         2509 :             return -1;
     505              :           return 4;
     506              : 
     507              :         default:
     508              :           return -1;
     509              :         }
     510              : 
     511              :     default:
     512              :       return -1;
     513              :     }
     514              : }
     515              : 
     516              : int
     517        24890 : pattern135 (rtx x1, machine_mode i1, machine_mode i2)
     518              : {
     519        24890 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     520        24890 :   rtx x2;
     521        24890 :   int res ATTRIBUTE_UNUSED;
     522        24890 :   if (!register_operand (operands[0], i2)
     523        24890 :       || GET_MODE (x1) != i2)
     524              :     return -1;
     525        23972 :   x2 = XEXP (x1, 0);
     526        23972 :   if (GET_MODE (x2) != i2
     527        23972 :       || !nonimm_or_0_operand (operands[3], i2)
     528        47438 :       || !register_operand (operands[4], i1))
     529         2873 :     return -1;
     530              :   return 0;
     531              : }
     532              : 
     533              : int
     534         1774 : pattern143 (rtx x1, machine_mode i1)
     535              : {
     536         1774 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     537         1774 :   rtx x2;
     538         1774 :   int res ATTRIBUTE_UNUSED;
     539         1774 :   if (!register_operand (operands[0], i1)
     540         1774 :       || GET_MODE (x1) != i1)
     541              :     return -1;
     542         1678 :   x2 = XEXP (x1, 0);
     543         1678 :   if (GET_MODE (x2) != i1
     544         1678 :       || !nonimm_or_0_operand (operands[2], i1))
     545           39 :     return -1;
     546              :   return 0;
     547              : }
     548              : 
     549              : int
     550         5558 : pattern150 (rtx x1)
     551              : {
     552         5558 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     553         5558 :   rtx x2, x3, x4, x5, x6;
     554         5558 :   int res ATTRIBUTE_UNUSED;
     555         5558 :   x2 = XEXP (x1, 0);
     556         5558 :   x3 = XEXP (x2, 0);
     557         5558 :   operands[1] = x3;
     558         5558 :   x4 = XEXP (x2, 1);
     559         5558 :   operands[2] = x4;
     560         5558 :   x5 = XEXP (x1, 1);
     561         5558 :   operands[3] = x5;
     562         5558 :   x6 = XEXP (x1, 2);
     563         5558 :   operands[4] = x6;
     564         5558 :   switch (GET_CODE (operands[2]))
     565              :     {
     566         2886 :     case REG:
     567         2886 :     case SUBREG:
     568         2886 :     case MEM:
     569         2886 :       switch (GET_MODE (operands[0]))
     570              :         {
     571          506 :         case E_V16SImode:
     572          506 :           return pattern136 (x1, 
     573              : E_V16SImode, 
     574          506 : E_HImode); /* [-1, 0] */
     575              : 
     576          506 :         case E_V8SImode:
     577          506 :           if (pattern136 (x1, 
     578              : E_V8SImode, 
     579              : E_QImode) != 0)
     580              :             return -1;
     581              :           return 1;
     582              : 
     583          398 :         case E_V4SImode:
     584          398 :           if (pattern136 (x1, 
     585              : E_V4SImode, 
     586              : E_QImode) != 0)
     587              :             return -1;
     588              :           return 2;
     589              : 
     590          534 :         case E_V8DImode:
     591          534 :           if (pattern136 (x1, 
     592              : E_V8DImode, 
     593              : E_QImode) != 0)
     594              :             return -1;
     595              :           return 3;
     596              : 
     597          534 :         case E_V4DImode:
     598          534 :           if (pattern136 (x1, 
     599              : E_V4DImode, 
     600              : E_QImode) != 0)
     601              :             return -1;
     602              :           return 4;
     603              : 
     604          408 :         case E_V2DImode:
     605          408 :           if (pattern136 (x1, 
     606              : E_V2DImode, 
     607              : E_QImode) != 0)
     608              :             return -1;
     609              :           return 5;
     610              : 
     611              :         default:
     612              :           return -1;
     613              :         }
     614              : 
     615         2556 :     case CONST_INT:
     616         2556 :       if (!const_0_to_255_operand (operands[2], E_SImode))
     617              :         return -1;
     618         2556 :       switch (GET_MODE (operands[0]))
     619              :         {
     620          452 :         case E_V16SImode:
     621          452 :           if (pattern149 (x1, 
     622              : E_V16SImode, 
     623              : E_HImode) != 0)
     624              :             return -1;
     625              :           return 6;
     626              : 
     627          434 :         case E_V8SImode:
     628          434 :           if (pattern149 (x1, 
     629              : E_V8SImode, 
     630              : E_QImode) != 0)
     631              :             return -1;
     632              :           return 7;
     633              : 
     634          350 :         case E_V4SImode:
     635          350 :           if (pattern149 (x1, 
     636              : E_V4SImode, 
     637              : E_QImode) != 0)
     638              :             return -1;
     639              :           return 8;
     640              : 
     641          506 :         case E_V8DImode:
     642          506 :           if (pattern149 (x1, 
     643              : E_V8DImode, 
     644              : E_QImode) != 0)
     645              :             return -1;
     646              :           return 9;
     647              : 
     648          452 :         case E_V4DImode:
     649          452 :           if (pattern149 (x1, 
     650              : E_V4DImode, 
     651              : E_QImode) != 0)
     652              :             return -1;
     653              :           return 10;
     654              : 
     655          362 :         case E_V2DImode:
     656          362 :           if (pattern149 (x1, 
     657              : E_V2DImode, 
     658              : E_QImode) != 0)
     659              :             return -1;
     660              :           return 11;
     661              : 
     662              :         default:
     663              :           return -1;
     664              :         }
     665              : 
     666              :     default:
     667              :       return -1;
     668              :     }
     669              : }
     670              : 
     671              : int
     672          405 : pattern165 (rtx x1, machine_mode i1)
     673              : {
     674          405 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     675          405 :   rtx x2, x3, x4, x5;
     676          405 :   int res ATTRIBUTE_UNUSED;
     677          405 :   x2 = XEXP (x1, 1);
     678          405 :   if (GET_MODE (x2) != i1)
     679              :     return -1;
     680          405 :   x3 = XEXP (x1, 0);
     681          405 :   operands[0] = x3;
     682          405 :   if (!register_operand (operands[0], i1))
     683              :     return -1;
     684          390 :   x4 = XVECEXP (x2, 0, 0);
     685          390 :   operands[1] = x4;
     686          390 :   if (!register_operand (operands[1], i1))
     687              :     return -1;
     688          316 :   x5 = XVECEXP (x2, 0, 1);
     689          316 :   operands[2] = x5;
     690          316 :   if (!register_operand (operands[2], i1))
     691              :     return -1;
     692              :   return 0;
     693              : }
     694              : 
     695              : int
     696          616 : pattern173 (rtx x1)
     697              : {
     698          616 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     699          616 :   rtx x2, x3, x4, x5;
     700          616 :   int res ATTRIBUTE_UNUSED;
     701          616 :   x2 = XEXP (x1, 0);
     702          616 :   operands[0] = x2;
     703          616 :   x3 = XEXP (x1, 1);
     704          616 :   x4 = XVECEXP (x3, 0, 0);
     705          616 :   operands[1] = x4;
     706          616 :   x5 = XVECEXP (x3, 0, 1);
     707          616 :   operands[2] = x5;
     708          616 :   if (!const_0_to_255_operand (operands[2], E_SImode))
     709              :     return -1;
     710          616 :   switch (GET_MODE (operands[0]))
     711              :     {
     712          206 :     case E_V32BFmode:
     713          206 :       if (!register_operand (operands[0], E_V32BFmode)
     714          188 :           || GET_MODE (x3) != E_V32BFmode
     715          394 :           || !nonimmediate_operand (operands[1], E_V32BFmode))
     716           33 :         return -1;
     717              :       return 0;
     718              : 
     719          206 :     case E_V16BFmode:
     720          206 :       if (!register_operand (operands[0], E_V16BFmode)
     721          188 :           || GET_MODE (x3) != E_V16BFmode
     722          394 :           || !nonimmediate_operand (operands[1], E_V16BFmode))
     723           33 :         return -1;
     724              :       return 1;
     725              : 
     726          204 :     case E_V8BFmode:
     727          204 :       if (!register_operand (operands[0], E_V8BFmode)
     728          186 :           || GET_MODE (x3) != E_V8BFmode
     729          390 :           || !nonimmediate_operand (operands[1], E_V8BFmode))
     730           33 :         return -1;
     731              :       return 2;
     732              : 
     733              :     default:
     734              :       return -1;
     735              :     }
     736              : }
     737              : 
     738              : int
     739         1975 : pattern187 (rtx x1)
     740              : {
     741         1975 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     742         1975 :   rtx x2, x3, x4;
     743         1975 :   int res ATTRIBUTE_UNUSED;
     744         1975 :   x2 = XEXP (x1, 0);
     745         1975 :   x3 = XEXP (x2, 0);
     746         1975 :   operands[1] = x3;
     747         1975 :   x4 = XEXP (x1, 1);
     748         1975 :   operands[2] = x4;
     749         1975 :   switch (GET_MODE (operands[0]))
     750              :     {
     751          410 :     case E_V8HFmode:
     752          410 :       if (!register_operand (operands[0], E_V8HFmode)
     753          410 :           || GET_MODE (x1) != E_V8HFmode)
     754              :         return -1;
     755          388 :       switch (GET_MODE (x2))
     756              :         {
     757          268 :         case E_V4HFmode:
     758          268 :           if (!const0_operand (operands[2], E_V4HFmode))
     759              :             return -1;
     760          268 :           switch (GET_MODE (operands[1]))
     761              :             {
     762          148 :             case E_V4SImode:
     763          148 :               if (!vector_operand (operands[1], E_V4SImode))
     764              :                 return -1;
     765              :               return 0;
     766              : 
     767          120 :             case E_V4DImode:
     768          120 :               if (!vector_operand (operands[1], E_V4DImode))
     769              :                 return -1;
     770              :               return 1;
     771              : 
     772              :             default:
     773              :               return -1;
     774              :             }
     775              : 
     776          120 :         case E_V2HFmode:
     777          120 :           if (!vector_operand (operands[1], E_V2DImode)
     778          120 :               || !const0_operand (operands[2], E_V6HFmode))
     779            2 :             return -1;
     780              :           return 2;
     781              : 
     782              :         default:
     783              :           return -1;
     784              :         }
     785              : 
     786          286 :     case E_V4SFmode:
     787          286 :       if (pattern186 (x1, 
     788              : E_V2SFmode, 
     789              : E_V2DImode, 
     790              : E_V4SFmode) != 0)
     791              :         return -1;
     792              :       return 3;
     793              : 
     794              :     default:
     795              :       return -1;
     796              :     }
     797              : }
     798              : 
     799              : int
     800       490522 : pattern199 (rtx x1, rtx_code i1)
     801              : {
     802       490522 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     803       490522 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
     804       490522 :   rtx x10, x11, x12, x13, x14, x15, x16, x17;
     805       490522 :   rtx x18, x19, x20, x21, x22, x23, x24, x25;
     806       490522 :   int res ATTRIBUTE_UNUSED;
     807       490522 :   x2 = XEXP (x1, 0);
     808       490522 :   x3 = XEXP (x2, 0);
     809       490522 :   if (GET_CODE (x3) != VEC_SELECT)
     810              :     return -1;
     811         2271 :   x4 = XEXP (x3, 1);
     812         2271 :   if (GET_CODE (x4) != PARALLEL)
     813              :     return -1;
     814         2271 :   x5 = XEXP (x1, 1);
     815         2271 :   if (GET_CODE (x5) != i1)
     816              :     return -1;
     817          634 :   x6 = XEXP (x5, 0);
     818          634 :   if (GET_CODE (x6) != VEC_SELECT)
     819              :     return -1;
     820          626 :   x7 = XEXP (x6, 1);
     821          626 :   if (GET_CODE (x7) != PARALLEL)
     822              :     return -1;
     823          626 :   x8 = XEXP (x3, 0);
     824          626 :   operands[1] = x8;
     825          626 :   x9 = XEXP (x6, 0);
     826          626 :   if (!rtx_equal_p (x9, operands[1]))
     827              :     return -1;
     828          568 :   switch (XVECLEN (x4, 0))
     829              :     {
     830          180 :     case 8:
     831          180 :       x10 = XVECEXP (x4, 0, 0);
     832          180 :       if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
     833              :         return -1;
     834          180 :       x11 = XVECEXP (x4, 0, 1);
     835          180 :       if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
     836              :         return -1;
     837          180 :       x12 = XVECEXP (x4, 0, 2);
     838          180 :       if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
     839              :         return -1;
     840          180 :       x13 = XVECEXP (x4, 0, 3);
     841          180 :       if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
     842              :         return -1;
     843          180 :       x14 = XVECEXP (x4, 0, 4);
     844          180 :       if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
     845              :         return -1;
     846          180 :       x15 = XVECEXP (x4, 0, 5);
     847          180 :       if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 10])
     848              :         return -1;
     849          180 :       x16 = XVECEXP (x4, 0, 6);
     850          180 :       if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 12])
     851              :         return -1;
     852          180 :       x17 = XVECEXP (x4, 0, 7);
     853          180 :       if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 14]
     854          180 :           || XVECLEN (x7, 0) != 8)
     855              :         return -1;
     856          180 :       x18 = XVECEXP (x7, 0, 0);
     857          180 :       if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
     858              :         return -1;
     859          180 :       x19 = XVECEXP (x7, 0, 1);
     860          180 :       if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
     861              :         return -1;
     862          180 :       x20 = XVECEXP (x7, 0, 2);
     863          180 :       if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
     864              :         return -1;
     865          180 :       x21 = XVECEXP (x7, 0, 3);
     866          180 :       if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 7])
     867              :         return -1;
     868          180 :       x22 = XVECEXP (x7, 0, 4);
     869          180 :       if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 9])
     870              :         return -1;
     871          180 :       x23 = XVECEXP (x7, 0, 5);
     872          180 :       if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 11])
     873              :         return -1;
     874          180 :       x24 = XVECEXP (x7, 0, 6);
     875          180 :       if (x24 != const_int_rtx[MAX_SAVED_CONST_INT + 13])
     876              :         return -1;
     877          180 :       x25 = XVECEXP (x7, 0, 7);
     878          180 :       if (x25 != const_int_rtx[MAX_SAVED_CONST_INT + 15]
     879          180 :           || pattern198 (x1, 
     880              : E_V8QImode, 
     881              : E_V8HImode, 
     882              : E_V16QImode) != 0)
     883            6 :         return -1;
     884              :       return 0;
     885              : 
     886          180 :     case 4:
     887          180 :       x10 = XVECEXP (x4, 0, 0);
     888          180 :       if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
     889              :         return -1;
     890          180 :       x11 = XVECEXP (x4, 0, 1);
     891          180 :       if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
     892              :         return -1;
     893          180 :       x12 = XVECEXP (x4, 0, 2);
     894          180 :       if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
     895              :         return -1;
     896          180 :       x13 = XVECEXP (x4, 0, 3);
     897          180 :       if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 6]
     898          180 :           || XVECLEN (x7, 0) != 4)
     899              :         return -1;
     900          180 :       x18 = XVECEXP (x7, 0, 0);
     901          180 :       if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
     902              :         return -1;
     903          180 :       x19 = XVECEXP (x7, 0, 1);
     904          180 :       if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
     905              :         return -1;
     906          180 :       x20 = XVECEXP (x7, 0, 2);
     907          180 :       if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
     908              :         return -1;
     909          180 :       x21 = XVECEXP (x7, 0, 3);
     910          180 :       if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
     911          180 :           || pattern198 (x1, 
     912              : E_V4HImode, 
     913              : E_V4SImode, 
     914              : E_V8HImode) != 0)
     915            6 :         return -1;
     916              :       return 1;
     917              : 
     918          208 :     case 2:
     919          208 :       x10 = XVECEXP (x4, 0, 0);
     920          208 :       if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
     921              :         return -1;
     922          208 :       x11 = XVECEXP (x4, 0, 1);
     923          208 :       if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 2]
     924          208 :           || XVECLEN (x7, 0) != 2)
     925              :         return -1;
     926          208 :       x18 = XVECEXP (x7, 0, 0);
     927          208 :       if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
     928              :         return -1;
     929          208 :       x19 = XVECEXP (x7, 0, 1);
     930          208 :       if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 3]
     931          208 :           || pattern198 (x1, 
     932              : E_V2SImode, 
     933              : E_V2DImode, 
     934              : E_V4SImode) != 0)
     935           18 :         return -1;
     936              :       return 2;
     937              : 
     938              :     default:
     939              :       return -1;
     940              :     }
     941              : }
     942              : 
     943              : int
     944      2840097 : pattern230 (rtx x1)
     945              : {
     946      2840097 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     947      2840097 :   rtx x2, x3;
     948      2840097 :   int res ATTRIBUTE_UNUSED;
     949      2840097 :   if (GET_CODE (x1) != CLOBBER)
     950              :     return -1;
     951      1757812 :   x2 = XEXP (x1, 0);
     952      1757812 :   if (GET_CODE (x2) != MEM
     953      1757812 :       || GET_MODE (x2) != E_BLKmode)
     954              :     return -1;
     955      1757812 :   x3 = XEXP (x2, 0);
     956      1757812 :   if (GET_CODE (x3) != SCRATCH)
     957            0 :     return -1;
     958              :   return 0;
     959              : }
     960              : 
     961              : int
     962       341188 : pattern238 (rtx x1)
     963              : {
     964       341188 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     965       341188 :   rtx x2, x3;
     966       341188 :   int res ATTRIBUTE_UNUSED;
     967       341188 :   x2 = XEXP (x1, 0);
     968       341188 :   operands[1] = x2;
     969       341188 :   x3 = XEXP (x1, 1);
     970       341188 :   operands[2] = x3;
     971       341188 :   if (!register_operand (operands[2], E_QImode))
     972              :     return -1;
     973         1568 :   return pattern132 (x1); /* [-1, 1] */
     974              : }
     975              : 
     976              : int
     977      1081354 : pattern242 (rtx x1)
     978              : {
     979      1081354 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     980      1081354 :   rtx x2, x3;
     981      1081354 :   int res ATTRIBUTE_UNUSED;
     982      1081354 :   x2 = XEXP (x1, 0);
     983      1081354 :   operands[1] = x2;
     984      1081354 :   x3 = XEXP (x1, 1);
     985      1081354 :   operands[2] = x3;
     986      1081354 :   switch (GET_MODE (operands[0]))
     987              :     {
     988       106988 :     case E_QImode:
     989       106988 :       return pattern241 (x1, 
     990       106988 : E_QImode); /* [-1, 0] */
     991              : 
     992        22797 :     case E_HImode:
     993        22797 :       if (pattern241 (x1, 
     994              : E_HImode) != 0)
     995              :         return -1;
     996              :       return 1;
     997              : 
     998       130887 :     case E_SImode:
     999       130887 :       if (pattern241 (x1, 
    1000              : E_SImode) != 0)
    1001              :         return -1;
    1002              :       return 2;
    1003              : 
    1004       127956 :     case E_DImode:
    1005       127956 :       if (pattern241 (x1, 
    1006              : E_DImode) != 0)
    1007              :         return -1;
    1008              :       return 3;
    1009              : 
    1010              :     default:
    1011              :       return -1;
    1012              :     }
    1013              : }
    1014              : 
    1015              : int
    1016        38024 : pattern253 (rtx x1)
    1017              : {
    1018        38024 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1019        38024 :   rtx x2, x3;
    1020        38024 :   int res ATTRIBUTE_UNUSED;
    1021        38024 :   if (GET_CODE (x1) != VEC_SELECT)
    1022              :     return -1;
    1023         2175 :   x2 = XEXP (x1, 1);
    1024         2175 :   if (GET_CODE (x2) != PARALLEL
    1025         2175 :       || XVECLEN (x2, 0) != 1)
    1026              :     return -1;
    1027         2175 :   x3 = XVECEXP (x2, 0, 0);
    1028         2175 :   if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    1029           15 :     return -1;
    1030              :   return 0;
    1031              : }
    1032              : 
    1033              : int
    1034          523 : pattern258 (rtx x1)
    1035              : {
    1036          523 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1037          523 :   rtx x2, x3, x4, x5;
    1038          523 :   int res ATTRIBUTE_UNUSED;
    1039          523 :   x2 = XEXP (x1, 1);
    1040          523 :   x3 = XEXP (x2, 0);
    1041          523 :   if (GET_MODE (x3) != E_V2QImode)
    1042              :     return -1;
    1043            0 :   x4 = XEXP (x1, 0);
    1044            0 :   operands[0] = x4;
    1045            0 :   if (!memory_operand (operands[0], E_HImode)
    1046            0 :       || GET_MODE (x2) != E_HImode)
    1047              :     return -1;
    1048            0 :   x5 = XEXP (x3, 0);
    1049            0 :   operands[1] = x5;
    1050            0 :   if (!register_operand (operands[1], E_V2DImode))
    1051              :     return -1;
    1052              :   return 0;
    1053              : }
    1054              : 
    1055              : int
    1056        38849 : pattern268 (rtx x1, int *pnum_clobbers)
    1057              : {
    1058        38849 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1059        38849 :   rtx x2, x3, x4, x5;
    1060        38849 :   int res ATTRIBUTE_UNUSED;
    1061        38849 :   x2 = XEXP (x1, 1);
    1062        38849 :   switch (GET_CODE (x2))
    1063              :     {
    1064         8772 :     case SUBREG:
    1065         8772 :       if (pnum_clobbers == NULL
    1066         8770 :           || maybe_ne (SUBREG_BYTE (x2), 0)
    1067        17542 :           || GET_MODE (x2) != E_QImode)
    1068              :         return -1;
    1069         8446 :       x3 = XEXP (x2, 0);
    1070         8446 :       switch (GET_CODE (x3))
    1071              :         {
    1072          931 :         case AND:
    1073          931 :           x4 = XEXP (x3, 0);
    1074          931 :           operands[2] = x4;
    1075          931 :           if (!int248_register_operand (operands[2], E_VOIDmode))
    1076              :             return -1;
    1077          758 :           return pattern267 (x1); /* [-1, 1] */
    1078              : 
    1079            0 :         case PLUS:
    1080            0 :           x4 = XEXP (x3, 0);
    1081            0 :           operands[2] = x4;
    1082            0 :           if (!int_nonimmediate_operand (operands[2], E_VOIDmode))
    1083              :             return -1;
    1084            0 :           res = pattern267 (x1);
    1085            0 :           if (res >= 0)
    1086            0 :             return res + 2; /* [2, 3] */
    1087              :           return -1;
    1088              : 
    1089            0 :         case MINUS:
    1090            0 :           x4 = XEXP (x3, 0);
    1091            0 :           operands[3] = x4;
    1092            0 :           if (!const_int_operand (operands[3], E_VOIDmode))
    1093              :             return -1;
    1094            0 :           x5 = XEXP (x3, 1);
    1095            0 :           operands[2] = x5;
    1096            0 :           if (!int_nonimmediate_operand (operands[2], E_VOIDmode))
    1097              :             return -1;
    1098            0 :           res = pattern0 (x1);
    1099            0 :           if (res >= 0)
    1100            0 :             return res + 4; /* [4, 5] */
    1101              :           return -1;
    1102              : 
    1103              :         default:
    1104              :           return -1;
    1105              :         }
    1106              : 
    1107              :     case CONST_INT:
    1108              :       return 6;
    1109              : 
    1110              :     default:
    1111              :       return -1;
    1112              :     }
    1113              : }
    1114              : 
    1115              : int
    1116      5691294 : pattern292 (rtx x1, machine_mode i1)
    1117              : {
    1118      5691294 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1119      5691294 :   rtx x2, x3, x4, x5;
    1120      5691294 :   int res ATTRIBUTE_UNUSED;
    1121      5691294 :   x2 = XEXP (x1, 1);
    1122      5691294 :   x3 = XEXP (x2, 1);
    1123      5691294 :   if (GET_CODE (x3) != SUBREG
    1124       437862 :       || maybe_ne (SUBREG_BYTE (x3), 0)
    1125      6129156 :       || GET_MODE (x3) != E_QImode)
    1126              :     return -1;
    1127       432759 :   x4 = XEXP (x3, 0);
    1128       432759 :   if (GET_CODE (x4) != AND)
    1129              :     return -1;
    1130        24391 :   x5 = XEXP (x1, 0);
    1131        24391 :   operands[0] = x5;
    1132        24391 :   return pattern291 (x2, 
    1133        24391 : i1); /* [-1, 0] */
    1134              : }
    1135              : 
    1136              : int
    1137          523 : pattern298 (rtx x1)
    1138              : {
    1139          523 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1140          523 :   rtx x2, x3;
    1141          523 :   int res ATTRIBUTE_UNUSED;
    1142          523 :   x2 = XEXP (x1, 0);
    1143          523 :   x3 = XEXP (x2, 0);
    1144          523 :   operands[1] = x3;
    1145          523 :   switch (GET_MODE (operands[0]))
    1146              :     {
    1147            2 :     case E_SImode:
    1148            2 :       return pattern296 (x1); /* [-1, 2] */
    1149              : 
    1150           14 :     case E_DImode:
    1151           14 :       res = pattern297 (x1);
    1152           14 :       if (res >= 0)
    1153            3 :         return res + 3; /* [3, 8] */
    1154              :       return -1;
    1155              : 
    1156              :     default:
    1157              :       return -1;
    1158              :     }
    1159              : }
    1160              : 
    1161              : int
    1162           56 : pattern304 (rtx x1)
    1163              : {
    1164           56 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1165           56 :   rtx x2;
    1166           56 :   int res ATTRIBUTE_UNUSED;
    1167           56 :   if (!register_operand (operands[0], E_SImode)
    1168           56 :       || GET_MODE (x1) != E_SImode)
    1169              :     return -1;
    1170           56 :   x2 = XVECEXP (x1, 0, 0);
    1171           56 :   switch (GET_MODE (x2))
    1172              :     {
    1173           28 :     case E_V32QImode:
    1174           28 :       if (!vector_operand (operands[1], E_V32QImode)
    1175           28 :           || !vector_operand (operands[2], E_V32QImode)
    1176           56 :           || !const0_operand (operands[3], E_V32QImode))
    1177           14 :         return -1;
    1178              :       return 0;
    1179              : 
    1180           28 :     case E_V32HImode:
    1181           28 :       if (!vector_operand (operands[1], E_V32HImode)
    1182           28 :           || !vector_operand (operands[2], E_V32HImode)
    1183           56 :           || !const0_operand (operands[3], E_V32HImode))
    1184           14 :         return -1;
    1185              :       return 1;
    1186              : 
    1187              :     default:
    1188              :       return -1;
    1189              :     }
    1190              : }
    1191              : 
    1192              : int
    1193          942 : pattern316 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
    1194              : {
    1195          942 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1196          942 :   rtx x2, x3, x4, x5, x6;
    1197          942 :   int res ATTRIBUTE_UNUSED;
    1198          942 :   if (!register_operand (operands[0], i1)
    1199          942 :       || GET_MODE (x1) != i1)
    1200              :     return -1;
    1201          882 :   x2 = XEXP (x1, 0);
    1202          882 :   if (GET_MODE (x2) != i1)
    1203              :     return -1;
    1204          882 :   x3 = XEXP (x2, 0);
    1205          882 :   if (GET_MODE (x3) != i1)
    1206              :     return -1;
    1207          882 :   x4 = XEXP (x3, 0);
    1208          882 :   if (GET_MODE (x4) != i3
    1209          882 :       || !nonimmediate_operand (operands[1], i2))
    1210           24 :     return -1;
    1211          858 :   x5 = XEXP (x2, 1);
    1212          858 :   if (GET_MODE (x5) != i1)
    1213              :     return -1;
    1214          858 :   x6 = XEXP (x5, 0);
    1215          858 :   if (GET_MODE (x6) != i3
    1216          858 :       || !nonimmediate_operand (operands[2], i2)
    1217         1692 :       || !nonimm_or_0_operand (operands[3], i1))
    1218           52 :     return -1;
    1219              :   return 0;
    1220              : }
    1221              : 
    1222              : int
    1223           61 : pattern324 (rtx x1)
    1224              : {
    1225           61 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1226           61 :   rtx x2;
    1227           61 :   int res ATTRIBUTE_UNUSED;
    1228           61 :   x2 = XVECEXP (x1, 0, 0);
    1229           61 :   operands[1] = x2;
    1230           61 :   switch (GET_MODE (operands[0]))
    1231              :     {
    1232           14 :     case E_V16SImode:
    1233           14 :       if (!register_operand (operands[0], E_V16SImode)
    1234           14 :           || GET_MODE (x1) != E_V16SImode
    1235           28 :           || !memory_operand (operands[1], E_V16SImode))
    1236            0 :         return -1;
    1237              :       return 0;
    1238              : 
    1239           14 :     case E_V8SImode:
    1240           14 :       if (!register_operand (operands[0], E_V8SImode)
    1241           14 :           || GET_MODE (x1) != E_V8SImode
    1242           28 :           || !memory_operand (operands[1], E_V8SImode))
    1243            0 :         return -1;
    1244              :       return 1;
    1245              : 
    1246           14 :     case E_V4SImode:
    1247           14 :       if (!register_operand (operands[0], E_V4SImode)
    1248           14 :           || GET_MODE (x1) != E_V4SImode
    1249           28 :           || !memory_operand (operands[1], E_V4SImode))
    1250            0 :         return -1;
    1251              :       return 2;
    1252              : 
    1253            0 :     case E_V8DImode:
    1254            0 :       if (!register_operand (operands[0], E_V8DImode)
    1255            0 :           || GET_MODE (x1) != E_V8DImode
    1256            0 :           || !memory_operand (operands[1], E_V8DImode))
    1257            0 :         return -1;
    1258              :       return 3;
    1259              : 
    1260            0 :     case E_V4DImode:
    1261            0 :       if (!register_operand (operands[0], E_V4DImode)
    1262            0 :           || GET_MODE (x1) != E_V4DImode
    1263            0 :           || !memory_operand (operands[1], E_V4DImode))
    1264            0 :         return -1;
    1265              :       return 4;
    1266              : 
    1267            0 :     case E_V2DImode:
    1268            0 :       if (!register_operand (operands[0], E_V2DImode)
    1269            0 :           || GET_MODE (x1) != E_V2DImode
    1270            0 :           || !memory_operand (operands[1], E_V2DImode))
    1271            0 :         return -1;
    1272              :       return 5;
    1273              : 
    1274            0 :     case E_V16SFmode:
    1275            0 :       if (!register_operand (operands[0], E_V16SFmode)
    1276            0 :           || GET_MODE (x1) != E_V16SFmode
    1277            0 :           || !memory_operand (operands[1], E_V16SFmode))
    1278            0 :         return -1;
    1279              :       return 6;
    1280              : 
    1281            0 :     case E_V8SFmode:
    1282            0 :       if (!register_operand (operands[0], E_V8SFmode)
    1283            0 :           || GET_MODE (x1) != E_V8SFmode
    1284            0 :           || !memory_operand (operands[1], E_V8SFmode))
    1285            0 :         return -1;
    1286              :       return 7;
    1287              : 
    1288            0 :     case E_V4SFmode:
    1289            0 :       if (!register_operand (operands[0], E_V4SFmode)
    1290            0 :           || GET_MODE (x1) != E_V4SFmode
    1291            0 :           || !memory_operand (operands[1], E_V4SFmode))
    1292            0 :         return -1;
    1293              :       return 8;
    1294              : 
    1295           19 :     case E_V8DFmode:
    1296           19 :       if (!register_operand (operands[0], E_V8DFmode)
    1297           19 :           || GET_MODE (x1) != E_V8DFmode
    1298           38 :           || !memory_operand (operands[1], E_V8DFmode))
    1299            0 :         return -1;
    1300              :       return 9;
    1301              : 
    1302            0 :     case E_V4DFmode:
    1303            0 :       if (!register_operand (operands[0], E_V4DFmode)
    1304            0 :           || GET_MODE (x1) != E_V4DFmode
    1305            0 :           || !memory_operand (operands[1], E_V4DFmode))
    1306            0 :         return -1;
    1307              :       return 10;
    1308              : 
    1309            0 :     case E_V2DFmode:
    1310            0 :       if (!register_operand (operands[0], E_V2DFmode)
    1311            0 :           || GET_MODE (x1) != E_V2DFmode
    1312            0 :           || !memory_operand (operands[1], E_V2DFmode))
    1313            0 :         return -1;
    1314              :       return 11;
    1315              : 
    1316            0 :     case E_V64QImode:
    1317            0 :       if (!register_operand (operands[0], E_V64QImode)
    1318            0 :           || GET_MODE (x1) != E_V64QImode
    1319            0 :           || !memory_operand (operands[1], E_V64QImode))
    1320            0 :         return -1;
    1321              :       return 12;
    1322              : 
    1323            0 :     case E_V16QImode:
    1324            0 :       if (!register_operand (operands[0], E_V16QImode)
    1325            0 :           || GET_MODE (x1) != E_V16QImode
    1326            0 :           || !memory_operand (operands[1], E_V16QImode))
    1327            0 :         return -1;
    1328              :       return 13;
    1329              : 
    1330            0 :     case E_V32QImode:
    1331            0 :       if (!register_operand (operands[0], E_V32QImode)
    1332            0 :           || GET_MODE (x1) != E_V32QImode
    1333            0 :           || !memory_operand (operands[1], E_V32QImode))
    1334            0 :         return -1;
    1335              :       return 14;
    1336              : 
    1337            0 :     case E_V32HImode:
    1338            0 :       if (!register_operand (operands[0], E_V32HImode)
    1339            0 :           || GET_MODE (x1) != E_V32HImode
    1340            0 :           || !memory_operand (operands[1], E_V32HImode))
    1341            0 :         return -1;
    1342              :       return 15;
    1343              : 
    1344            0 :     case E_V16HImode:
    1345            0 :       if (!register_operand (operands[0], E_V16HImode)
    1346            0 :           || GET_MODE (x1) != E_V16HImode
    1347            0 :           || !memory_operand (operands[1], E_V16HImode))
    1348            0 :         return -1;
    1349              :       return 16;
    1350              : 
    1351            0 :     case E_V8HImode:
    1352            0 :       if (!register_operand (operands[0], E_V8HImode)
    1353            0 :           || GET_MODE (x1) != E_V8HImode
    1354            0 :           || !memory_operand (operands[1], E_V8HImode))
    1355            0 :         return -1;
    1356              :       return 17;
    1357              : 
    1358            0 :     case E_V32HFmode:
    1359            0 :       if (!register_operand (operands[0], E_V32HFmode)
    1360            0 :           || GET_MODE (x1) != E_V32HFmode
    1361            0 :           || !memory_operand (operands[1], E_V32HFmode))
    1362            0 :         return -1;
    1363              :       return 18;
    1364              : 
    1365            0 :     case E_V16HFmode:
    1366            0 :       if (!register_operand (operands[0], E_V16HFmode)
    1367            0 :           || GET_MODE (x1) != E_V16HFmode
    1368            0 :           || !memory_operand (operands[1], E_V16HFmode))
    1369            0 :         return -1;
    1370              :       return 19;
    1371              : 
    1372            0 :     case E_V8HFmode:
    1373            0 :       if (!register_operand (operands[0], E_V8HFmode)
    1374            0 :           || GET_MODE (x1) != E_V8HFmode
    1375            0 :           || !memory_operand (operands[1], E_V8HFmode))
    1376            0 :         return -1;
    1377              :       return 20;
    1378              : 
    1379            0 :     case E_V32BFmode:
    1380            0 :       if (!register_operand (operands[0], E_V32BFmode)
    1381            0 :           || GET_MODE (x1) != E_V32BFmode
    1382            0 :           || !memory_operand (operands[1], E_V32BFmode))
    1383            0 :         return -1;
    1384              :       return 21;
    1385              : 
    1386            0 :     case E_V16BFmode:
    1387            0 :       if (!register_operand (operands[0], E_V16BFmode)
    1388            0 :           || GET_MODE (x1) != E_V16BFmode
    1389            0 :           || !memory_operand (operands[1], E_V16BFmode))
    1390            0 :         return -1;
    1391              :       return 22;
    1392              : 
    1393            0 :     case E_V8BFmode:
    1394            0 :       if (!register_operand (operands[0], E_V8BFmode)
    1395            0 :           || GET_MODE (x1) != E_V8BFmode
    1396            0 :           || !memory_operand (operands[1], E_V8BFmode))
    1397            0 :         return -1;
    1398              :       return 23;
    1399              : 
    1400              :     default:
    1401              :       return -1;
    1402              :     }
    1403              : }
    1404              : 
    1405              : int
    1406        22477 : pattern363 (rtx x1)
    1407              : {
    1408        22477 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1409        22477 :   rtx x2, x3, x4, x5, x6;
    1410        22477 :   int res ATTRIBUTE_UNUSED;
    1411        22477 :   x2 = XEXP (x1, 0);
    1412        22477 :   operands[0] = x2;
    1413        22477 :   x3 = XEXP (x1, 1);
    1414        22477 :   x4 = XEXP (x3, 0);
    1415        22477 :   x5 = XEXP (x4, 0);
    1416        22477 :   operands[2] = x5;
    1417        22477 :   if (!int_nonimmediate_operand (operands[2], E_VOIDmode))
    1418              :     return -1;
    1419         4320 :   x6 = XEXP (x3, 1);
    1420         4320 :   operands[1] = x6;
    1421         4320 :   switch (GET_MODE (operands[0]))
    1422              :     {
    1423           46 :     case E_QImode:
    1424           46 :       return pattern361 (x3, 
    1425           46 : E_QImode); /* [-1, 0] */
    1426              : 
    1427           17 :     case E_HImode:
    1428           17 :       if (pattern361 (x3, 
    1429              : E_HImode) != 0)
    1430              :         return -1;
    1431              :       return 1;
    1432              : 
    1433         2578 :     case E_SImode:
    1434         2578 :       if (pattern362 (x3, 
    1435              : E_SImode) != 0)
    1436              :         return -1;
    1437              :       return 2;
    1438              : 
    1439         1679 :     case E_DImode:
    1440         1679 :       if (pattern362 (x3, 
    1441              : E_DImode) != 0)
    1442              :         return -1;
    1443              :       return 3;
    1444              : 
    1445              :     default:
    1446              :       return -1;
    1447              :     }
    1448              : }
    1449              : 
    1450              : int
    1451          264 : pattern372 (rtx x1, machine_mode i1)
    1452              : {
    1453          264 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1454          264 :   rtx x2;
    1455          264 :   int res ATTRIBUTE_UNUSED;
    1456          264 :   if (!register_operand (operands[0], i1)
    1457          264 :       || GET_MODE (x1) != i1)
    1458              :     return -1;
    1459          230 :   x2 = XEXP (x1, 0);
    1460          230 :   if (GET_MODE (x2) != i1
    1461          230 :       || !register_operand (operands[3], i1))
    1462          182 :     return -1;
    1463              :   return 0;
    1464              : }
    1465              : 
    1466              : int
    1467       298140 : pattern375 (rtx x1)
    1468              : {
    1469       298140 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1470       298140 :   rtx x2;
    1471       298140 :   int res ATTRIBUTE_UNUSED;
    1472       298140 :   if (GET_CODE (x1) != CLOBBER)
    1473              :     return -1;
    1474       286306 :   x2 = XEXP (x1, 0);
    1475       286306 :   if (GET_CODE (x2) != REG
    1476       286306 :       || REGNO (x2) != 17
    1477       572612 :       || GET_MODE (x2) != E_CCmode)
    1478            0 :     return -1;
    1479              :   return 0;
    1480              : }
    1481              : 
    1482              : int
    1483          679 : pattern380 (rtx x1)
    1484              : {
    1485          679 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1486          679 :   rtx x2, x3, x4, x5, x6, x7, x8;
    1487          679 :   int res ATTRIBUTE_UNUSED;
    1488          679 :   x2 = XVECEXP (x1, 0, 0);
    1489          679 :   x3 = XEXP (x2, 0);
    1490          679 :   operands[0] = x3;
    1491          679 :   x4 = XEXP (x2, 1);
    1492          679 :   x5 = XEXP (x4, 0);
    1493          679 :   x6 = XEXP (x5, 0);
    1494          679 :   operands[1] = x6;
    1495          679 :   x7 = XVECEXP (x1, 0, 1);
    1496          679 :   switch (GET_CODE (x7))
    1497              :     {
    1498          482 :     case CLOBBER:
    1499          482 :       x8 = XEXP (x7, 0);
    1500          482 :       if (GET_CODE (x8) != REG
    1501          482 :           || REGNO (x8) != 17
    1502          961 :           || GET_MODE (x8) != E_CCmode)
    1503              :         return -1;
    1504          479 :       switch (GET_MODE (operands[0]))
    1505              :         {
    1506           16 :         case E_DImode:
    1507           16 :           return pattern379 (x4, 
    1508           16 : E_DImode); /* [-1, 0] */
    1509              : 
    1510            0 :         case E_TImode:
    1511            0 :           if (pattern379 (x4, 
    1512              : E_TImode) != 0)
    1513              :             return -1;
    1514              :           return 1;
    1515              : 
    1516            0 :         case E_QImode:
    1517            0 :           if (pattern379 (x4, 
    1518              : E_QImode) != 0)
    1519              :             return -1;
    1520              :           return 2;
    1521              : 
    1522            0 :         case E_HImode:
    1523            0 :           if (pattern379 (x4, 
    1524              : E_HImode) != 0)
    1525              :             return -1;
    1526              :           return 3;
    1527              : 
    1528          190 :         case E_SImode:
    1529          190 :           if (pattern379 (x4, 
    1530              : E_SImode) != 0)
    1531              :             return -1;
    1532              :           return 4;
    1533              : 
    1534              :         default:
    1535              :           return -1;
    1536              :         }
    1537              : 
    1538            5 :     case USE:
    1539            5 :       x8 = XEXP (x7, 0);
    1540            5 :       operands[2] = x8;
    1541            5 :       return 5;
    1542              : 
    1543              :     default:
    1544              :       return -1;
    1545              :     }
    1546              : }
    1547              : 
    1548              : int
    1549       129956 : pattern397 (rtx x1, int i1)
    1550              : {
    1551       129956 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1552       129956 :   rtx x2;
    1553       129956 :   int res ATTRIBUTE_UNUSED;
    1554       129956 :   if (XINT (x1, 1) != i1
    1555          275 :       || GET_MODE (x1) != E_SImode)
    1556              :     return -1;
    1557          275 :   x2 = XVECEXP (x1, 0, 1);
    1558          275 :   if (GET_CODE (x2) != REG
    1559          267 :       || REGNO (x2) != 20
    1560          518 :       || GET_MODE (x2) != E_V2DImode)
    1561           32 :     return -1;
    1562              :   return 0;
    1563              : }
    1564              : 
    1565              : int
    1566            0 : pattern403 (rtx x1)
    1567              : {
    1568            0 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1569            0 :   rtx x2, x3, x4;
    1570            0 :   int res ATTRIBUTE_UNUSED;
    1571            0 :   x2 = XEXP (x1, 1);
    1572            0 :   x3 = XEXP (x2, 0);
    1573            0 :   x4 = XEXP (x3, 0);
    1574            0 :   operands[2] = x4;
    1575            0 :   switch (GET_MODE (operands[0]))
    1576              :     {
    1577            0 :     case E_DImode:
    1578            0 :       return pattern402 (x1, 
    1579              : E_SImode, 
    1580            0 : E_DImode); /* [-1, 0] */
    1581              : 
    1582            0 :     case E_TImode:
    1583            0 :       if (pattern402 (x1, 
    1584              : E_DImode, 
    1585              : E_TImode) != 0)
    1586              :         return -1;
    1587              :       return 1;
    1588              : 
    1589              :     default:
    1590              :       return -1;
    1591              :     }
    1592              : }
    1593              : 
    1594              : int
    1595           18 : pattern413 (rtx x1, machine_mode i1, machine_mode i2)
    1596              : {
    1597           18 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1598           18 :   rtx x2, x3, x4, x5, x6, x7;
    1599           18 :   int res ATTRIBUTE_UNUSED;
    1600           18 :   x2 = XEXP (x1, 0);
    1601           18 :   x3 = XEXP (x2, 0);
    1602           18 :   x4 = XEXP (x3, 1);
    1603           18 :   x5 = XVECEXP (x4, 0, 0);
    1604           18 :   if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    1605              :     return -1;
    1606           18 :   x6 = XVECEXP (x4, 0, 1);
    1607           18 :   if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
    1608           18 :       || !register_operand (operands[0], E_V2DImode)
    1609           12 :       || GET_MODE (x1) != E_V2DImode
    1610           12 :       || GET_MODE (x2) != E_V2DImode
    1611           30 :       || GET_MODE (x3) != i2)
    1612            6 :     return -1;
    1613           12 :   x7 = XEXP (x3, 0);
    1614           12 :   if (GET_MODE (x7) != i1
    1615           12 :       || !nonimm_or_0_operand (operands[2], E_V2DImode))
    1616            0 :     return -1;
    1617              :   return 0;
    1618              : }
    1619              : 
    1620              : int
    1621        26333 : pattern417 (rtx x1, machine_mode i1)
    1622              : {
    1623        26333 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1624        26333 :   int res ATTRIBUTE_UNUSED;
    1625        26333 :   if (!register_operand (operands[0], i1)
    1626        26333 :       || GET_MODE (x1) != i1)
    1627              :     return -1;
    1628        26333 :   switch (GET_MODE (operands[1]))
    1629              :     {
    1630         7287 :     case E_SFmode:
    1631         7287 :       if (!memory_operand (operands[1], E_SFmode))
    1632              :         return -1;
    1633              :       return 0;
    1634              : 
    1635        19029 :     case E_DFmode:
    1636        19029 :       if (!memory_operand (operands[1], E_DFmode))
    1637              :         return -1;
    1638              :       return 1;
    1639              : 
    1640              :     default:
    1641              :       return -1;
    1642              :     }
    1643              : }
    1644              : 
    1645              : int
    1646         3895 : pattern424 (rtx x1)
    1647              : {
    1648         3895 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1649         3895 :   rtx x2, x3, x4;
    1650         3895 :   int res ATTRIBUTE_UNUSED;
    1651         3895 :   if (GET_CODE (x1) != ZERO_EXTRACT)
    1652              :     return -1;
    1653         2415 :   x2 = XEXP (x1, 1);
    1654         2415 :   if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
    1655              :     return -1;
    1656          368 :   x3 = XEXP (x1, 2);
    1657          368 :   if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
    1658              :     return -1;
    1659          368 :   x4 = XEXP (x1, 0);
    1660          368 :   operands[0] = x4;
    1661          368 :   if (!int248_register_operand (operands[0], E_VOIDmode))
    1662              :     return -1;
    1663              :   return 0;
    1664              : }
    1665              : 
    1666              : int
    1667      2148519 : pattern431 (rtx x1)
    1668              : {
    1669      2148519 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1670      2148519 :   rtx x2, x3, x4, x5;
    1671      2148519 :   int res ATTRIBUTE_UNUSED;
    1672      2148519 :   x2 = XEXP (x1, 0);
    1673      2148519 :   x3 = XEXP (x2, 0);
    1674      2148519 :   operands[1] = x3;
    1675      2148519 :   x4 = XEXP (x2, 1);
    1676      2148519 :   operands[2] = x4;
    1677      2148519 :   x5 = XEXP (x1, 1);
    1678      2148519 :   operands[3] = x5;
    1679      2148519 :   switch (GET_MODE (operands[0]))
    1680              :     {
    1681         2596 :     case E_QImode:
    1682         2596 :       return pattern430 (x1, 
    1683         2596 : E_QImode); /* [-1, 0] */
    1684              : 
    1685         2958 :     case E_HImode:
    1686         2958 :       if (pattern430 (x1, 
    1687              : E_HImode) != 0)
    1688              :         return -1;
    1689              :       return 1;
    1690              : 
    1691              :     default:
    1692              :       return -1;
    1693              :     }
    1694              : }
    1695              : 
    1696              : int
    1697         9240 : pattern438 (rtx x1, int *pnum_clobbers)
    1698              : {
    1699         9240 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1700         9240 :   rtx x2, x3, x4, x5, x6;
    1701         9240 :   int res ATTRIBUTE_UNUSED;
    1702         9240 :   if (pnum_clobbers == NULL)
    1703              :     return -1;
    1704         9240 :   x2 = XEXP (x1, 1);
    1705         9240 :   x3 = XEXP (x2, 1);
    1706         9240 :   x4 = XEXP (x3, 1);
    1707         9240 :   if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    1708              :     return -1;
    1709         7603 :   x5 = XEXP (x1, 0);
    1710         7603 :   operands[0] = x5;
    1711         7603 :   x6 = XEXP (x3, 0);
    1712         7603 :   operands[2] = x6;
    1713         7603 :   if (!int_nonimmediate_operand (operands[2], E_VOIDmode))
    1714              :     return -1;
    1715         3825 :   switch (GET_MODE (operands[0]))
    1716              :     {
    1717          114 :     case E_QImode:
    1718          114 :       return pattern437 (x2, 
    1719          114 : E_QImode); /* [-1, 0] */
    1720              : 
    1721            3 :     case E_HImode:
    1722            3 :       if (pattern437 (x2, 
    1723              : E_HImode) != 0)
    1724              :         return -1;
    1725              :       return 1;
    1726              : 
    1727              :     default:
    1728              :       return -1;
    1729              :     }
    1730              : }
    1731              : 
    1732              : int
    1733       115633 : pattern451 (rtx x1, machine_mode i1)
    1734              : {
    1735       115633 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1736       115633 :   rtx x2, x3, x4, x5, x6, x7;
    1737       115633 :   int res ATTRIBUTE_UNUSED;
    1738       115633 :   x2 = XEXP (x1, 1);
    1739       115633 :   x3 = XEXP (x2, 1);
    1740       115633 :   if (maybe_ne (SUBREG_BYTE (x3), 0)
    1741       115633 :       || GET_MODE (x3) != E_QImode)
    1742              :     return -1;
    1743       113669 :   x4 = XEXP (x1, 0);
    1744       113669 :   operands[0] = x4;
    1745       113669 :   if (!nonimmediate_operand (operands[0], i1)
    1746        51604 :       || GET_MODE (x2) != i1
    1747       165273 :       || !nonimmediate_operand (operands[1], i1))
    1748       103311 :     return -1;
    1749        10358 :   x5 = XEXP (x3, 0);
    1750        10358 :   switch (GET_CODE (x5))
    1751              :     {
    1752         2346 :     case AND:
    1753         2346 :       x6 = XEXP (x5, 0);
    1754         2346 :       operands[2] = x6;
    1755         2346 :       if (!int248_register_operand (operands[2], E_VOIDmode))
    1756              :         return -1;
    1757          611 :       x7 = XEXP (x5, 1);
    1758          611 :       operands[3] = x7;
    1759          611 :       if (!const_int_operand (operands[3], E_VOIDmode))
    1760              :         return -1;
    1761              :       return 0;
    1762              : 
    1763            0 :     case PLUS:
    1764            0 :       x6 = XEXP (x5, 0);
    1765            0 :       operands[2] = x6;
    1766            0 :       if (!int248_register_operand (operands[2], E_VOIDmode))
    1767              :         return -1;
    1768            0 :       x7 = XEXP (x5, 1);
    1769            0 :       operands[3] = x7;
    1770            0 :       if (!const_int_operand (operands[3], E_VOIDmode))
    1771              :         return -1;
    1772              :       return 1;
    1773              : 
    1774            0 :     case MINUS:
    1775            0 :       x6 = XEXP (x5, 0);
    1776            0 :       operands[3] = x6;
    1777            0 :       if (!const_int_operand (operands[3], E_VOIDmode))
    1778              :         return -1;
    1779            0 :       x7 = XEXP (x5, 1);
    1780            0 :       operands[2] = x7;
    1781            0 :       if (!int248_register_operand (operands[2], E_VOIDmode))
    1782              :         return -1;
    1783              :       return 2;
    1784              : 
    1785              :     default:
    1786              :       return -1;
    1787              :     }
    1788              : }
    1789              : 
    1790              : int
    1791         2084 : pattern468 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3, machine_mode i4)
    1792              : {
    1793         2084 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1794         2084 :   rtx x2;
    1795         2084 :   int res ATTRIBUTE_UNUSED;
    1796         2084 :   if (!register_operand (operands[0], i2)
    1797         2084 :       || GET_MODE (x1) != i2)
    1798              :     return -1;
    1799         2028 :   x2 = XEXP (x1, 0);
    1800         2028 :   if (GET_MODE (x2) != i2
    1801         2028 :       || !register_operand (operands[1], i4)
    1802         2028 :       || !nonimmediate_operand (operands[2], i3)
    1803         2028 :       || !nonimm_or_0_operand (operands[3], i2)
    1804         4000 :       || !register_operand (operands[4], i1))
    1805          144 :     return -1;
    1806              :   return 0;
    1807              : }
    1808              : 
    1809              : int
    1810         1988 : pattern476 (rtx x1, machine_mode i1)
    1811              : {
    1812         1988 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1813         1988 :   rtx x2, x3, x4, x5, x6, x7;
    1814         1988 :   int res ATTRIBUTE_UNUSED;
    1815         1988 :   x2 = XEXP (x1, 0);
    1816         1988 :   x3 = XVECEXP (x2, 0, 0);
    1817         1988 :   operands[1] = x3;
    1818         1988 :   x4 = XVECEXP (x2, 0, 1);
    1819         1988 :   operands[2] = x4;
    1820         1988 :   x5 = XVECEXP (x2, 0, 2);
    1821         1988 :   operands[3] = x5;
    1822         1988 :   if (!const_0_to_255_operand (operands[3], i1))
    1823              :     return -1;
    1824         1988 :   x6 = XEXP (x1, 1);
    1825         1988 :   operands[4] = x6;
    1826         1988 :   x7 = XEXP (x1, 2);
    1827         1988 :   operands[5] = x7;
    1828         1988 :   switch (GET_MODE (operands[0]))
    1829              :     {
    1830          684 :     case E_V64QImode:
    1831          684 :       return pattern475 (x1, 
    1832              : E_V64QImode, 
    1833          684 : E_DImode); /* [-1, 0] */
    1834              : 
    1835          669 :     case E_V32QImode:
    1836          669 :       if (pattern475 (x1, 
    1837              : E_V32QImode, 
    1838              : E_SImode) != 0)
    1839              :         return -1;
    1840              :       return 1;
    1841              : 
    1842          635 :     case E_V16QImode:
    1843          635 :       if (pattern475 (x1, 
    1844              : E_V16QImode, 
    1845              : E_HImode) != 0)
    1846              :         return -1;
    1847              :       return 2;
    1848              : 
    1849              :     default:
    1850              :       return -1;
    1851              :     }
    1852              : }
    1853              : 
    1854              : int
    1855         3840 : pattern485 (rtx x1)
    1856              : {
    1857         3840 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1858         3840 :   rtx x2, x3, x4, x5, x6, x7;
    1859         3840 :   int res ATTRIBUTE_UNUSED;
    1860         3840 :   x2 = XEXP (x1, 0);
    1861         3840 :   x3 = XVECEXP (x2, 0, 0);
    1862         3840 :   operands[1] = x3;
    1863         3840 :   x4 = XVECEXP (x2, 0, 1);
    1864         3840 :   operands[2] = x4;
    1865         3840 :   x5 = XVECEXP (x2, 0, 2);
    1866         3840 :   operands[3] = x5;
    1867         3840 :   x6 = XEXP (x1, 1);
    1868         3840 :   switch (GET_CODE (x6))
    1869              :     {
    1870         1900 :     case REG:
    1871         1900 :     case SUBREG:
    1872         1900 :       if (!rtx_equal_p (x6, operands[1]))
    1873              :         return -1;
    1874         1900 :       x7 = XEXP (x1, 2);
    1875         1900 :       operands[4] = x7;
    1876         1900 :       switch (GET_MODE (operands[0]))
    1877              :         {
    1878          216 :         case E_V32HImode:
    1879          216 :           return pattern482 (x1, 
    1880              : E_V32HImode, 
    1881          216 : E_SImode); /* [-1, 0] */
    1882              : 
    1883          210 :         case E_V16SImode:
    1884          210 :           if (pattern482 (x1, 
    1885              : E_V16SImode, 
    1886              : E_HImode) != 0)
    1887              :             return -1;
    1888              :           return 1;
    1889              : 
    1890          216 :         case E_V8DImode:
    1891          216 :           if (pattern482 (x1, 
    1892              : E_V8DImode, 
    1893              : E_QImode) != 0)
    1894              :             return -1;
    1895              :           return 2;
    1896              : 
    1897          216 :         case E_V16HImode:
    1898          216 :           if (pattern482 (x1, 
    1899              : E_V16HImode, 
    1900              : E_HImode) != 0)
    1901              :             return -1;
    1902              :           return 3;
    1903              : 
    1904          210 :         case E_V8SImode:
    1905          210 :           if (pattern482 (x1, 
    1906              : E_V8SImode, 
    1907              : E_QImode) != 0)
    1908              :             return -1;
    1909              :           return 4;
    1910              : 
    1911          216 :         case E_V4DImode:
    1912          216 :           if (pattern482 (x1, 
    1913              : E_V4DImode, 
    1914              : E_QImode) != 0)
    1915              :             return -1;
    1916              :           return 5;
    1917              : 
    1918          210 :         case E_V8HImode:
    1919          210 :           if (pattern482 (x1, 
    1920              : E_V8HImode, 
    1921              : E_QImode) != 0)
    1922              :             return -1;
    1923              :           return 6;
    1924              : 
    1925          200 :         case E_V4SImode:
    1926          200 :           if (pattern482 (x1, 
    1927              : E_V4SImode, 
    1928              : E_QImode) != 0)
    1929              :             return -1;
    1930              :           return 7;
    1931              : 
    1932          206 :         case E_V2DImode:
    1933          206 :           if (pattern482 (x1, 
    1934              : E_V2DImode, 
    1935              : E_QImode) != 0)
    1936              :             return -1;
    1937              :           return 8;
    1938              : 
    1939              :         default:
    1940              :           return -1;
    1941              :         }
    1942              : 
    1943         1908 :     case CONST_INT:
    1944         1908 :     case CONST_DOUBLE:
    1945         1908 :     case CONST_VECTOR:
    1946         1908 :       operands[4] = x6;
    1947         1908 :       x7 = XEXP (x1, 2);
    1948         1908 :       operands[5] = x7;
    1949         1908 :       switch (GET_MODE (operands[0]))
    1950              :         {
    1951          216 :         case E_V32HImode:
    1952          216 :           if (pattern484 (x1, 
    1953              : E_V32HImode, 
    1954              : E_SImode) != 0)
    1955              :             return -1;
    1956              :           return 9;
    1957              : 
    1958          214 :         case E_V16SImode:
    1959          214 :           if (pattern484 (x1, 
    1960              : E_V16SImode, 
    1961              : E_HImode) != 0)
    1962              :             return -1;
    1963              :           return 10;
    1964              : 
    1965          220 :         case E_V8DImode:
    1966          220 :           if (pattern484 (x1, 
    1967              : E_V8DImode, 
    1968              : E_QImode) != 0)
    1969              :             return -1;
    1970              :           return 11;
    1971              : 
    1972          214 :         case E_V16HImode:
    1973          214 :           if (pattern484 (x1, 
    1974              : E_V16HImode, 
    1975              : E_HImode) != 0)
    1976              :             return -1;
    1977              :           return 12;
    1978              : 
    1979          212 :         case E_V8SImode:
    1980          212 :           if (pattern484 (x1, 
    1981              : E_V8SImode, 
    1982              : E_QImode) != 0)
    1983              :             return -1;
    1984              :           return 13;
    1985              : 
    1986          218 :         case E_V4DImode:
    1987          218 :           if (pattern484 (x1, 
    1988              : E_V4DImode, 
    1989              : E_QImode) != 0)
    1990              :             return -1;
    1991              :           return 14;
    1992              : 
    1993          206 :         case E_V8HImode:
    1994          206 :           if (pattern484 (x1, 
    1995              : E_V8HImode, 
    1996              : E_QImode) != 0)
    1997              :             return -1;
    1998              :           return 15;
    1999              : 
    2000          202 :         case E_V4SImode:
    2001          202 :           if (pattern484 (x1, 
    2002              : E_V4SImode, 
    2003              : E_QImode) != 0)
    2004              :             return -1;
    2005              :           return 16;
    2006              : 
    2007          206 :         case E_V2DImode:
    2008          206 :           if (pattern484 (x1, 
    2009              : E_V2DImode, 
    2010              : E_QImode) != 0)
    2011              :             return -1;
    2012              :           return 17;
    2013              : 
    2014              :         default:
    2015              :           return -1;
    2016              :         }
    2017              : 
    2018              :     default:
    2019              :       return -1;
    2020              :     }
    2021              : }
    2022              : 
    2023              : int
    2024         5935 : pattern511 (rtx x1)
    2025              : {
    2026         5935 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2027         5935 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    2028         5935 :   rtx x10, x11, x12, x13, x14, x15, x16, x17;
    2029         5935 :   rtx x18, x19, x20, x21, x22, x23, x24, x25;
    2030         5935 :   rtx x26, x27, x28, x29, x30, x31, x32, x33;
    2031         5935 :   rtx x34, x35, x36, x37, x38, x39;
    2032         5935 :   int res ATTRIBUTE_UNUSED;
    2033         5935 :   x2 = XEXP (x1, 1);
    2034         5935 :   if (GET_CODE (x2) != CONST_VECTOR)
    2035              :     return -1;
    2036         5935 :   x3 = XEXP (x1, 0);
    2037         5935 :   x4 = XEXP (x3, 0);
    2038         5935 :   x5 = XEXP (x4, 0);
    2039         5935 :   operands[1] = x5;
    2040         5935 :   x6 = XEXP (x3, 1);
    2041         5935 :   switch (GET_CODE (x6))
    2042              :     {
    2043         4114 :     case VEC_SELECT:
    2044         4114 :       x7 = XEXP (x6, 1);
    2045         4114 :       if (GET_CODE (x7) != PARALLEL)
    2046              :         return -1;
    2047         4114 :       x8 = XEXP (x6, 0);
    2048         4114 :       operands[2] = x8;
    2049         4114 :       x9 = XEXP (x3, 2);
    2050         4114 :       operands[3] = x9;
    2051         4114 :       switch (XVECLEN (x7, 0))
    2052              :         {
    2053         1228 :         case 2:
    2054         1228 :           x10 = XVECEXP (x7, 0, 0);
    2055         1228 :           if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2056              :             return -1;
    2057         1228 :           x11 = XVECEXP (x7, 0, 1);
    2058         1228 :           if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
    2059         1228 :               || !register_operand (operands[1], E_V2DImode))
    2060            0 :             return -1;
    2061         1228 :           switch (XVECLEN (x2, 0))
    2062              :             {
    2063          411 :             case 14:
    2064          411 :               if (GET_MODE (x2) != E_V14QImode)
    2065              :                 return -1;
    2066          411 :               x12 = XVECEXP (x2, 0, 0);
    2067          411 :               if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2068              :                 return -1;
    2069          411 :               x13 = XVECEXP (x2, 0, 1);
    2070          411 :               if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2071              :                 return -1;
    2072          411 :               x14 = XVECEXP (x2, 0, 2);
    2073          411 :               if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2074              :                 return -1;
    2075          411 :               x15 = XVECEXP (x2, 0, 3);
    2076          411 :               if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2077              :                 return -1;
    2078          411 :               x16 = XVECEXP (x2, 0, 4);
    2079          411 :               if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2080              :                 return -1;
    2081          411 :               x17 = XVECEXP (x2, 0, 5);
    2082          411 :               if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2083              :                 return -1;
    2084          411 :               x18 = XVECEXP (x2, 0, 6);
    2085          411 :               if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2086              :                 return -1;
    2087          411 :               x19 = XVECEXP (x2, 0, 7);
    2088          411 :               if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2089              :                 return -1;
    2090          411 :               x20 = XVECEXP (x2, 0, 8);
    2091          411 :               if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2092              :                 return -1;
    2093          411 :               x21 = XVECEXP (x2, 0, 9);
    2094          411 :               if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2095              :                 return -1;
    2096          411 :               x22 = XVECEXP (x2, 0, 10);
    2097          411 :               if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2098              :                 return -1;
    2099          411 :               x23 = XVECEXP (x2, 0, 11);
    2100          411 :               if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2101              :                 return -1;
    2102          411 :               x24 = XVECEXP (x2, 0, 12);
    2103          411 :               if (x24 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2104              :                 return -1;
    2105          411 :               x25 = XVECEXP (x2, 0, 13);
    2106          411 :               if (x25 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
    2107          411 :                   || pattern506 (x1, 
    2108              : E_V16QImode, 
    2109              : E_V2QImode) != 0)
    2110           11 :                 return -1;
    2111              :               return 0;
    2112              : 
    2113          424 :             case 6:
    2114          424 :               if (GET_MODE (x2) != E_V6HImode)
    2115              :                 return -1;
    2116          424 :               x12 = XVECEXP (x2, 0, 0);
    2117          424 :               if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2118              :                 return -1;
    2119          424 :               x13 = XVECEXP (x2, 0, 1);
    2120          424 :               if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2121              :                 return -1;
    2122          424 :               x14 = XVECEXP (x2, 0, 2);
    2123          424 :               if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2124              :                 return -1;
    2125          424 :               x15 = XVECEXP (x2, 0, 3);
    2126          424 :               if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2127              :                 return -1;
    2128          424 :               x16 = XVECEXP (x2, 0, 4);
    2129          424 :               if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2130              :                 return -1;
    2131          424 :               x17 = XVECEXP (x2, 0, 5);
    2132          424 :               if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
    2133          424 :                   || pattern506 (x1, 
    2134              : E_V8HImode, 
    2135              : E_V2HImode) != 0)
    2136           23 :                 return -1;
    2137              :               return 1;
    2138              : 
    2139          393 :             case 2:
    2140          393 :               if (GET_MODE (x2) != E_V2SImode)
    2141              :                 return -1;
    2142          393 :               x12 = XVECEXP (x2, 0, 0);
    2143          393 :               if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2144              :                 return -1;
    2145          393 :               x13 = XVECEXP (x2, 0, 1);
    2146          393 :               if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
    2147          393 :                   || pattern506 (x1, 
    2148              : E_V4SImode, 
    2149              : E_V2SImode) != 0)
    2150            3 :                 return -1;
    2151              :               return 2;
    2152              : 
    2153              :             default:
    2154              :               return -1;
    2155              :             }
    2156              : 
    2157         1662 :         case 4:
    2158         1662 :           x10 = XVECEXP (x7, 0, 0);
    2159         1662 :           if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2160              :             return -1;
    2161         1662 :           x11 = XVECEXP (x7, 0, 1);
    2162         1662 :           if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    2163              :             return -1;
    2164         1662 :           x26 = XVECEXP (x7, 0, 2);
    2165         1662 :           if (x26 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
    2166              :             return -1;
    2167         1662 :           x27 = XVECEXP (x7, 0, 3);
    2168         1662 :           if (x27 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
    2169              :             return -1;
    2170         1662 :           switch (XVECLEN (x2, 0))
    2171              :             {
    2172          828 :             case 12:
    2173          828 :               if (GET_MODE (x2) != E_V12QImode)
    2174              :                 return -1;
    2175          828 :               x12 = XVECEXP (x2, 0, 0);
    2176          828 :               if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2177              :                 return -1;
    2178          828 :               x13 = XVECEXP (x2, 0, 1);
    2179          828 :               if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2180              :                 return -1;
    2181          828 :               x14 = XVECEXP (x2, 0, 2);
    2182          828 :               if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2183              :                 return -1;
    2184          828 :               x15 = XVECEXP (x2, 0, 3);
    2185          828 :               if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2186              :                 return -1;
    2187          828 :               x16 = XVECEXP (x2, 0, 4);
    2188          828 :               if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2189              :                 return -1;
    2190          828 :               x17 = XVECEXP (x2, 0, 5);
    2191          828 :               if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2192              :                 return -1;
    2193          828 :               x18 = XVECEXP (x2, 0, 6);
    2194          828 :               if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2195              :                 return -1;
    2196          828 :               x19 = XVECEXP (x2, 0, 7);
    2197          828 :               if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2198              :                 return -1;
    2199          828 :               x20 = XVECEXP (x2, 0, 8);
    2200          828 :               if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2201              :                 return -1;
    2202          828 :               x21 = XVECEXP (x2, 0, 9);
    2203          828 :               if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2204              :                 return -1;
    2205          828 :               x22 = XVECEXP (x2, 0, 10);
    2206          828 :               if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2207              :                 return -1;
    2208          828 :               x23 = XVECEXP (x2, 0, 11);
    2209          828 :               if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2210              :                 return -1;
    2211          828 :               res = pattern507 (x1, 
    2212              : E_V16QImode, 
    2213              : E_V4QImode);
    2214          828 :               if (res >= 0)
    2215          805 :                 return res + 3; /* [3, 4] */
    2216              :               return -1;
    2217              : 
    2218          834 :             case 4:
    2219          834 :               if (GET_MODE (x2) != E_V4HImode)
    2220              :                 return -1;
    2221          834 :               x12 = XVECEXP (x2, 0, 0);
    2222          834 :               if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2223              :                 return -1;
    2224          834 :               x13 = XVECEXP (x2, 0, 1);
    2225          834 :               if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2226              :                 return -1;
    2227          834 :               x14 = XVECEXP (x2, 0, 2);
    2228          834 :               if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2229              :                 return -1;
    2230          834 :               x15 = XVECEXP (x2, 0, 3);
    2231          834 :               if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2232              :                 return -1;
    2233          834 :               res = pattern507 (x1, 
    2234              : E_V8HImode, 
    2235              : E_V4HImode);
    2236          834 :               if (res >= 0)
    2237          823 :                 return res + 5; /* [5, 6] */
    2238              :               return -1;
    2239              : 
    2240              :             default:
    2241              :               return -1;
    2242              :             }
    2243              : 
    2244         1224 :         case 8:
    2245         1224 :           x10 = XVECEXP (x7, 0, 0);
    2246         1224 :           if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2247              :             return -1;
    2248         1224 :           x11 = XVECEXP (x7, 0, 1);
    2249         1224 :           if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    2250              :             return -1;
    2251         1224 :           x26 = XVECEXP (x7, 0, 2);
    2252         1224 :           if (x26 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
    2253              :             return -1;
    2254         1224 :           x27 = XVECEXP (x7, 0, 3);
    2255         1224 :           if (x27 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
    2256              :             return -1;
    2257         1224 :           x28 = XVECEXP (x7, 0, 4);
    2258         1224 :           if (x28 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
    2259              :             return -1;
    2260         1224 :           x29 = XVECEXP (x7, 0, 5);
    2261         1224 :           if (x29 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
    2262              :             return -1;
    2263         1224 :           x30 = XVECEXP (x7, 0, 6);
    2264         1224 :           if (x30 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
    2265              :             return -1;
    2266         1224 :           x31 = XVECEXP (x7, 0, 7);
    2267         1224 :           if (x31 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
    2268         1224 :               || XVECLEN (x2, 0) != 8
    2269         1224 :               || GET_MODE (x2) != E_V8QImode)
    2270              :             return -1;
    2271         1224 :           x12 = XVECEXP (x2, 0, 0);
    2272         1224 :           if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2273              :             return -1;
    2274         1224 :           x13 = XVECEXP (x2, 0, 1);
    2275         1224 :           if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2276              :             return -1;
    2277         1224 :           x14 = XVECEXP (x2, 0, 2);
    2278         1224 :           if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2279              :             return -1;
    2280         1224 :           x15 = XVECEXP (x2, 0, 3);
    2281         1224 :           if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2282              :             return -1;
    2283         1224 :           x16 = XVECEXP (x2, 0, 4);
    2284         1224 :           if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2285              :             return -1;
    2286         1224 :           x17 = XVECEXP (x2, 0, 5);
    2287         1224 :           if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2288              :             return -1;
    2289         1224 :           x18 = XVECEXP (x2, 0, 6);
    2290         1224 :           if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2291              :             return -1;
    2292         1224 :           x19 = XVECEXP (x2, 0, 7);
    2293         1224 :           if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
    2294         1224 :               || !register_operand (operands[0], E_V16QImode)
    2295         1206 :               || GET_MODE (x1) != E_V16QImode
    2296         1206 :               || GET_MODE (x3) != E_V8QImode
    2297         1206 :               || GET_MODE (x4) != E_V8QImode
    2298         1206 :               || GET_MODE (x6) != E_V8QImode
    2299         2430 :               || !nonimm_or_0_operand (operands[2], E_V16QImode))
    2300           18 :             return -1;
    2301         1206 :           res = pattern508 ();
    2302         1206 :           if (res >= 0)
    2303         1206 :             return res + 7; /* [7, 9] */
    2304              :           return -1;
    2305              : 
    2306              :         default:
    2307              :           return -1;
    2308              :         }
    2309              : 
    2310         1821 :     case CONST_VECTOR:
    2311         1821 :       x9 = XEXP (x3, 2);
    2312         1821 :       operands[2] = x9;
    2313         1821 :       switch (XVECLEN (x6, 0))
    2314              :         {
    2315          555 :         case 2:
    2316          555 :           x32 = XVECEXP (x6, 0, 0);
    2317          555 :           if (x32 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2318              :             return -1;
    2319          540 :           x33 = XVECEXP (x6, 0, 1);
    2320          540 :           if (x33 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
    2321          540 :               || !register_operand (operands[1], E_V2DImode))
    2322            0 :             return -1;
    2323          540 :           switch (XVECLEN (x2, 0))
    2324              :             {
    2325          180 :             case 14:
    2326          180 :               if (GET_MODE (x2) != E_V14QImode)
    2327              :                 return -1;
    2328          180 :               x12 = XVECEXP (x2, 0, 0);
    2329          180 :               if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2330              :                 return -1;
    2331          180 :               x13 = XVECEXP (x2, 0, 1);
    2332          180 :               if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2333              :                 return -1;
    2334          180 :               x14 = XVECEXP (x2, 0, 2);
    2335          180 :               if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2336              :                 return -1;
    2337          180 :               x15 = XVECEXP (x2, 0, 3);
    2338          180 :               if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2339              :                 return -1;
    2340          180 :               x16 = XVECEXP (x2, 0, 4);
    2341          180 :               if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2342              :                 return -1;
    2343          180 :               x17 = XVECEXP (x2, 0, 5);
    2344          180 :               if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2345              :                 return -1;
    2346          180 :               x18 = XVECEXP (x2, 0, 6);
    2347          180 :               if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2348              :                 return -1;
    2349          180 :               x19 = XVECEXP (x2, 0, 7);
    2350          180 :               if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2351              :                 return -1;
    2352          180 :               x20 = XVECEXP (x2, 0, 8);
    2353          180 :               if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2354              :                 return -1;
    2355          180 :               x21 = XVECEXP (x2, 0, 9);
    2356          180 :               if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2357              :                 return -1;
    2358          180 :               x22 = XVECEXP (x2, 0, 10);
    2359          180 :               if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2360              :                 return -1;
    2361          180 :               x23 = XVECEXP (x2, 0, 11);
    2362          180 :               if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2363              :                 return -1;
    2364          180 :               x24 = XVECEXP (x2, 0, 12);
    2365          180 :               if (x24 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2366              :                 return -1;
    2367          180 :               x25 = XVECEXP (x2, 0, 13);
    2368          180 :               if (x25 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
    2369          180 :                   || pattern509 (x1, 
    2370              : E_V2QImode, 
    2371              : E_V16QImode) != 0)
    2372            0 :                 return -1;
    2373              :               return 10;
    2374              : 
    2375          180 :             case 6:
    2376          180 :               if (GET_MODE (x2) != E_V6HImode)
    2377              :                 return -1;
    2378          180 :               x12 = XVECEXP (x2, 0, 0);
    2379          180 :               if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2380              :                 return -1;
    2381          180 :               x13 = XVECEXP (x2, 0, 1);
    2382          180 :               if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2383              :                 return -1;
    2384          180 :               x14 = XVECEXP (x2, 0, 2);
    2385          180 :               if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2386              :                 return -1;
    2387          180 :               x15 = XVECEXP (x2, 0, 3);
    2388          180 :               if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2389              :                 return -1;
    2390          180 :               x16 = XVECEXP (x2, 0, 4);
    2391          180 :               if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2392              :                 return -1;
    2393          180 :               x17 = XVECEXP (x2, 0, 5);
    2394          180 :               if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
    2395          180 :                   || pattern509 (x1, 
    2396              : E_V2HImode, 
    2397              : E_V8HImode) != 0)
    2398            0 :                 return -1;
    2399              :               return 11;
    2400              : 
    2401          180 :             case 2:
    2402          180 :               if (GET_MODE (x2) != E_V2SImode)
    2403              :                 return -1;
    2404          180 :               x12 = XVECEXP (x2, 0, 0);
    2405          180 :               if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2406              :                 return -1;
    2407          180 :               x13 = XVECEXP (x2, 0, 1);
    2408          180 :               if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
    2409          180 :                   || pattern509 (x1, 
    2410              : E_V2SImode, 
    2411              : E_V4SImode) != 0)
    2412            0 :                 return -1;
    2413              :               return 12;
    2414              : 
    2415              :             default:
    2416              :               return -1;
    2417              :             }
    2418              : 
    2419          726 :         case 4:
    2420          726 :           x32 = XVECEXP (x6, 0, 0);
    2421          726 :           if (x32 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2422              :             return -1;
    2423          720 :           x33 = XVECEXP (x6, 0, 1);
    2424          720 :           if (x33 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2425              :             return -1;
    2426          720 :           x34 = XVECEXP (x6, 0, 2);
    2427          720 :           if (x34 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2428              :             return -1;
    2429          720 :           x35 = XVECEXP (x6, 0, 3);
    2430          720 :           if (x35 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2431              :             return -1;
    2432          720 :           switch (XVECLEN (x2, 0))
    2433              :             {
    2434          360 :             case 12:
    2435          360 :               if (GET_MODE (x2) != E_V12QImode)
    2436              :                 return -1;
    2437          360 :               x12 = XVECEXP (x2, 0, 0);
    2438          360 :               if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2439              :                 return -1;
    2440          360 :               x13 = XVECEXP (x2, 0, 1);
    2441          360 :               if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2442              :                 return -1;
    2443          360 :               x14 = XVECEXP (x2, 0, 2);
    2444          360 :               if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2445              :                 return -1;
    2446          360 :               x15 = XVECEXP (x2, 0, 3);
    2447          360 :               if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2448              :                 return -1;
    2449          360 :               x16 = XVECEXP (x2, 0, 4);
    2450          360 :               if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2451              :                 return -1;
    2452          360 :               x17 = XVECEXP (x2, 0, 5);
    2453          360 :               if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2454              :                 return -1;
    2455          360 :               x18 = XVECEXP (x2, 0, 6);
    2456          360 :               if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2457              :                 return -1;
    2458          360 :               x19 = XVECEXP (x2, 0, 7);
    2459          360 :               if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2460              :                 return -1;
    2461          360 :               x20 = XVECEXP (x2, 0, 8);
    2462          360 :               if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2463              :                 return -1;
    2464          360 :               x21 = XVECEXP (x2, 0, 9);
    2465          360 :               if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2466              :                 return -1;
    2467          360 :               x22 = XVECEXP (x2, 0, 10);
    2468          360 :               if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2469              :                 return -1;
    2470          360 :               x23 = XVECEXP (x2, 0, 11);
    2471          360 :               if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2472              :                 return -1;
    2473          360 :               res = pattern510 (x1, 
    2474              : E_V4QImode, 
    2475              : E_V16QImode);
    2476          360 :               if (res >= 0)
    2477          360 :                 return res + 13; /* [13, 14] */
    2478              :               return -1;
    2479              : 
    2480          360 :             case 4:
    2481          360 :               if (GET_MODE (x2) != E_V4HImode)
    2482              :                 return -1;
    2483          360 :               x12 = XVECEXP (x2, 0, 0);
    2484          360 :               if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2485              :                 return -1;
    2486          360 :               x13 = XVECEXP (x2, 0, 1);
    2487          360 :               if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2488              :                 return -1;
    2489          360 :               x14 = XVECEXP (x2, 0, 2);
    2490          360 :               if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2491              :                 return -1;
    2492          360 :               x15 = XVECEXP (x2, 0, 3);
    2493          360 :               if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2494              :                 return -1;
    2495          360 :               res = pattern510 (x1, 
    2496              : E_V4HImode, 
    2497              : E_V8HImode);
    2498          360 :               if (res >= 0)
    2499          360 :                 return res + 15; /* [15, 16] */
    2500              :               return -1;
    2501              : 
    2502              :             default:
    2503              :               return -1;
    2504              :             }
    2505              : 
    2506          540 :         case 8:
    2507          540 :           if (GET_MODE (x6) != E_V8QImode)
    2508              :             return -1;
    2509          540 :           x32 = XVECEXP (x6, 0, 0);
    2510          540 :           if (x32 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2511              :             return -1;
    2512          540 :           x33 = XVECEXP (x6, 0, 1);
    2513          540 :           if (x33 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2514              :             return -1;
    2515          540 :           x34 = XVECEXP (x6, 0, 2);
    2516          540 :           if (x34 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2517              :             return -1;
    2518          540 :           x35 = XVECEXP (x6, 0, 3);
    2519          540 :           if (x35 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2520              :             return -1;
    2521          540 :           x36 = XVECEXP (x6, 0, 4);
    2522          540 :           if (x36 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2523              :             return -1;
    2524          540 :           x37 = XVECEXP (x6, 0, 5);
    2525          540 :           if (x37 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2526              :             return -1;
    2527          540 :           x38 = XVECEXP (x6, 0, 6);
    2528          540 :           if (x38 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2529              :             return -1;
    2530          540 :           x39 = XVECEXP (x6, 0, 7);
    2531          540 :           if (x39 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
    2532          540 :               || XVECLEN (x2, 0) != 8
    2533          540 :               || GET_MODE (x2) != E_V8QImode)
    2534              :             return -1;
    2535          540 :           x12 = XVECEXP (x2, 0, 0);
    2536          540 :           if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2537              :             return -1;
    2538          540 :           x13 = XVECEXP (x2, 0, 1);
    2539          540 :           if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2540              :             return -1;
    2541          540 :           x14 = XVECEXP (x2, 0, 2);
    2542          540 :           if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2543              :             return -1;
    2544          540 :           x15 = XVECEXP (x2, 0, 3);
    2545          540 :           if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2546              :             return -1;
    2547          540 :           x16 = XVECEXP (x2, 0, 4);
    2548          540 :           if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2549              :             return -1;
    2550          540 :           x17 = XVECEXP (x2, 0, 5);
    2551          540 :           if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2552              :             return -1;
    2553          540 :           x18 = XVECEXP (x2, 0, 6);
    2554          540 :           if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2555              :             return -1;
    2556          540 :           x19 = XVECEXP (x2, 0, 7);
    2557          540 :           if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
    2558          540 :               || !register_operand (operands[0], E_V16QImode)
    2559          540 :               || GET_MODE (x1) != E_V16QImode
    2560          540 :               || GET_MODE (x3) != E_V8QImode
    2561         1080 :               || GET_MODE (x4) != E_V8QImode)
    2562            0 :             return -1;
    2563          540 :           res = pattern508 ();
    2564          540 :           if (res >= 0)
    2565          540 :             return res + 17; /* [17, 19] */
    2566              :           return -1;
    2567              : 
    2568              :         default:
    2569              :           return -1;
    2570              :         }
    2571              : 
    2572              :     default:
    2573              :       return -1;
    2574              :     }
    2575              : }
    2576              : 
    2577              : int
    2578        43892 : pattern728 (rtx x1, rtx_code i1)
    2579              : {
    2580        43892 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2581        43892 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    2582        43892 :   rtx x10, x11, x12, x13, x14, x15, x16, x17;
    2583        43892 :   rtx x18;
    2584        43892 :   int res ATTRIBUTE_UNUSED;
    2585        43892 :   x2 = XVECEXP (x1, 0, 0);
    2586        43892 :   x3 = XEXP (x2, 1);
    2587        43892 :   x4 = XEXP (x3, 0);
    2588        43892 :   x5 = XEXP (x4, 0);
    2589        43892 :   if (GET_CODE (x5) != SIGN_EXTEND)
    2590              :     return -1;
    2591        37730 :   x6 = XEXP (x3, 1);
    2592        37730 :   if (GET_CODE (x6) != SIGN_EXTEND)
    2593              :     return -1;
    2594        37730 :   x7 = XEXP (x6, 0);
    2595        37730 :   if (GET_CODE (x7) != i1)
    2596              :     return -1;
    2597        37730 :   x8 = XEXP (x2, 0);
    2598        37730 :   if (GET_CODE (x8) != REG
    2599        37730 :       || REGNO (x8) != 17
    2600        75460 :       || GET_MODE (x8) != E_CCOmode)
    2601              :     return -1;
    2602        37730 :   x9 = XVECEXP (x1, 0, 1);
    2603        37730 :   if (GET_CODE (x9) != SET)
    2604              :     return -1;
    2605        37730 :   x10 = XEXP (x9, 1);
    2606        37730 :   if (GET_CODE (x10) != i1
    2607        37730 :       || GET_MODE (x3) != E_CCOmode)
    2608              :     return -1;
    2609        37730 :   x11 = XEXP (x5, 0);
    2610        37730 :   operands[1] = x11;
    2611        37730 :   x12 = XEXP (x9, 0);
    2612        37730 :   operands[0] = x12;
    2613        37730 :   x13 = XEXP (x7, 0);
    2614        37730 :   if (!rtx_equal_p (x13, operands[1]))
    2615              :     return -1;
    2616        37729 :   x14 = XEXP (x10, 0);
    2617        37729 :   if (!rtx_equal_p (x14, operands[1]))
    2618              :     return -1;
    2619        37728 :   x15 = XEXP (x4, 1);
    2620        37728 :   switch (GET_CODE (x15))
    2621              :     {
    2622        26080 :     case SIGN_EXTEND:
    2623        26080 :       x16 = XEXP (x15, 0);
    2624        26080 :       operands[2] = x16;
    2625        26080 :       x17 = XEXP (x7, 1);
    2626        26080 :       if (!rtx_equal_p (x17, operands[2]))
    2627              :         return -1;
    2628        26080 :       x18 = XEXP (x10, 1);
    2629        26080 :       if (!rtx_equal_p (x18, operands[2]))
    2630              :         return -1;
    2631        26080 :       switch (GET_MODE (x4))
    2632              :         {
    2633        11969 :         case E_TImode:
    2634        11969 :           return pattern726 (x1, 
    2635              : E_DImode, 
    2636        11969 : E_TImode); /* [-1, 0] */
    2637              : 
    2638         3488 :         case E_POImode:
    2639         3488 :           if (pattern726 (x1, 
    2640              : E_TImode, 
    2641              : E_POImode) != 0)
    2642              :             return -1;
    2643              :           return 1;
    2644              : 
    2645              :         default:
    2646              :           return -1;
    2647              :         }
    2648              : 
    2649        11648 :     case CONST_INT:
    2650        11648 :     case CONST_WIDE_INT:
    2651        11648 :       operands[3] = x15;
    2652        11648 :       x17 = XEXP (x7, 1);
    2653        11648 :       operands[2] = x17;
    2654        11648 :       x18 = XEXP (x10, 1);
    2655        11648 :       if (!rtx_equal_p (x18, operands[2]))
    2656              :         return -1;
    2657        11648 :       switch (GET_MODE (x4))
    2658              :         {
    2659         3735 :         case E_TImode:
    2660         3735 :           if (pattern727 (x1, 
    2661              : E_DImode, 
    2662              : E_TImode) != 0)
    2663              :             return -1;
    2664              :           return 2;
    2665              : 
    2666         1007 :         case E_POImode:
    2667         1007 :           if (pattern727 (x1, 
    2668              : E_TImode, 
    2669              : E_POImode) != 0)
    2670              :             return -1;
    2671              :           return 3;
    2672              : 
    2673              :         default:
    2674              :           return -1;
    2675              :         }
    2676              : 
    2677              :     default:
    2678              :       return -1;
    2679              :     }
    2680              : }
    2681              : 
    2682              : int
    2683         5533 : pattern758 (rtx x1, machine_mode i1)
    2684              : {
    2685         5533 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2686         5533 :   rtx x2;
    2687         5533 :   int res ATTRIBUTE_UNUSED;
    2688         5533 :   if (!register_operand (operands[0], i1)
    2689         5533 :       || GET_MODE (x1) != i1)
    2690              :     return -1;
    2691         4025 :   x2 = XEXP (x1, 0);
    2692         4025 :   if (GET_MODE (x2) != i1
    2693         4025 :       || !register_operand (operands[1], i1))
    2694         3818 :     return -1;
    2695              :   return 0;
    2696              : }
    2697              : 
    2698              : int
    2699        10479 : pattern762 (rtx x1, machine_mode i1)
    2700              : {
    2701        10479 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2702        10479 :   rtx x2;
    2703        10479 :   int res ATTRIBUTE_UNUSED;
    2704        10479 :   if (!register_operand (operands[0], i1)
    2705        10479 :       || GET_MODE (x1) != i1)
    2706              :     return -1;
    2707         9727 :   x2 = XEXP (x1, 0);
    2708         9727 :   if (GET_MODE (x2) != i1
    2709         9727 :       || !nonimmediate_operand (operands[1], i1))
    2710         3453 :     return -1;
    2711              :   return 0;
    2712              : }
    2713              : 
    2714              : int
    2715            0 : pattern770 (rtx x1, machine_mode i1, machine_mode i2)
    2716              : {
    2717            0 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2718            0 :   int res ATTRIBUTE_UNUSED;
    2719            0 :   if (!vector_all_ones_operand (operands[3], i1)
    2720            0 :       || !const0_operand (operands[4], i1)
    2721            0 :       || GET_MODE (x1) != i2
    2722            0 :       || !register_operand (operands[1], i1)
    2723            0 :       || !const0_operand (operands[2], i1))
    2724            0 :     return -1;
    2725              :   return 0;
    2726              : }
    2727              : 
    2728              : int
    2729          176 : pattern775 (rtx x1)
    2730              : {
    2731          176 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2732          176 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    2733          176 :   rtx x10;
    2734          176 :   int res ATTRIBUTE_UNUSED;
    2735          176 :   x2 = XEXP (x1, 0);
    2736          176 :   x3 = XEXP (x2, 0);
    2737          176 :   if (GET_MODE (x3) != E_V8HFmode)
    2738              :     return -1;
    2739          176 :   x4 = XEXP (x2, 2);
    2740          176 :   if (GET_CODE (x4) != UNSPEC
    2741          176 :       || XVECLEN (x4, 0) != 1
    2742          176 :       || XINT (x4, 1) != 224
    2743          176 :       || GET_MODE (x4) != E_QImode)
    2744              :     return -1;
    2745          176 :   x5 = XEXP (x1, 2);
    2746          176 :   if (XWINT (x5, 0) != 3L
    2747          176 :       || !register_operand (operands[0], E_V8HFmode)
    2748          148 :       || GET_MODE (x1) != E_V8HFmode
    2749          324 :       || GET_MODE (x2) != E_V8HFmode)
    2750           28 :     return -1;
    2751          148 :   x6 = XVECEXP (x3, 0, 0);
    2752          148 :   operands[1] = x6;
    2753          148 :   if (!nonimmediate_operand (operands[1], E_V8HFmode))
    2754              :     return -1;
    2755          148 :   x7 = XVECEXP (x3, 0, 1);
    2756          148 :   operands[2] = x7;
    2757          148 :   if (!vector_operand (operands[2], E_V8HFmode))
    2758              :     return -1;
    2759          148 :   x8 = XEXP (x2, 1);
    2760          148 :   operands[3] = x8;
    2761          148 :   if (!nonimm_or_0_operand (operands[3], E_V8HFmode))
    2762              :     return -1;
    2763          148 :   x9 = XVECEXP (x4, 0, 0);
    2764          148 :   operands[4] = x9;
    2765          148 :   if (!register_operand (operands[4], E_QImode))
    2766              :     return -1;
    2767          132 :   x10 = XEXP (x1, 1);
    2768          132 :   if (!rtx_equal_p (x10, operands[1]))
    2769              :     return -1;
    2770              :   return 0;
    2771              : }
    2772              : 
    2773              : int
    2774         2688 : pattern791 (rtx x1, machine_mode i1)
    2775              : {
    2776         2688 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2777         2688 :   int res ATTRIBUTE_UNUSED;
    2778         2688 :   if (!register_operand (operands[0], i1)
    2779         2676 :       || GET_MODE (x1) != i1
    2780         2676 :       || !register_operand (operands[2], i1)
    2781         4757 :       || !memory_operand (operands[1], i1))
    2782          753 :     return -1;
    2783              :   return 0;
    2784              : }
    2785              : 
    2786              : int
    2787        52572 : pattern800 (rtx x1, machine_mode i1, machine_mode i2)
    2788              : {
    2789        52572 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2790        52572 :   rtx x2;
    2791        52572 :   int res ATTRIBUTE_UNUSED;
    2792        52572 :   if (!register_operand (operands[0], i2)
    2793        51454 :       || GET_MODE (x1) != i2
    2794       104026 :       || !nonimmediate_operand (operands[1], i1))
    2795         6075 :     return -1;
    2796        46497 :   x2 = XEXP (x1, 1);
    2797        46497 :   if (!rtx_equal_p (x2, operands[1]))
    2798              :     return -1;
    2799              :   return 0;
    2800              : }
    2801              : 
    2802              : int
    2803        44509 : pattern807 (rtx x1, machine_mode i1, machine_mode i2)
    2804              : {
    2805        44509 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2806        44509 :   rtx x2;
    2807        44509 :   int res ATTRIBUTE_UNUSED;
    2808        44509 :   if (!register_operand (operands[0], i1)
    2809        44509 :       || GET_MODE (x1) != i1)
    2810              :     return -1;
    2811        44508 :   x2 = XEXP (x1, 0);
    2812        44508 :   if (GET_MODE (x2) != i2
    2813        44508 :       || !vector_operand (operands[1], i1)
    2814        44462 :       || !const0_operand (operands[2], i1)
    2815        88864 :       || !pmovzx_parallel (operands[3], E_VOIDmode))
    2816        21497 :     return -1;
    2817              :   return 0;
    2818              : }
    2819              : 
    2820              : int
    2821         5370 : pattern816 (rtx x1, machine_mode i1, machine_mode i2)
    2822              : {
    2823         5370 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2824         5370 :   rtx x2, x3, x4, x5;
    2825         5370 :   int res ATTRIBUTE_UNUSED;
    2826         5370 :   if (!register_operand (operands[0], i1)
    2827         5370 :       || GET_MODE (x1) != i1)
    2828              :     return -1;
    2829         5354 :   x2 = XEXP (x1, 0);
    2830         5354 :   if (GET_MODE (x2) != i2)
    2831              :     return -1;
    2832         5354 :   x3 = XEXP (x2, 0);
    2833         5354 :   if (GET_MODE (x3) != i2)
    2834              :     return -1;
    2835         5354 :   x4 = XEXP (x3, 0);
    2836         5354 :   if (GET_MODE (x4) != i2
    2837         5354 :       || !vector_operand (operands[1], i1))
    2838          396 :     return -1;
    2839         4958 :   x5 = XEXP (x3, 1);
    2840         4958 :   if (GET_MODE (x5) != i2
    2841         4958 :       || !vector_operand (operands[2], i1))
    2842          417 :     return -1;
    2843              :   return 0;
    2844              : }
    2845              : 
    2846              : int
    2847      8696350 : pattern822 (rtx x1)
    2848              : {
    2849      8696350 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2850      8696350 :   rtx x2, x3, x4, x5;
    2851      8696350 :   int res ATTRIBUTE_UNUSED;
    2852      8696350 :   if (!nonmemory_operand (operands[2], E_QImode))
    2853              :     return -1;
    2854      8655665 :   x2 = XVECEXP (x1, 0, 1);
    2855      8655665 :   if (GET_CODE (x2) != CLOBBER)
    2856              :     return -1;
    2857      8223205 :   x3 = XEXP (x2, 0);
    2858      8223205 :   if (GET_CODE (x3) != REG
    2859      8223205 :       || REGNO (x3) != 17
    2860     16446410 :       || GET_MODE (x3) != E_CCmode)
    2861              :     return -1;
    2862      8223205 :   x4 = XVECEXP (x1, 0, 0);
    2863      8223205 :   x5 = XEXP (x4, 0);
    2864      8223205 :   switch (GET_CODE (x5))
    2865              :     {
    2866              :     case REG:
    2867              :     case SUBREG:
    2868              :     case MEM:
    2869              :       return 0;
    2870              : 
    2871           96 :     case STRICT_LOW_PART:
    2872           96 :       return 1;
    2873              : 
    2874              :     default:
    2875              :       return -1;
    2876              :     }
    2877              : }
    2878              : 
    2879              : int
    2880        28684 : pattern828 (rtx x1)
    2881              : {
    2882        28684 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2883        28684 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    2884        28684 :   rtx x10, x11, x12, x13, x14, x15, x16, x17;
    2885        28684 :   int res ATTRIBUTE_UNUSED;
    2886        28684 :   x2 = XVECEXP (x1, 0, 0);
    2887        28684 :   x3 = XEXP (x2, 1);
    2888        28684 :   x4 = XEXP (x3, 0);
    2889        28684 :   x5 = XEXP (x4, 0);
    2890        28684 :   if (maybe_ne (SUBREG_BYTE (x5), 0)
    2891        28684 :       || GET_MODE (x5) != E_QImode)
    2892              :     return -1;
    2893         6404 :   x6 = XEXP (x5, 0);
    2894         6404 :   switch (GET_CODE (x6))
    2895              :     {
    2896         4629 :     case ASHIFTRT:
    2897         4629 :     case LSHIFTRT:
    2898         4629 :     case SIGN_EXTRACT:
    2899         4629 :     case ZERO_EXTRACT:
    2900         4629 :       operands[3] = x6;
    2901         4629 :       x7 = XVECEXP (x1, 0, 1);
    2902         4629 :       if (GET_CODE (x7) != SET)
    2903              :         return -1;
    2904         4605 :       x8 = XEXP (x7, 1);
    2905         4605 :       if (GET_CODE (x8) != SUBREG
    2906         4605 :           || maybe_ne (SUBREG_BYTE (x8), 0))
    2907              :         return -1;
    2908          836 :       x9 = XEXP (x8, 0);
    2909          836 :       if (GET_CODE (x9) != AND
    2910          836 :           || GET_MODE (x9) != E_QImode)
    2911              :         return -1;
    2912          836 :       x10 = XEXP (x9, 0);
    2913          836 :       if (GET_CODE (x10) != SUBREG
    2914          836 :           || maybe_ne (SUBREG_BYTE (x10), 0)
    2915         1672 :           || GET_MODE (x10) != E_QImode)
    2916              :         return -1;
    2917          836 :       x11 = XEXP (x10, 0);
    2918          836 :       if (GET_CODE (x11) != ZERO_EXTRACT)
    2919              :         return -1;
    2920          836 :       x12 = XEXP (x11, 1);
    2921          836 :       if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
    2922              :         return -1;
    2923          836 :       x13 = XEXP (x11, 2);
    2924          836 :       if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
    2925              :         return -1;
    2926          836 :       x14 = XEXP (x7, 0);
    2927          836 :       if (GET_CODE (x14) != ZERO_EXTRACT)
    2928              :         return -1;
    2929          836 :       x15 = XEXP (x14, 1);
    2930          836 :       if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
    2931              :         return -1;
    2932          836 :       x16 = XEXP (x14, 2);
    2933          836 :       if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
    2934              :         return -1;
    2935          836 :       x17 = XEXP (x2, 0);
    2936          836 :       operands[4] = x17;
    2937          836 :       if (!flags_reg_operand (operands[4], E_VOIDmode))
    2938              :         return -1;
    2939          836 :       operands[5] = x3;
    2940          836 :       if (!compare_operator (operands[5], E_VOIDmode)
    2941          836 :           || GET_MODE (x4) != E_QImode)
    2942              :         return -1;
    2943          836 :       return pattern589 (x1); /* [-1, 2] */
    2944              : 
    2945              :     default:
    2946              :       return -1;
    2947              :     }
    2948              : }
    2949              : 
    2950              : int
    2951      4284983 : pattern852 (rtx x1, machine_mode i1)
    2952              : {
    2953      4284983 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2954      4284983 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    2955      4284983 :   rtx x10, x11, x12, x13, x14, x15, x16, x17;
    2956      4284983 :   rtx x18, x19;
    2957      4284983 :   int res ATTRIBUTE_UNUSED;
    2958      4284983 :   if (peep2_current_count < 4
    2959      4284983 :       || peep2_current_count < 5)
    2960              :     return -1;
    2961      2426438 :   x2 = XEXP (x1, 0);
    2962      2426438 :   operands[3] = x2;
    2963      2426438 :   if (!register_operand (operands[3], i1))
    2964              :     return -1;
    2965      1189040 :   x3 = XEXP (x1, 1);
    2966      1189040 :   if (!rtx_equal_p (x3, operands[0]))
    2967              :     return -1;
    2968        57687 :   x4 = PATTERN (peep2_next_insn (2));
    2969        57687 :   if (GET_CODE (x4) != PARALLEL
    2970        36558 :       || XVECLEN (x4, 0) != 2)
    2971              :     return -1;
    2972        36465 :   x5 = XVECEXP (x4, 0, 0);
    2973        36465 :   if (GET_CODE (x5) != SET)
    2974              :     return -1;
    2975        36434 :   x6 = XEXP (x5, 1);
    2976        36434 :   if (GET_CODE (x6) != XOR
    2977          284 :       || GET_MODE (x6) != i1)
    2978              :     return -1;
    2979          284 :   x7 = XVECEXP (x4, 0, 1);
    2980          284 :   if (GET_CODE (x7) != CLOBBER)
    2981              :     return -1;
    2982          284 :   x8 = XEXP (x7, 0);
    2983          284 :   if (GET_CODE (x8) != REG
    2984          284 :       || REGNO (x8) != 17
    2985          568 :       || GET_MODE (x8) != E_CCmode)
    2986              :     return -1;
    2987          284 :   x9 = XEXP (x5, 0);
    2988          284 :   operands[4] = x9;
    2989          284 :   if (!register_operand (operands[4], i1))
    2990              :     return -1;
    2991          284 :   x10 = XEXP (x6, 1);
    2992          284 :   operands[2] = x10;
    2993          284 :   if (!x86_64_nonmemory_operand (operands[2], i1))
    2994              :     return -1;
    2995          137 :   x11 = XEXP (x6, 0);
    2996          137 :   if (!rtx_equal_p (x11, operands[4]))
    2997              :     return -1;
    2998          128 :   x12 = PATTERN (peep2_next_insn (3));
    2999          128 :   if (GET_CODE (x12) != SET)
    3000              :     return -1;
    3001           41 :   x13 = XEXP (x12, 1);
    3002           41 :   if (!rtx_equal_p (x13, operands[4]))
    3003              :     return -1;
    3004           34 :   x14 = XEXP (x12, 0);
    3005           34 :   if (!rtx_equal_p (x14, operands[1]))
    3006              :     return -1;
    3007           23 :   x15 = PATTERN (peep2_next_insn (4));
    3008           23 :   if (GET_CODE (x15) != SET)
    3009              :     return -1;
    3010           23 :   x16 = XEXP (x15, 1);
    3011           23 :   if (GET_CODE (x16) != COMPARE
    3012           17 :       || GET_MODE (x16) != E_CCZmode)
    3013              :     return -1;
    3014           17 :   x17 = XEXP (x15, 0);
    3015           17 :   if (GET_CODE (x17) != REG
    3016           17 :       || REGNO (x17) != 17
    3017           34 :       || GET_MODE (x17) != E_CCZmode)
    3018              :     return -1;
    3019           17 :   x18 = XEXP (x16, 0);
    3020           17 :   operands[5] = x18;
    3021           17 :   if (!register_operand (operands[5], i1))
    3022              :     return -1;
    3023           17 :   x19 = XEXP (x16, 1);
    3024           17 :   operands[6] = x19;
    3025           17 :   if (!x86_64_nonmemory_operand (operands[6], i1))
    3026              :     return -1;
    3027              :   return 0;
    3028              : }
    3029              : 
    3030              : int
    3031         5829 : pattern872 (rtx x1, machine_mode i1)
    3032              : {
    3033         5829 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3034         5829 :   int res ATTRIBUTE_UNUSED;
    3035         5829 :   if (!register_operand (operands[0], i1)
    3036         5224 :       || GET_MODE (x1) != i1
    3037         5224 :       || !register_operand (operands[2], i1)
    3038        10548 :       || !register_operand (operands[1], i1))
    3039         1564 :     return -1;
    3040              :   return 0;
    3041              : }
    3042              : 
    3043              : int
    3044         2267 : pattern879 ()
    3045              : {
    3046         2267 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3047         2267 :   int res ATTRIBUTE_UNUSED;
    3048         2267 :   switch (GET_MODE (operands[1]))
    3049              :     {
    3050         1131 :     case E_V32QImode:
    3051         1131 :       if (!register_operand (operands[1], E_V32QImode)
    3052         1131 :           || !nonimmediate_operand (operands[2], E_V32QImode))
    3053            0 :         return -1;
    3054              :       return 0;
    3055              : 
    3056         1136 :     case E_V32HImode:
    3057         1136 :       if (!register_operand (operands[1], E_V32HImode)
    3058         1136 :           || !nonimmediate_operand (operands[2], E_V32HImode))
    3059            0 :         return -1;
    3060              :       return 1;
    3061              : 
    3062              :     default:
    3063              :       return -1;
    3064              :     }
    3065              : }
    3066              : 
    3067              : int
    3068         1014 : pattern888 (rtx x1, machine_mode i1)
    3069              : {
    3070         1014 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3071         1014 :   rtx x2, x3;
    3072         1014 :   int res ATTRIBUTE_UNUSED;
    3073         1014 :   if (!register_operand (operands[0], i1)
    3074         1014 :       || GET_MODE (x1) != i1)
    3075              :     return -1;
    3076          982 :   x2 = XVECEXP (x1, 0, 0);
    3077          982 :   if (GET_MODE (x2) != i1)
    3078              :     return -1;
    3079          982 :   x3 = XVECEXP (x2, 0, 0);
    3080          982 :   switch (GET_MODE (x3))
    3081              :     {
    3082          492 :     case E_DFmode:
    3083          492 :       if (!register_operand (operands[1], E_V2DFmode))
    3084              :         return -1;
    3085              :       return 0;
    3086              : 
    3087          490 :     case E_SFmode:
    3088          490 :       if (!register_operand (operands[1], E_V4SFmode))
    3089              :         return -1;
    3090              :       return 1;
    3091              : 
    3092              :     default:
    3093              :       return -1;
    3094              :     }
    3095              : }
    3096              : 
    3097              : int
    3098         1511 : pattern897 (rtx x1, machine_mode i1, machine_mode i2)
    3099              : {
    3100         1511 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3101         1511 :   rtx x2, x3, x4;
    3102         1511 :   int res ATTRIBUTE_UNUSED;
    3103         1511 :   if (!register_operand (operands[0], i1)
    3104         1511 :       || GET_MODE (x1) != i1)
    3105              :     return -1;
    3106         1140 :   x2 = XEXP (x1, 0);
    3107         1140 :   if (GET_MODE (x2) != i1)
    3108              :     return -1;
    3109         1140 :   x3 = XEXP (x2, 0);
    3110         1140 :   operands[1] = x3;
    3111         1140 :   if (!nonimmediate_operand (operands[1], i2))
    3112              :     return -1;
    3113          811 :   x4 = XEXP (x1, 1);
    3114          811 :   operands[2] = x4;
    3115          811 :   if (!reg_or_0_operand (operands[2], i1))
    3116              :     return -1;
    3117              :   return 0;
    3118              : }
    3119              : 
    3120              : int
    3121          388 : pattern908 (rtx x1, int i1, machine_mode i2)
    3122              : {
    3123          388 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3124          388 :   rtx x2, x3;
    3125          388 :   int res ATTRIBUTE_UNUSED;
    3126          388 :   if (GET_CODE (x1) != VEC_SELECT
    3127          388 :       || GET_MODE (x1) != i2)
    3128              :     return -1;
    3129          388 :   x2 = XEXP (x1, 1);
    3130          388 :   if (GET_CODE (x2) != PARALLEL
    3131          388 :       || XVECLEN (x2, 0) != i1)
    3132              :     return -1;
    3133          388 :   x3 = XVECEXP (x2, 0, 0);
    3134          388 :   if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    3135            0 :     return -1;
    3136              :   return 0;
    3137              : }
    3138              : 
    3139              : int
    3140         2096 : pattern911 (rtx x1, machine_mode i1, machine_mode i2)
    3141              : {
    3142         2096 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3143         2096 :   rtx x2, x3;
    3144         2096 :   int res ATTRIBUTE_UNUSED;
    3145         2096 :   if (!register_operand (operands[0], i1)
    3146         2096 :       || GET_MODE (x1) != i1)
    3147              :     return -1;
    3148         2036 :   x2 = XVECEXP (x1, 0, 0);
    3149         2036 :   if (GET_MODE (x2) != i1)
    3150              :     return -1;
    3151         2036 :   x3 = XEXP (x2, 0);
    3152         2036 :   if (GET_MODE (x3) != i1
    3153         2036 :       || !register_operand (operands[1], i1)
    3154         2016 :       || !register_operand (operands[2], i1)
    3155         2000 :       || !nonimm_or_0_operand (operands[3], i1)
    3156         4036 :       || !register_operand (operands[4], i2))
    3157           36 :     return -1;
    3158              :   return 0;
    3159              : }
    3160              : 
    3161              : int
    3162         1158 : pattern921 (rtx x1)
    3163              : {
    3164         1158 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3165         1158 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    3166         1158 :   rtx x10, x11, x12, x13, x14, x15, x16;
    3167         1158 :   int res ATTRIBUTE_UNUSED;
    3168         1158 :   x2 = XEXP (x1, 0);
    3169         1158 :   x3 = XEXP (x2, 0);
    3170         1158 :   if (GET_MODE (x3) != E_V8QImode)
    3171              :     return -1;
    3172         1158 :   x4 = XEXP (x2, 1);
    3173         1158 :   if (GET_CODE (x4) != VEC_SELECT
    3174          956 :       || GET_MODE (x4) != E_V8QImode)
    3175              :     return -1;
    3176          956 :   x5 = XEXP (x4, 1);
    3177          956 :   if (GET_CODE (x5) != PARALLEL
    3178          956 :       || XVECLEN (x5, 0) != 8)
    3179              :     return -1;
    3180          956 :   x6 = XVECEXP (x5, 0, 0);
    3181          956 :   if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    3182              :     return -1;
    3183          956 :   x7 = XVECEXP (x5, 0, 1);
    3184          956 :   if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    3185              :     return -1;
    3186          956 :   x8 = XVECEXP (x5, 0, 2);
    3187          956 :   if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
    3188              :     return -1;
    3189          956 :   x9 = XVECEXP (x5, 0, 3);
    3190          956 :   if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
    3191              :     return -1;
    3192          956 :   x10 = XVECEXP (x5, 0, 4);
    3193          956 :   if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
    3194              :     return -1;
    3195          956 :   x11 = XVECEXP (x5, 0, 5);
    3196          956 :   if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
    3197              :     return -1;
    3198          956 :   x12 = XVECEXP (x5, 0, 6);
    3199          956 :   if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
    3200              :     return -1;
    3201          956 :   x13 = XVECEXP (x5, 0, 7);
    3202          956 :   if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
    3203          956 :       || !register_operand (operands[0], E_V16QImode)
    3204          948 :       || GET_MODE (x1) != E_V16QImode
    3205          948 :       || GET_MODE (x2) != E_V8QImode
    3206         1904 :       || !nonimmediate_operand (operands[1], E_V8HFmode))
    3207           80 :     return -1;
    3208          876 :   x14 = XEXP (x4, 0);
    3209          876 :   operands[2] = x14;
    3210          876 :   if (!nonimm_or_0_operand (operands[2], E_V16QImode))
    3211              :     return -1;
    3212          876 :   x15 = XEXP (x2, 2);
    3213          876 :   operands[3] = x15;
    3214          876 :   x16 = XEXP (x1, 1);
    3215          876 :   operands[4] = x16;
    3216          876 :   if (!const0_operand (operands[4], E_V8QImode))
    3217              :     return -1;
    3218              :   return 0;
    3219              : }
    3220              : 
    3221              : int
    3222           28 : pattern940 (rtx x1)
    3223              : {
    3224           28 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3225           28 :   rtx x2, x3, x4, x5;
    3226           28 :   int res ATTRIBUTE_UNUSED;
    3227           28 :   x2 = XVECEXP (x1, 0, 1);
    3228           28 :   x3 = XEXP (x2, 0);
    3229           28 :   operands[2] = x3;
    3230           28 :   if (!memory_operand (operands[2], E_DImode))
    3231              :     return -1;
    3232           28 :   x4 = XVECEXP (x1, 0, 0);
    3233           28 :   x5 = XEXP (x4, 1);
    3234           28 :   return pattern389 (x5); /* [-1, 2] */
    3235              : }
    3236              : 
    3237              : int
    3238          276 : pattern944 (rtx x1, machine_mode i1)
    3239              : {
    3240          276 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3241          276 :   rtx x2, x3;
    3242          276 :   int res ATTRIBUTE_UNUSED;
    3243          276 :   if (!nonimmediate_operand (operands[0], i1)
    3244          276 :       || GET_MODE (x1) != i1)
    3245              :     return -1;
    3246          276 :   x2 = XEXP (x1, 0);
    3247          276 :   if (GET_MODE (x2) != i1
    3248          276 :       || !nonimmediate_operand (operands[1], i1))
    3249           46 :     return -1;
    3250          230 :   x3 = XEXP (x2, 1);
    3251          230 :   if (GET_MODE (x3) != i1
    3252          230 :       || !x86_64_immediate_operand (operands[2], i1))
    3253           58 :     return -1;
    3254              :   return 0;
    3255              : }
    3256              : 
    3257              : int
    3258        23506 : pattern952 (rtx x1)
    3259              : {
    3260        23506 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3261        23506 :   rtx x2, x3, x4, x5, x6;
    3262        23506 :   int res ATTRIBUTE_UNUSED;
    3263        23506 :   x2 = XEXP (x1, 0);
    3264        23506 :   operands[0] = x2;
    3265        23506 :   x3 = XEXP (x1, 1);
    3266        23506 :   x4 = XEXP (x3, 0);
    3267        23506 :   x5 = XEXP (x4, 0);
    3268        23506 :   operands[1] = x5;
    3269        23506 :   x6 = XEXP (x3, 1);
    3270        23506 :   if (!rtx_equal_p (x6, operands[1]))
    3271              :     return -1;
    3272          872 :   switch (GET_MODE (operands[0]))
    3273              :     {
    3274          377 :     case E_SImode:
    3275          377 :       return pattern936 (x3, 
    3276          377 : E_SImode); /* [-1, 0] */
    3277              : 
    3278          477 :     case E_DImode:
    3279          477 :       if (pattern936 (x3, 
    3280              : E_DImode) != 0)
    3281              :         return -1;
    3282              :       return 1;
    3283              : 
    3284              :     default:
    3285              :       return -1;
    3286              :     }
    3287              : }
    3288              : 
    3289              : int
    3290      3030500 : pattern961 (rtx x1, machine_mode i1, machine_mode i2)
    3291              : {
    3292      3030500 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3293      3030500 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    3294      3030500 :   rtx x10, x11, x12, x13, x14, x15, x16, x17;
    3295      3030500 :   rtx x18;
    3296      3030500 :   int res ATTRIBUTE_UNUSED;
    3297      3030500 :   x2 = XEXP (x1, 0);
    3298      3030500 :   operands[2] = x2;
    3299      3030500 :   if (!general_reg_operand (operands[2], i2))
    3300              :     return -1;
    3301      1925413 :   x3 = XEXP (x1, 1);
    3302      1925413 :   operands[3] = x3;
    3303      1925413 :   if (!general_reg_operand (operands[3], i2))
    3304              :     return -1;
    3305       334262 :   x4 = PATTERN (peep2_next_insn (2));
    3306       334262 :   if (GET_CODE (x4) != PARALLEL)
    3307              :     return -1;
    3308        24992 :   switch (XVECLEN (x4, 0))
    3309              :     {
    3310        14620 :     case 2:
    3311        14620 :       x5 = XVECEXP (x4, 0, 0);
    3312        14620 :       if (GET_CODE (x5) != SET)
    3313              :         return -1;
    3314        14591 :       x6 = XEXP (x5, 1);
    3315        14591 :       if (GET_CODE (x6) != MULT)
    3316              :         return -1;
    3317         2345 :       x7 = XEXP (x5, 0);
    3318         2345 :       operands[4] = x7;
    3319         2345 :       x8 = XEXP (x6, 0);
    3320         2345 :       switch (GET_CODE (x8))
    3321              :         {
    3322         1606 :         case ZERO_EXTEND:
    3323         1606 :           if (GET_MODE (x8) != i1)
    3324              :             return -1;
    3325         1606 :           x9 = XEXP (x6, 1);
    3326         1606 :           if (GET_CODE (x9) != ZERO_EXTEND
    3327         1606 :               || GET_MODE (x9) != i1)
    3328              :             return -1;
    3329         1606 :           x10 = XVECEXP (x4, 0, 1);
    3330         1606 :           if (GET_CODE (x10) != CLOBBER)
    3331              :             return -1;
    3332         1606 :           x11 = XEXP (x10, 0);
    3333         1606 :           if (GET_CODE (x11) != REG
    3334         1606 :               || REGNO (x11) != 17
    3335         1606 :               || GET_MODE (x11) != E_CCmode
    3336         1606 :               || !general_reg_operand (operands[4], i1)
    3337         3212 :               || GET_MODE (x6) != i1)
    3338            0 :             return -1;
    3339         1606 :           x12 = XEXP (x8, 0);
    3340         1606 :           if (!rtx_equal_p (x12, operands[2]))
    3341              :             return -1;
    3342         1600 :           x13 = XEXP (x9, 0);
    3343         1600 :           if (!rtx_equal_p (x13, operands[0]))
    3344              :             return -1;
    3345              :           return 0;
    3346              : 
    3347          450 :         case REG:
    3348          450 :           if (!rtx_equal_p (x8, operands[2]))
    3349              :             return -1;
    3350          441 :           x10 = XVECEXP (x4, 0, 1);
    3351          441 :           if (GET_CODE (x10) != SET)
    3352              :             return -1;
    3353            4 :           x14 = XEXP (x10, 1);
    3354            4 :           if (GET_CODE (x14) != UMUL_HIGHPART
    3355            4 :               || GET_MODE (x14) != i2
    3356            4 :               || !general_reg_operand (operands[4], i2)
    3357            8 :               || GET_MODE (x6) != i2)
    3358            0 :             return -1;
    3359            4 :           x11 = XEXP (x10, 0);
    3360            4 :           operands[5] = x11;
    3361            4 :           if (!general_reg_operand (operands[5], i2))
    3362              :             return -1;
    3363            4 :           x9 = XEXP (x6, 1);
    3364            4 :           if (!rtx_equal_p (x9, operands[0]))
    3365              :             return -1;
    3366            4 :           x15 = XEXP (x14, 0);
    3367            4 :           if (!rtx_equal_p (x15, operands[2]))
    3368              :             return -1;
    3369            4 :           x16 = XEXP (x14, 1);
    3370            4 :           if (!rtx_equal_p (x16, operands[0]))
    3371              :             return -1;
    3372              :           return 1;
    3373              : 
    3374              :         default:
    3375              :           return -1;
    3376              :         }
    3377              : 
    3378         8197 :     case 3:
    3379         8197 :       x5 = XVECEXP (x4, 0, 0);
    3380         8197 :       if (GET_CODE (x5) != SET)
    3381              :         return -1;
    3382         8197 :       x10 = XVECEXP (x4, 0, 1);
    3383         8197 :       if (GET_CODE (x10) != CLOBBER)
    3384              :         return -1;
    3385         6763 :       x17 = XVECEXP (x4, 0, 2);
    3386         6763 :       if (GET_CODE (x17) != CLOBBER)
    3387              :         return -1;
    3388         6763 :       x18 = XEXP (x17, 0);
    3389         6763 :       if (GET_CODE (x18) != REG
    3390         6761 :           || REGNO (x18) != 17
    3391        13524 :           || GET_MODE (x18) != E_CCmode)
    3392              :         return -1;
    3393         6761 :       x7 = XEXP (x5, 0);
    3394         6761 :       operands[4] = x7;
    3395         6761 :       return 2;
    3396              : 
    3397              :     default:
    3398              :       return -1;
    3399              :     }
    3400              : }
    3401              : 
    3402              : int
    3403          460 : pattern986 (rtx x1)
    3404              : {
    3405          460 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3406          460 :   int res ATTRIBUTE_UNUSED;
    3407          460 :   switch (GET_MODE (x1))
    3408              :     {
    3409          118 :     case E_HImode:
    3410          118 :       switch (GET_MODE (operands[1]))
    3411              :         {
    3412           23 :         case E_V16SImode:
    3413           23 :           if (!nonimmediate_operand (operands[1], E_V16SImode)
    3414           20 :               || !nonimmediate_operand (operands[2], E_V16SImode)
    3415           40 :               || !const_0_to_7_operand (operands[3], E_SImode))
    3416            6 :             return -1;
    3417              :           return 0;
    3418              : 
    3419           18 :         case E_V16HFmode:
    3420           18 :           if (!nonimmediate_operand (operands[1], E_V16HFmode)
    3421           16 :               || !nonimmediate_operand (operands[2], E_V16HFmode)
    3422           34 :               || !const_0_to_31_operand (operands[3], E_SImode))
    3423            2 :             return -1;
    3424              :           return 1;
    3425              : 
    3426           22 :         case E_V16SFmode:
    3427           22 :           if (!nonimmediate_operand (operands[1], E_V16SFmode)
    3428           20 :               || !nonimmediate_operand (operands[2], E_V16SFmode)
    3429           42 :               || !const_0_to_31_operand (operands[3], E_SImode))
    3430            2 :             return -1;
    3431              :           return 2;
    3432              : 
    3433           32 :         case E_V16QImode:
    3434           32 :           if (!nonimmediate_operand (operands[1], E_V16QImode)
    3435           30 :               || !nonimmediate_operand (operands[2], E_V16QImode)
    3436           50 :               || !const_0_to_7_operand (operands[3], E_SImode))
    3437           14 :             return -1;
    3438              :           return 3;
    3439              : 
    3440           18 :         case E_V16HImode:
    3441           18 :           if (!nonimmediate_operand (operands[1], E_V16HImode)
    3442           16 :               || !nonimmediate_operand (operands[2], E_V16HImode)
    3443           30 :               || !const_0_to_7_operand (operands[3], E_SImode))
    3444            6 :             return -1;
    3445              :           return 4;
    3446              : 
    3447              :         default:
    3448              :           return -1;
    3449              :         }
    3450              : 
    3451          321 :     case E_QImode:
    3452          321 :       switch (GET_MODE (operands[1]))
    3453              :         {
    3454           42 :         case E_V8SImode:
    3455           42 :           if (!nonimmediate_operand (operands[1], E_V8SImode)
    3456           39 :               || !nonimmediate_operand (operands[2], E_V8SImode)
    3457           69 :               || !const_0_to_7_operand (operands[3], E_SImode))
    3458           15 :             return -1;
    3459              :           return 5;
    3460              : 
    3461           24 :         case E_V4SImode:
    3462           24 :           if (!nonimmediate_operand (operands[1], E_V4SImode)
    3463           21 :               || !nonimmediate_operand (operands[2], E_V4SImode)
    3464           43 :               || !const_0_to_7_operand (operands[3], E_SImode))
    3465            5 :             return -1;
    3466              :           return 6;
    3467              : 
    3468           30 :         case E_V8DImode:
    3469           30 :           if (!nonimmediate_operand (operands[1], E_V8DImode)
    3470           22 :               || !nonimmediate_operand (operands[2], E_V8DImode)
    3471           50 :               || !const_0_to_7_operand (operands[3], E_SImode))
    3472           10 :             return -1;
    3473              :           return 7;
    3474              : 
    3475           23 :         case E_V4DImode:
    3476           23 :           if (!nonimmediate_operand (operands[1], E_V4DImode)
    3477           20 :               || !nonimmediate_operand (operands[2], E_V4DImode)
    3478           41 :               || !const_0_to_7_operand (operands[3], E_SImode))
    3479            5 :             return -1;
    3480              :           return 8;
    3481              : 
    3482           23 :         case E_V2DImode:
    3483           23 :           if (!nonimmediate_operand (operands[1], E_V2DImode)
    3484           20 :               || !nonimmediate_operand (operands[2], E_V2DImode)
    3485           41 :               || !const_0_to_7_operand (operands[3], E_SImode))
    3486            5 :             return -1;
    3487              :           return 9;
    3488              : 
    3489           31 :         case E_V8HFmode:
    3490           31 :           if (!nonimmediate_operand (operands[1], E_V8HFmode)
    3491           31 :               || !nonimmediate_operand (operands[2], E_V8HFmode)
    3492           62 :               || !const_0_to_31_operand (operands[3], E_SImode))
    3493            0 :             return -1;
    3494              :           return 10;
    3495              : 
    3496           21 :         case E_V8SFmode:
    3497           21 :           if (!nonimmediate_operand (operands[1], E_V8SFmode)
    3498           18 :               || !nonimmediate_operand (operands[2], E_V8SFmode)
    3499           39 :               || !const_0_to_31_operand (operands[3], E_SImode))
    3500            3 :             return -1;
    3501              :           return 11;
    3502              : 
    3503           21 :         case E_V4SFmode:
    3504           21 :           if (!nonimmediate_operand (operands[1], E_V4SFmode)
    3505           18 :               || !nonimmediate_operand (operands[2], E_V4SFmode)
    3506           39 :               || !const_0_to_31_operand (operands[3], E_SImode))
    3507            3 :             return -1;
    3508              :           return 12;
    3509              : 
    3510           33 :         case E_V8DFmode:
    3511           33 :           if (!nonimmediate_operand (operands[1], E_V8DFmode)
    3512           30 :               || !nonimmediate_operand (operands[2], E_V8DFmode)
    3513           63 :               || !const_0_to_31_operand (operands[3], E_SImode))
    3514            3 :             return -1;
    3515              :           return 13;
    3516              : 
    3517           21 :         case E_V4DFmode:
    3518           21 :           if (!nonimmediate_operand (operands[1], E_V4DFmode)
    3519           18 :               || !nonimmediate_operand (operands[2], E_V4DFmode)
    3520           39 :               || !const_0_to_31_operand (operands[3], E_SImode))
    3521            3 :             return -1;
    3522              :           return 14;
    3523              : 
    3524           21 :         case E_V2DFmode:
    3525           21 :           if (!nonimmediate_operand (operands[1], E_V2DFmode)
    3526           18 :               || !nonimmediate_operand (operands[2], E_V2DFmode)
    3527           39 :               || !const_0_to_31_operand (operands[3], E_SImode))
    3528            3 :             return -1;
    3529              :           return 15;
    3530              : 
    3531           26 :         case E_V8HImode:
    3532           26 :           if (!nonimmediate_operand (operands[1], E_V8HImode)
    3533           26 :               || !nonimmediate_operand (operands[2], E_V8HImode)
    3534           50 :               || !const_0_to_7_operand (operands[3], E_SImode))
    3535            2 :             return -1;
    3536              :           return 16;
    3537              : 
    3538              :         default:
    3539              :           return -1;
    3540              :         }
    3541              : 
    3542           21 :     case E_SImode:
    3543           21 :       switch (GET_MODE (operands[1]))
    3544              :         {
    3545            7 :         case E_V32HFmode:
    3546            7 :           if (!nonimmediate_operand (operands[1], E_V32HFmode)
    3547            6 :               || !nonimmediate_operand (operands[2], E_V32HFmode)
    3548           13 :               || !const_0_to_31_operand (operands[3], E_SImode))
    3549            1 :             return -1;
    3550              :           return 17;
    3551              : 
    3552            7 :         case E_V32QImode:
    3553            7 :           if (!nonimmediate_operand (operands[1], E_V32QImode)
    3554            6 :               || !nonimmediate_operand (operands[2], E_V32QImode)
    3555           13 :               || !const_0_to_7_operand (operands[3], E_SImode))
    3556            1 :             return -1;
    3557              :           return 18;
    3558              : 
    3559            7 :         case E_V32HImode:
    3560            7 :           if (!nonimmediate_operand (operands[1], E_V32HImode)
    3561            6 :               || !nonimmediate_operand (operands[2], E_V32HImode)
    3562           13 :               || !const_0_to_7_operand (operands[3], E_SImode))
    3563            1 :             return -1;
    3564              :           return 19;
    3565              : 
    3566              :         default:
    3567              :           return -1;
    3568              :         }
    3569              : 
    3570            0 :     case E_DImode:
    3571            0 :       if (!nonimmediate_operand (operands[1], E_V64QImode)
    3572            0 :           || !nonimmediate_operand (operands[2], E_V64QImode)
    3573            0 :           || !const_0_to_7_operand (operands[3], E_SImode))
    3574            0 :         return -1;
    3575              :       return 20;
    3576              : 
    3577              :     default:
    3578              :       return -1;
    3579              :     }
    3580              : }
    3581              : 
    3582              : int
    3583       259060 : pattern1058 (rtx x1, rtx_code i1)
    3584              : {
    3585       259060 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3586       259060 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    3587       259060 :   rtx x10, x11, x12;
    3588       259060 :   int res ATTRIBUTE_UNUSED;
    3589       259060 :   x2 = XEXP (x1, 0);
    3590       259060 :   x3 = XEXP (x2, 1);
    3591       259060 :   switch (GET_CODE (x3))
    3592              :     {
    3593        20898 :     case AND:
    3594        20898 :       if (GET_MODE (x3) != E_QImode)
    3595              :         return -1;
    3596        20898 :       x4 = XEXP (x3, 1);
    3597        20898 :       if (GET_CODE (x4) != CONST_INT)
    3598              :         return -1;
    3599        20898 :       x5 = XEXP (x1, 1);
    3600        20898 :       if (GET_CODE (x5) != SUBREG
    3601        20898 :           || maybe_ne (SUBREG_BYTE (x5), 0))
    3602              :         return -1;
    3603        20855 :       x6 = XEXP (x5, 0);
    3604        20855 :       if (GET_CODE (x6) != i1)
    3605              :         return -1;
    3606        20855 :       x7 = XEXP (x6, 0);
    3607        20855 :       if (GET_CODE (x7) != ZERO_EXTEND)
    3608              :         return -1;
    3609        20855 :       x8 = XEXP (x6, 1);
    3610        20855 :       if (GET_CODE (x8) != MINUS
    3611        20855 :           || GET_MODE (x8) != E_QImode)
    3612              :         return -1;
    3613        20855 :       x9 = XEXP (x8, 0);
    3614        20855 :       if (GET_CODE (x9) != CONST_INT)
    3615              :         return -1;
    3616        20855 :       x10 = XEXP (x8, 1);
    3617        20855 :       if (GET_CODE (x10) != AND
    3618        20855 :           || GET_MODE (x10) != E_QImode)
    3619              :         return -1;
    3620        20855 :       x11 = XEXP (x10, 1);
    3621        20855 :       if (GET_CODE (x11) != CONST_INT)
    3622              :         return -1;
    3623        20855 :       x12 = XEXP (x3, 0);
    3624        20855 :       if (!nonmemory_operand (x12, E_QImode))
    3625              :         return -1;
    3626        20851 :       switch (XWINT (x4, 0))
    3627              :         {
    3628        12189 :         case 63L:
    3629        12189 :           if (XWINT (x9, 0) != 64L
    3630        12189 :               || XWINT (x11, 0) != 63L
    3631        24378 :               || pattern1057 (x1, 
    3632              : E_DImode, 
    3633              : E_TImode) != 0)
    3634           32 :             return -1;
    3635              :           return 0;
    3636              : 
    3637         8659 :         case 31L:
    3638         8659 :           if (XWINT (x9, 0) != 32L
    3639         8659 :               || XWINT (x11, 0) != 31L)
    3640              :             return -1;
    3641              :           return 1;
    3642              : 
    3643              :         default:
    3644              :           return -1;
    3645              :         }
    3646              : 
    3647              :     case CONST_INT:
    3648              :     case CONST_WIDE_INT:
    3649              :     case CONST_POLY_INT:
    3650              :     case CONST_FIXED:
    3651              :     case CONST_DOUBLE:
    3652              :     case CONST_VECTOR:
    3653              :     case CONST:
    3654              :     case REG:
    3655              :     case SUBREG:
    3656              :     case LABEL_REF:
    3657              :     case SYMBOL_REF:
    3658              :     case HIGH:
    3659              :       return 2;
    3660              : 
    3661              :     default:
    3662              :       return -1;
    3663              :     }
    3664              : }
    3665              : 
    3666              : int
    3667           92 : pattern1077 (rtx x1, machine_mode i1, machine_mode i2)
    3668              : {
    3669           92 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3670           92 :   rtx x2;
    3671           92 :   int res ATTRIBUTE_UNUSED;
    3672           92 :   if (!memory_operand (operands[0], i2)
    3673           92 :       || GET_MODE (x1) != i2)
    3674              :     return -1;
    3675           88 :   x2 = XVECEXP (x1, 0, 0);
    3676           88 :   if (GET_MODE (x2) != i2
    3677           88 :       || !register_operand (operands[1], i1))
    3678            0 :     return -1;
    3679              :   return 0;
    3680              : }
    3681              : 
    3682              : int
    3683        33897 : pattern1080 (rtx x1)
    3684              : {
    3685        33897 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3686        33897 :   rtx x2, x3, x4, x5;
    3687        33897 :   int res ATTRIBUTE_UNUSED;
    3688        33897 :   if (!int248_register_operand (operands[2], E_VOIDmode))
    3689              :     return -1;
    3690        31373 :   x2 = XEXP (x1, 1);
    3691        31373 :   x3 = XEXP (x2, 1);
    3692        31373 :   operands[1] = x3;
    3693        31373 :   if (!nonimmediate_operand (operands[1], E_QImode))
    3694              :     return -1;
    3695        16405 :   x4 = XEXP (x1, 0);
    3696        16405 :   switch (GET_CODE (x4))
    3697              :     {
    3698           30 :     case STRICT_LOW_PART:
    3699           30 :       x5 = XEXP (x4, 0);
    3700           30 :       operands[0] = x5;
    3701           30 :       if (!register_operand (operands[0], E_QImode))
    3702              :         return -1;
    3703           30 :       return pattern1079 (); /* [-1, 2] */
    3704              : 
    3705        16375 :     case REG:
    3706        16375 :     case SUBREG:
    3707        16375 :     case MEM:
    3708        16375 :       operands[0] = x4;
    3709        16375 :       if (!nonimmediate_operand (operands[0], E_QImode))
    3710              :         return -1;
    3711        16375 :       res = pattern1079 ();
    3712        16375 :       if (res >= 0)
    3713          129 :         return res + 3; /* [3, 5] */
    3714              :       return -1;
    3715              : 
    3716              :     default:
    3717              :       return -1;
    3718              :     }
    3719              : }
    3720              : 
    3721              : int
    3722          644 : pattern1094 (rtx x1, machine_mode i1)
    3723              : {
    3724          644 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3725          644 :   int res ATTRIBUTE_UNUSED;
    3726          644 :   if (!nonimmediate_operand (operands[0], i1)
    3727          644 :       || GET_MODE (x1) != i1
    3728          644 :       || !ix86_carry_flag_unset_operator (operands[2], i1)
    3729         1034 :       || !nonimmediate_operand (operands[1], i1))
    3730          489 :     return -1;
    3731              :   return 0;
    3732              : }
    3733              : 
    3734              : int
    3735           14 : pattern1102 (rtx x1, machine_mode i1)
    3736              : {
    3737           14 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3738           14 :   rtx x2, x3;
    3739           14 :   int res ATTRIBUTE_UNUSED;
    3740           14 :   if (!register_operand (operands[0], i1)
    3741           14 :       || GET_MODE (x1) != i1)
    3742              :     return -1;
    3743           14 :   x2 = XEXP (x1, 0);
    3744           14 :   if (GET_MODE (x2) != i1)
    3745              :     return -1;
    3746           14 :   x3 = XEXP (x2, 0);
    3747           14 :   if (GET_MODE (x3) != i1
    3748           14 :       || !register_operand (operands[1], i1))
    3749           10 :     return -1;
    3750              :   return 0;
    3751              : }
    3752              : 
    3753              : int
    3754           53 : pattern1107 (rtx x1)
    3755              : {
    3756           53 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3757           53 :   rtx x2, x3, x4;
    3758           53 :   int res ATTRIBUTE_UNUSED;
    3759           53 :   x2 = XEXP (x1, 0);
    3760           53 :   x3 = XEXP (x2, 0);
    3761           53 :   operands[1] = x3;
    3762           53 :   x4 = XEXP (x2, 1);
    3763           53 :   operands[2] = x4;
    3764           53 :   if (!const_int_operand (operands[2], E_QImode))
    3765              :     return -1;
    3766           53 :   switch (GET_MODE (x1))
    3767              :     {
    3768           14 :     case E_V8SFmode:
    3769           14 :       if (GET_MODE (x2) != E_V8SImode
    3770           14 :           || !register_operand (operands[1], E_V8SImode))
    3771            0 :         return -1;
    3772              :       return 0;
    3773              : 
    3774           16 :     case E_V4SFmode:
    3775           16 :       if (GET_MODE (x2) != E_V4SImode
    3776           16 :           || !register_operand (operands[1], E_V4SImode))
    3777            0 :         return -1;
    3778              :       return 1;
    3779              : 
    3780            0 :     case E_V4DFmode:
    3781            0 :       if (GET_MODE (x2) != E_V4DImode
    3782            0 :           || !register_operand (operands[1], E_V4DImode))
    3783            0 :         return -1;
    3784              :       return 2;
    3785              : 
    3786           14 :     case E_V2DFmode:
    3787           14 :       if (GET_MODE (x2) != E_V2DImode
    3788           14 :           || !register_operand (operands[1], E_V2DImode))
    3789            0 :         return -1;
    3790              :       return 3;
    3791              : 
    3792              :     default:
    3793              :       return -1;
    3794              :     }
    3795              : }
    3796              : 
    3797              : int
    3798         1349 : pattern1116 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
    3799              : {
    3800         1349 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3801         1349 :   rtx x2;
    3802         1349 :   int res ATTRIBUTE_UNUSED;
    3803         1349 :   if (!register_operand (operands[0], i2)
    3804         1349 :       || GET_MODE (x1) != i2)
    3805              :     return -1;
    3806         1293 :   x2 = XEXP (x1, 0);
    3807         1293 :   if (GET_MODE (x2) != i2
    3808         1293 :       || !register_operand (operands[1], i3)
    3809         1293 :       || !vector_operand (operands[2], i3)
    3810         1293 :       || !nonimm_or_0_operand (operands[3], i2)
    3811         2540 :       || !register_operand (operands[4], i1))
    3812          106 :     return -1;
    3813              :   return 0;
    3814              : }
    3815              : 
    3816              : int
    3817         2795 : pattern1122 (rtx x1, machine_mode i1)
    3818              : {
    3819         2795 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3820         2795 :   rtx x2, x3;
    3821         2795 :   int res ATTRIBUTE_UNUSED;
    3822         2795 :   if (!register_operand (operands[0], i1)
    3823         2795 :       || GET_MODE (x1) != i1)
    3824              :     return -1;
    3825         2729 :   x2 = XEXP (x1, 0);
    3826         2729 :   if (GET_MODE (x2) != i1)
    3827              :     return -1;
    3828         2729 :   x3 = XEXP (x2, 0);
    3829         2729 :   if (GET_MODE (x3) != i1
    3830         2729 :       || !register_operand (operands[1], i1)
    3831         2729 :       || !nonimmediate_operand (operands[2], i1)
    3832         5458 :       || !nonimm_or_0_operand (operands[4], i1))
    3833            0 :     return -1;
    3834              :   return 0;
    3835              : }
    3836              : 
    3837              : int
    3838        14997 : pattern1130 (rtx x1, machine_mode i1)
    3839              : {
    3840        14997 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3841        14997 :   int res ATTRIBUTE_UNUSED;
    3842        14997 :   if (!register_operand (operands[0], i1)
    3843        14953 :       || GET_MODE (x1) != i1
    3844        14953 :       || !nonimmediate_operand (operands[2], i1)
    3845        12890 :       || !register_operand (operands[1], i1)
    3846        21998 :       || !avx2_pblendw_operand (operands[3], E_SImode))
    3847         8086 :     return -1;
    3848              :   return 0;
    3849              : }
    3850              : 
    3851              : int
    3852         1093 : pattern1136 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3, machine_mode i4)
    3853              : {
    3854         1093 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3855         1093 :   int res ATTRIBUTE_UNUSED;
    3856         1093 :   if (GET_MODE (x1) != i4
    3857         1093 :       || !register_operand (operands[1], i3)
    3858         1093 :       || !nonimm_or_0_operand (operands[3], i2)
    3859         2167 :       || !register_operand (operands[4], i1))
    3860           71 :     return -1;
    3861              :   return 0;
    3862              : }
    3863              : 
    3864              : int
    3865         1696 : pattern1142 (rtx x1)
    3866              : {
    3867         1696 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3868         1696 :   rtx x2, x3, x4, x5, x6, x7, x8;
    3869         1696 :   int res ATTRIBUTE_UNUSED;
    3870         1696 :   x2 = XVECEXP (x1, 0, 0);
    3871         1696 :   x3 = XEXP (x2, 0);
    3872         1696 :   x4 = XVECEXP (x3, 0, 2);
    3873         1696 :   operands[3] = x4;
    3874         1696 :   x5 = XVECEXP (x1, 0, 1);
    3875         1696 :   if (!const_4_or_8_to_11_operand (x5, E_SImode))
    3876              :     return -1;
    3877         1696 :   x6 = XEXP (x2, 1);
    3878         1696 :   switch (GET_CODE (x6))
    3879              :     {
    3880          448 :     case CONST_INT:
    3881          448 :     case CONST_DOUBLE:
    3882          448 :     case CONST_VECTOR:
    3883          448 :       operands[4] = x6;
    3884          448 :       if (!const0_operand (operands[4], E_V32HFmode))
    3885              :         return -1;
    3886          448 :       x7 = XEXP (x2, 2);
    3887          448 :       if (GET_CODE (x7) != UNSPEC
    3888          448 :           || XVECLEN (x7, 0) != 1
    3889          448 :           || XINT (x7, 1) != 224
    3890          448 :           || GET_MODE (x7) != E_SImode
    3891          448 :           || !register_operand (operands[0], E_V32HFmode)
    3892          428 :           || GET_MODE (x1) != E_V32HFmode
    3893          428 :           || GET_MODE (x2) != E_V32HFmode
    3894          428 :           || GET_MODE (x3) != E_V32HFmode
    3895          428 :           || !register_operand (operands[1], E_V32HFmode)
    3896          428 :           || !register_operand (operands[2], E_V32HFmode)
    3897          866 :           || !register_operand (operands[3], E_V32HFmode))
    3898           38 :         return -1;
    3899          410 :       x8 = XVECEXP (x7, 0, 0);
    3900          410 :       operands[5] = x8;
    3901          410 :       if (!register_operand (operands[5], E_HImode))
    3902              :         return -1;
    3903          384 :       operands[6] = x5;
    3904          384 :       return 0;
    3905              : 
    3906         1232 :     case REG:
    3907         1232 :     case SUBREG:
    3908         1232 :       x7 = XEXP (x2, 2);
    3909         1232 :       switch (GET_CODE (x7))
    3910              :         {
    3911          864 :         case UNSPEC:
    3912          864 :           if (XVECLEN (x7, 0) != 1
    3913          864 :               || XINT (x7, 1) != 224
    3914          864 :               || GET_MODE (x7) != E_SImode
    3915          864 :               || !register_operand (operands[0], E_V32HFmode)
    3916          846 :               || GET_MODE (x1) != E_V32HFmode
    3917          846 :               || GET_MODE (x2) != E_V32HFmode
    3918          846 :               || GET_MODE (x3) != E_V32HFmode
    3919          846 :               || !register_operand (operands[1], E_V32HFmode)
    3920          846 :               || !register_operand (operands[2], E_V32HFmode)
    3921         1690 :               || !register_operand (operands[3], E_V32HFmode))
    3922           54 :             return -1;
    3923          810 :           x8 = XVECEXP (x7, 0, 0);
    3924          810 :           operands[4] = x8;
    3925          810 :           if (!register_operand (operands[4], E_HImode))
    3926              :             return -1;
    3927          762 :           operands[5] = x5;
    3928          762 :           if (!rtx_equal_p (x6, operands[1]))
    3929              :             return -1;
    3930              :           return 1;
    3931              : 
    3932          368 :         case CONST_INT:
    3933          368 :           if (XWINT (x7, 0) != 3L
    3934          368 :               || !register_operand (operands[0], E_V8HFmode)
    3935          352 :               || GET_MODE (x1) != E_V8HFmode
    3936          352 :               || GET_MODE (x2) != E_V8HFmode
    3937          352 :               || GET_MODE (x3) != E_V8HFmode
    3938          352 :               || !register_operand (operands[1], E_V8HFmode)
    3939          348 :               || !register_operand (operands[2], E_V8HFmode)
    3940          716 :               || !register_operand (operands[3], E_V8HFmode))
    3941           28 :             return -1;
    3942          340 :           operands[4] = x5;
    3943          340 :           if (!rtx_equal_p (x6, operands[2]))
    3944              :             return -1;
    3945              :           return 2;
    3946              : 
    3947              :         default:
    3948              :           return -1;
    3949              :         }
    3950              : 
    3951              :     default:
    3952              :       return -1;
    3953              :     }
    3954              : }
    3955              : 
    3956              : int
    3957     18476672 : pattern1186 (rtx x1)
    3958              : {
    3959     18476672 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3960     18476672 :   rtx x2, x3, x4;
    3961     18476672 :   int res ATTRIBUTE_UNUSED;
    3962     18476672 :   x2 = XEXP (x1, 1);
    3963     18476672 :   x3 = XEXP (x2, 1);
    3964     18476672 :   operands[2] = x3;
    3965     18476672 :   x4 = XEXP (x1, 0);
    3966     18476672 :   switch (GET_CODE (x4))
    3967              :     {
    3968     18475297 :     case REG:
    3969     18475297 :     case SUBREG:
    3970     18475297 :     case MEM:
    3971     18475297 :       operands[0] = x4;
    3972     18475297 :       return 0;
    3973              : 
    3974         1375 :     case STRICT_LOW_PART:
    3975         1375 :       res = pattern559 (x1);
    3976         1375 :       if (res >= 0)
    3977         1270 :         return res + 1; /* [1, 2] */
    3978              :       return -1;
    3979              : 
    3980              :     default:
    3981              :       return -1;
    3982              :     }
    3983              : }
    3984              : 
    3985              : int
    3986          683 : pattern1195 (rtx x1, machine_mode i1, machine_mode i2)
    3987              : {
    3988          683 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3989          683 :   int res ATTRIBUTE_UNUSED;
    3990          683 :   if (!register_operand (operands[0], i2)
    3991          677 :       || GET_MODE (x1) != i2
    3992          677 :       || !const0_operand (operands[2], i2)
    3993            8 :       || !vector_all_ones_operand (operands[3], i2)
    3994          683 :       || !register_operand (operands[1], i1))
    3995          683 :     return -1;
    3996              :   return 0;
    3997              : }
    3998              : 
    3999              : int
    4000         2816 : pattern1201 (rtx x1, machine_mode i1)
    4001              : {
    4002         2816 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4003         2816 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    4004         2816 :   rtx x10, x11, x12, x13, x14;
    4005         2816 :   int res ATTRIBUTE_UNUSED;
    4006         2816 :   x2 = XVECEXP (x1, 0, 0);
    4007         2816 :   x3 = XEXP (x2, 1);
    4008         2816 :   x4 = XEXP (x3, 0);
    4009         2816 :   if (GET_MODE (x4) != i1)
    4010              :     return -1;
    4011         2816 :   x5 = XVECEXP (x1, 0, 1);
    4012         2816 :   x6 = XEXP (x5, 1);
    4013         2816 :   if (GET_CODE (x6) != PLUS)
    4014              :     return -1;
    4015         2816 :   x7 = XEXP (x2, 0);
    4016         2816 :   if (GET_MODE (x7) != E_CCCmode
    4017          262 :       || GET_MODE (x3) != E_CCCmode)
    4018              :     return -1;
    4019          262 :   x8 = XEXP (x4, 1);
    4020          262 :   operands[2] = x8;
    4021          262 :   if (!memory_operand (operands[2], i1))
    4022              :     return -1;
    4023          134 :   x9 = XEXP (x4, 0);
    4024          134 :   if (!rtx_equal_p (x9, operands[0]))
    4025              :     return -1;
    4026          134 :   x10 = XEXP (x3, 1);
    4027          134 :   if (!rtx_equal_p (x10, operands[0]))
    4028              :     return -1;
    4029          134 :   x11 = XEXP (x6, 0);
    4030          134 :   if (!rtx_equal_p (x11, operands[0]))
    4031              :     return -1;
    4032          134 :   x12 = XEXP (x6, 1);
    4033          134 :   if (!rtx_equal_p (x12, operands[2]))
    4034              :     return -1;
    4035          134 :   x13 = PATTERN (peep2_next_insn (2));
    4036          134 :   x14 = XEXP (x13, 0);
    4037          134 :   if (!rtx_equal_p (x14, operands[1]))
    4038              :     return -1;
    4039              :   return 0;
    4040              : }
    4041              : 
    4042              : int
    4043          625 : pattern1211 (rtx x1, machine_mode i1, rtx_code i2, machine_mode i3, rtx_code i4)
    4044              : {
    4045          625 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4046          625 :   rtx x2;
    4047          625 :   int res ATTRIBUTE_UNUSED;
    4048          625 :   if (GET_CODE (x1) != i4
    4049          625 :       || GET_MODE (x1) != i3)
    4050              :     return -1;
    4051          625 :   x2 = XEXP (x1, 0);
    4052          625 :   if (GET_CODE (x2) != i2
    4053          625 :       || GET_MODE (x2) != i1)
    4054            0 :     return -1;
    4055              :   return 0;
    4056              : }
    4057              : 
    4058              : int
    4059         7015 : pattern1216 (rtx x1, machine_mode i1)
    4060              : {
    4061         7015 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4062         7015 :   int res ATTRIBUTE_UNUSED;
    4063         7015 :   if (!nonimmediate_operand (operands[0], i1)
    4064         7015 :       || GET_MODE (x1) != i1
    4065         7015 :       || !nonimmediate_operand (operands[1], i1)
    4066        13013 :       || !ix86_carry_flag_operator (operands[2], i1))
    4067         1017 :     return -1;
    4068              :   return 0;
    4069              : }
    4070              : 
    4071              : int
    4072         1933 : pattern1221 (rtx x1, machine_mode i1, machine_mode i2)
    4073              : {
    4074         1933 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4075         1933 :   rtx x2;
    4076         1933 :   int res ATTRIBUTE_UNUSED;
    4077         1933 :   if (!register_operand (operands[0], i1)
    4078         1933 :       || GET_MODE (x1) != i1)
    4079              :     return -1;
    4080         1799 :   x2 = XEXP (x1, 0);
    4081         1799 :   if (GET_MODE (x2) != i1
    4082         1799 :       || !vector_operand (operands[1], i1)
    4083         1799 :       || !nonimm_or_0_operand (operands[3], i1)
    4084         3568 :       || !register_operand (operands[4], i2))
    4085          139 :     return -1;
    4086              :   return 0;
    4087              : }
    4088              : 
    4089              : int
    4090          652 : pattern1229 (rtx x1, machine_mode i1)
    4091              : {
    4092          652 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4093          652 :   rtx x2;
    4094          652 :   int res ATTRIBUTE_UNUSED;
    4095          652 :   if (!register_operand (operands[0], i1)
    4096          652 :       || GET_MODE (x1) != i1)
    4097              :     return -1;
    4098          626 :   x2 = XVECEXP (x1, 0, 0);
    4099          626 :   if (GET_MODE (x2) != i1
    4100          626 :       || !nonimmediate_operand (operands[1], i1))
    4101            2 :     return -1;
    4102              :   return 0;
    4103              : }
    4104              : 
    4105              : int
    4106           42 : pattern1234 (rtx x1)
    4107              : {
    4108           42 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4109           42 :   rtx x2, x3, x4, x5, x6, x7;
    4110           42 :   int res ATTRIBUTE_UNUSED;
    4111           42 :   x2 = XVECEXP (x1, 0, 2);
    4112           42 :   x3 = XEXP (x2, 0);
    4113           42 :   x4 = XEXP (x3, 0);
    4114           42 :   if (maybe_ne (SUBREG_BYTE (x4), 0))
    4115              :     return -1;
    4116           42 :   x5 = XEXP (x4, 0);
    4117           42 :   if (GET_CODE (x5) != NOT)
    4118              :     return -1;
    4119           18 :   x6 = XEXP (x5, 0);
    4120           18 :   operands[3] = x6;
    4121           18 :   x7 = XEXP (x3, 1);
    4122           18 :   operands[4] = x7;
    4123           18 :   switch (GET_MODE (operands[0]))
    4124              :     {
    4125           18 :     case E_V16QImode:
    4126           18 :       if (!register_operand (operands[0], E_V16QImode)
    4127           18 :           || GET_MODE (x1) != E_V16QImode
    4128           18 :           || !register_operand (operands[1], E_V16QImode)
    4129           18 :           || !vector_operand (operands[2], E_V16QImode)
    4130           18 :           || GET_MODE (x2) != E_V16QImode
    4131           18 :           || GET_MODE (x5) != E_V16QImode
    4132           36 :           || !register_operand (operands[3], E_V16QImode))
    4133            0 :         return -1;
    4134           18 :       switch (GET_MODE (x3))
    4135              :         {
    4136           18 :         case E_V4SImode:
    4137           18 :           if (GET_MODE (x4) != E_V4SImode
    4138           18 :               || !const0_operand (operands[4], E_V4SImode))
    4139            0 :             return -1;
    4140              :           return 0;
    4141              : 
    4142            0 :         case E_V2DImode:
    4143            0 :           if (GET_MODE (x4) != E_V2DImode
    4144            0 :               || !const0_operand (operands[4], E_V2DImode))
    4145            0 :             return -1;
    4146              :           return 1;
    4147              : 
    4148              :         default:
    4149              :           return -1;
    4150              :         }
    4151              : 
    4152            0 :     case E_V32QImode:
    4153            0 :       if (!register_operand (operands[0], E_V32QImode)
    4154            0 :           || GET_MODE (x1) != E_V32QImode
    4155            0 :           || !register_operand (operands[1], E_V32QImode)
    4156            0 :           || !vector_operand (operands[2], E_V32QImode)
    4157            0 :           || GET_MODE (x2) != E_V32QImode
    4158            0 :           || GET_MODE (x5) != E_V32QImode
    4159            0 :           || !register_operand (operands[3], E_V32QImode))
    4160            0 :         return -1;
    4161            0 :       switch (GET_MODE (x3))
    4162              :         {
    4163            0 :         case E_V8SImode:
    4164            0 :           if (GET_MODE (x4) != E_V8SImode
    4165            0 :               || !const0_operand (operands[4], E_V8SImode))
    4166            0 :             return -1;
    4167              :           return 2;
    4168              : 
    4169            0 :         case E_V4DImode:
    4170            0 :           if (GET_MODE (x4) != E_V4DImode
    4171            0 :               || !const0_operand (operands[4], E_V4DImode))
    4172            0 :             return -1;
    4173              :           return 3;
    4174              : 
    4175              :         default:
    4176              :           return -1;
    4177              :         }
    4178              : 
    4179              :     default:
    4180              :       return -1;
    4181              :     }
    4182              : }
    4183              : 
    4184              : int
    4185           58 : pattern1255 (rtx x1)
    4186              : {
    4187           58 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4188           58 :   rtx x2, x3, x4, x5;
    4189           58 :   int res ATTRIBUTE_UNUSED;
    4190           58 :   x2 = XEXP (x1, 0);
    4191           58 :   x3 = XEXP (x2, 0);
    4192           58 :   x4 = XEXP (x3, 0);
    4193           58 :   operands[1] = x4;
    4194           58 :   x5 = XEXP (x3, 1);
    4195           58 :   operands[2] = x5;
    4196           58 :   if (!register_operand (operands[2], E_QImode))
    4197              :     return -1;
    4198           50 :   switch (GET_MODE (operands[0]))
    4199              :     {
    4200           40 :     case E_SImode:
    4201           40 :       return pattern1254 (x1, 
    4202           40 : E_SImode); /* [-1, 0] */
    4203              : 
    4204           10 :     case E_DImode:
    4205           10 :       if (pattern1254 (x1, 
    4206              : E_DImode) != 0)
    4207              :         return -1;
    4208              :       return 1;
    4209              : 
    4210              :     default:
    4211              :       return -1;
    4212              :     }
    4213              : }
    4214              : 
    4215              : int
    4216           30 : pattern1264 (rtx x1, machine_mode i1)
    4217              : {
    4218           30 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4219           30 :   rtx x2, x3;
    4220           30 :   int res ATTRIBUTE_UNUSED;
    4221           30 :   if (!register_operand (operands[0], i1)
    4222           30 :       || GET_MODE (x1) != i1)
    4223              :     return -1;
    4224           30 :   x2 = XEXP (x1, 0);
    4225           30 :   if (GET_MODE (x2) != i1)
    4226              :     return -1;
    4227           30 :   x3 = XEXP (x2, 0);
    4228           30 :   if (GET_MODE (x3) != i1
    4229           30 :       || !register_operand (operands[1], i1)
    4230           30 :       || !const0_operand (operands[3], i1)
    4231           33 :       || !const0_operand (operands[4], i1))
    4232           27 :     return -1;
    4233              :   return 0;
    4234              : }
    4235              : 
    4236              : int
    4237            0 : pattern1272 (rtx x1, machine_mode i1)
    4238              : {
    4239            0 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4240            0 :   int res ATTRIBUTE_UNUSED;
    4241            0 :   if (!register_operand (operands[1], i1)
    4242            0 :       || GET_MODE (x1) != i1)
    4243              :     return -1;
    4244            0 :   switch (GET_MODE (operands[2]))
    4245              :     {
    4246            0 :     case E_HImode:
    4247            0 :       if (!nonimmediate_operand (operands[2], E_HImode))
    4248              :         return -1;
    4249              :       return 0;
    4250              : 
    4251            0 :     case E_SImode:
    4252            0 :       if (!nonimmediate_operand (operands[2], E_SImode))
    4253              :         return -1;
    4254              :       return 1;
    4255              : 
    4256              :     default:
    4257              :       return -1;
    4258              :     }
    4259              : }
    4260              : 
    4261              : int
    4262      1682905 : pattern1279 (rtx x1, machine_mode i1)
    4263              : {
    4264      1682905 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4265      1682905 :   int res ATTRIBUTE_UNUSED;
    4266      1682905 :   if (!register_operand (operands[0], i1)
    4267      1654069 :       || GET_MODE (x1) != i1
    4268      1654069 :       || !nonimmediate_operand (operands[2], i1)
    4269      3335948 :       || !nonimmediate_operand (operands[3], i1))
    4270       668679 :     return -1;
    4271              :   return 0;
    4272              : }
    4273              : 
    4274              : int
    4275         1152 : pattern1286 (rtx x1, machine_mode i1)
    4276              : {
    4277         1152 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4278         1152 :   rtx x2;
    4279         1152 :   int res ATTRIBUTE_UNUSED;
    4280         1152 :   if (!register_operand (operands[0], i1)
    4281         1152 :       || GET_MODE (x1) != i1)
    4282              :     return -1;
    4283         1126 :   x2 = XEXP (x1, 0);
    4284         1126 :   if (GET_MODE (x2) != i1
    4285         1126 :       || !register_operand (operands[2], i1)
    4286         1014 :       || !nonimm_or_0_operand (operands[3], i1)
    4287         2140 :       || !register_operand (operands[1], i1))
    4288          126 :     return -1;
    4289              :   return 0;
    4290              : }
    4291              : 
    4292              : int
    4293         1058 : pattern1292 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
    4294              : {
    4295         1058 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4296         1058 :   rtx x2, x3;
    4297         1058 :   int res ATTRIBUTE_UNUSED;
    4298         1058 :   if (!register_operand (operands[0], i1)
    4299         1058 :       || GET_MODE (x1) != i1)
    4300              :     return -1;
    4301         1046 :   x2 = XEXP (x1, 0);
    4302         1046 :   if (GET_MODE (x2) != i1)
    4303              :     return -1;
    4304         1046 :   x3 = XEXP (x2, 0);
    4305         1046 :   if (GET_MODE (x3) != i2
    4306         1046 :       || !nonimmediate_operand (operands[1], i1)
    4307         1046 :       || !nonimm_or_0_operand (operands[2], i1)
    4308         2088 :       || !register_operand (operands[3], i3))
    4309            5 :     return -1;
    4310              :   return 0;
    4311              : }
    4312              : 
    4313              : int
    4314          787 : pattern1302 (rtx x1, machine_mode i1, machine_mode i2)
    4315              : {
    4316          787 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4317          787 :   rtx x2, x3;
    4318          787 :   int res ATTRIBUTE_UNUSED;
    4319          787 :   if (!register_operand (operands[0], i2)
    4320          787 :       || GET_MODE (x1) != i2)
    4321              :     return -1;
    4322          763 :   x2 = XEXP (x1, 0);
    4323          763 :   if (GET_MODE (x2) != i2)
    4324              :     return -1;
    4325          763 :   x3 = XEXP (x2, 0);
    4326          763 :   if (GET_MODE (x3) != i2
    4327          763 :       || !nonimmediate_operand (operands[1], i2)
    4328          751 :       || !nonimmediate_operand (operands[2], i2)
    4329          736 :       || !nonimmediate_operand (operands[3], i2)
    4330         1490 :       || !register_operand (operands[4], i1))
    4331           36 :     return -1;
    4332              :   return 0;
    4333              : }
    4334              : 
    4335              : int
    4336         2454 : pattern1310 (rtx x1)
    4337              : {
    4338         2454 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4339         2454 :   rtx x2, x3;
    4340         2454 :   int res ATTRIBUTE_UNUSED;
    4341         2454 :   if (!register_operand (operands[0], E_V16SImode)
    4342         2454 :       || GET_MODE (x1) != E_V16SImode)
    4343              :     return -1;
    4344         2421 :   x2 = XVECEXP (x1, 0, 0);
    4345         2421 :   if (GET_MODE (x2) != E_V16SImode)
    4346              :     return -1;
    4347         2421 :   x3 = XEXP (x2, 0);
    4348         2421 :   if (GET_MODE (x3) != E_V16SImode
    4349         2421 :       || !nonimm_or_0_operand (operands[2], E_V16SImode)
    4350         4842 :       || !register_operand (operands[3], E_HImode))
    4351           33 :     return -1;
    4352         2388 :   switch (GET_MODE (operands[1]))
    4353              :     {
    4354         1260 :     case E_V16HFmode:
    4355         1260 :       if (!register_operand (operands[1], E_V16HFmode))
    4356              :         return -1;
    4357              :       return 0;
    4358              : 
    4359         1128 :     case E_V16SFmode:
    4360         1128 :       if (!register_operand (operands[1], E_V16SFmode))
    4361              :         return -1;
    4362              :       return 1;
    4363              : 
    4364              :     default:
    4365              :       return -1;
    4366              :     }
    4367              : }
    4368              : 
    4369              : int
    4370          934 : pattern1321 (rtx x1)
    4371              : {
    4372          934 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4373          934 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    4374          934 :   rtx x10, x11, x12, x13, x14, x15;
    4375          934 :   int res ATTRIBUTE_UNUSED;
    4376          934 :   x2 = XEXP (x1, 0);
    4377          934 :   x3 = XEXP (x2, 0);
    4378          934 :   x4 = XEXP (x3, 1);
    4379          934 :   x5 = XVECEXP (x4, 0, 0);
    4380          934 :   if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    4381              :     return -1;
    4382          934 :   x6 = XVECEXP (x4, 0, 1);
    4383          934 :   if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
    4384              :     return -1;
    4385          934 :   x7 = XVECEXP (x4, 0, 2);
    4386          934 :   if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
    4387              :     return -1;
    4388          934 :   x8 = XVECEXP (x4, 0, 3);
    4389          934 :   if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
    4390              :     return -1;
    4391          934 :   x9 = XVECEXP (x4, 0, 4);
    4392          934 :   if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
    4393              :     return -1;
    4394          934 :   x10 = XVECEXP (x4, 0, 5);
    4395          934 :   if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 10])
    4396              :     return -1;
    4397          934 :   x11 = XVECEXP (x4, 0, 6);
    4398          934 :   if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 12])
    4399              :     return -1;
    4400          934 :   x12 = XVECEXP (x4, 0, 7);
    4401          934 :   if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 14])
    4402              :     return -1;
    4403          934 :   x13 = XEXP (x1, 1);
    4404          934 :   x14 = XEXP (x13, 0);
    4405          934 :   x15 = XEXP (x14, 1);
    4406          934 :   return pattern1320 (x15, 
    4407          934 : 8); /* [-1, 0] */
    4408              : }
    4409              : 
    4410              : int
    4411          133 : pattern1334 (rtx x1)
    4412              : {
    4413          133 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4414          133 :   rtx x2, x3, x4;
    4415          133 :   int res ATTRIBUTE_UNUSED;
    4416          133 :   x2 = XEXP (x1, 0);
    4417          133 :   x3 = XEXP (x2, 0);
    4418          133 :   operands[0] = x3;
    4419          133 :   switch (GET_MODE (operands[0]))
    4420              :     {
    4421          127 :     case E_QImode:
    4422          127 :       x4 = XEXP (x1, 1);
    4423          127 :       return pattern1333 (x4, 
    4424          127 : E_QImode); /* [-1, 0] */
    4425              : 
    4426            6 :     case E_HImode:
    4427            6 :       x4 = XEXP (x1, 1);
    4428            6 :       if (pattern1333 (x4, 
    4429              : E_HImode) != 0)
    4430              :         return -1;
    4431              :       return 1;
    4432              : 
    4433              :     default:
    4434              :       return -1;
    4435              :     }
    4436              : }
    4437              : 
    4438              : int
    4439       143815 : pattern1343 (rtx x1, machine_mode i1)
    4440              : {
    4441       143815 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4442       143815 :   int res ATTRIBUTE_UNUSED;
    4443       143815 :   if (!register_operand (operands[0], i1)
    4444       138115 :       || GET_MODE (x1) != i1
    4445       138115 :       || !register_operand (operands[1], i1)
    4446       279379 :       || !nonmemory_operand (operands[2], E_QImode))
    4447        11251 :     return -1;
    4448              :   return 0;
    4449              : }
    4450              : 
    4451              : int
    4452      2099686 : pattern1349 (rtx x1, machine_mode i1)
    4453              : {
    4454      2099686 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4455      2099686 :   int res ATTRIBUTE_UNUSED;
    4456      2099686 :   if (!mask_reg_operand (operands[0], i1)
    4457           48 :       || GET_MODE (x1) != i1
    4458           48 :       || !mask_reg_operand (operands[1], i1)
    4459      2099734 :       || !const_int_operand (operands[2], E_VOIDmode))
    4460      2099638 :     return -1;
    4461              :   return 0;
    4462              : }
    4463              : 
    4464              : int
    4465         5162 : pattern1355 (rtx x1, machine_mode i1)
    4466              : {
    4467         5162 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4468         5162 :   rtx x2, x3, x4, x5, x6, x7, x8;
    4469         5162 :   int res ATTRIBUTE_UNUSED;
    4470         5162 :   x2 = XVECEXP (x1, 0, 0);
    4471         5162 :   x3 = XEXP (x2, 1);
    4472         5162 :   if (GET_MODE (x3) != i1)
    4473              :     return -1;
    4474         4620 :   x4 = XVECEXP (x1, 0, 1);
    4475         4620 :   if (GET_CODE (x4) != CLOBBER)
    4476              :     return -1;
    4477         4620 :   x5 = XEXP (x4, 0);
    4478         4620 :   if (GET_CODE (x5) != REG
    4479         4620 :       || REGNO (x5) != 17
    4480         9240 :       || GET_MODE (x5) != E_CCmode)
    4481              :     return -1;
    4482         4620 :   x6 = XEXP (x3, 0);
    4483         4620 :   if (!rtx_equal_p (x6, operands[0]))
    4484              :     return -1;
    4485         4566 :   x7 = XEXP (x2, 0);
    4486         4566 :   if (!rtx_equal_p (x7, operands[0]))
    4487              :     return -1;
    4488         4566 :   x8 = PATTERN (peep2_next_insn (2));
    4489         4566 :   return pattern1354 (x8); /* [-1, 0] */
    4490              : }
    4491              : 
    4492              : int
    4493       661629 : pattern1365 (rtx x1, machine_mode i1)
    4494              : {
    4495       661629 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4496       661629 :   int res ATTRIBUTE_UNUSED;
    4497       661629 :   if (!register_operand (operands[0], i1)
    4498       656803 :       || GET_MODE (x1) != i1
    4499       656803 :       || !nonimmediate_operand (operands[1], i1)
    4500      1302053 :       || !const_int_operand (operands[2], i1))
    4501        79511 :     return -1;
    4502              :   return 0;
    4503              : }
    4504              : 
    4505              : int
    4506          474 : pattern1370 (rtx x1, machine_mode i1)
    4507              : {
    4508          474 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4509          474 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    4510          474 :   int res ATTRIBUTE_UNUSED;
    4511          474 :   if (GET_MODE (x1) != i1)
    4512              :     return -1;
    4513          332 :   x2 = XVECEXP (x1, 0, 0);
    4514          332 :   if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    4515              :     return -1;
    4516          332 :   x3 = XVECEXP (x1, 0, 1);
    4517          332 :   if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    4518              :     return -1;
    4519          332 :   x4 = XVECEXP (x1, 0, 2);
    4520          332 :   if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    4521              :     return -1;
    4522          332 :   x5 = XVECEXP (x1, 0, 3);
    4523          332 :   if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    4524              :     return -1;
    4525          332 :   x6 = XVECEXP (x1, 0, 4);
    4526          332 :   if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    4527              :     return -1;
    4528          332 :   x7 = XVECEXP (x1, 0, 5);
    4529          332 :   if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    4530              :     return -1;
    4531          332 :   x8 = XVECEXP (x1, 0, 6);
    4532          332 :   if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    4533              :     return -1;
    4534          332 :   x9 = XVECEXP (x1, 0, 7);
    4535          332 :   if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    4536            0 :     return -1;
    4537              :   return 0;
    4538              : }
    4539              : 
    4540              : int
    4541         1814 : pattern1383 (machine_mode i1, machine_mode i2)
    4542              : {
    4543         1814 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4544         1814 :   int res ATTRIBUTE_UNUSED;
    4545         1814 :   if (!bcst_vector_operand (operands[2], i1)
    4546         1808 :       || !bcst_vector_operand (operands[3], i1)
    4547         1808 :       || !const0_operand (operands[4], i1)
    4548         3622 :       || !register_operand (operands[5], i2))
    4549            6 :     return -1;
    4550              :   return 0;
    4551              : }
    4552              : 
    4553              : int
    4554          499 : pattern1388 (rtx x1, machine_mode i1)
    4555              : {
    4556          499 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4557          499 :   rtx x2;
    4558          499 :   int res ATTRIBUTE_UNUSED;
    4559          499 :   if (!register_operand (operands[0], i1)
    4560          499 :       || GET_MODE (x1) != i1)
    4561              :     return -1;
    4562          479 :   x2 = XEXP (x1, 0);
    4563          479 :   if (GET_MODE (x2) != i1
    4564          479 :       || !nonimmediate_operand (operands[1], i1)
    4565          479 :       || !nonimmediate_operand (operands[2], i1)
    4566          950 :       || !nonimmediate_operand (operands[3], i1))
    4567            8 :     return -1;
    4568              :   return 0;
    4569              : }
    4570              : 
    4571              : int
    4572          279 : pattern1397 (rtx x1, machine_mode i1, machine_mode i2)
    4573              : {
    4574          279 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4575          279 :   rtx x2, x3;
    4576          279 :   int res ATTRIBUTE_UNUSED;
    4577          279 :   if (!register_operand (operands[0], i2)
    4578          279 :       || GET_MODE (x1) != i2)
    4579              :     return -1;
    4580          273 :   x2 = XEXP (x1, 0);
    4581          273 :   if (GET_MODE (x2) != i2)
    4582              :     return -1;
    4583          273 :   x3 = XEXP (x2, 0);
    4584          273 :   if (GET_MODE (x3) != i2
    4585          273 :       || !nonimmediate_operand (operands[1], i2)
    4586          546 :       || pattern1385 (
    4587              : i1, 
    4588              : i2) != 0)
    4589            0 :     return -1;
    4590              :   return 0;
    4591              : }
    4592              : 
    4593              : int
    4594         1941 : pattern1406 (rtx x1, machine_mode i1)
    4595              : {
    4596         1941 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4597         1941 :   rtx x2, x3, x4;
    4598         1941 :   int res ATTRIBUTE_UNUSED;
    4599         1941 :   if (!register_operand (operands[0], i1)
    4600         1941 :       || GET_MODE (x1) != i1)
    4601              :     return -1;
    4602         1866 :   x2 = XVECEXP (x1, 0, 0);
    4603         1866 :   if (GET_MODE (x2) != i1)
    4604              :     return -1;
    4605         1866 :   x3 = XEXP (x2, 0);
    4606         1866 :   if (GET_MODE (x3) != i1)
    4607              :     return -1;
    4608         1866 :   x4 = XEXP (x3, 0);
    4609         1866 :   if (GET_MODE (x4) != i1
    4610         1866 :       || !register_operand (operands[1], i1)
    4611         1866 :       || !register_operand (operands[2], i1)
    4612         3732 :       || !nonimm_or_0_operand (operands[4], i1))
    4613            0 :     return -1;
    4614              :   return 0;
    4615              : }
    4616              : 
    4617              : int
    4618         2079 : pattern1416 (rtx x1, machine_mode i1)
    4619              : {
    4620         2079 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4621         2079 :   rtx x2, x3;
    4622         2079 :   int res ATTRIBUTE_UNUSED;
    4623         2079 :   if (!register_operand (operands[0], i1)
    4624         2079 :       || GET_MODE (x1) != i1)
    4625              :     return -1;
    4626         1967 :   x2 = XVECEXP (x1, 0, 0);
    4627         1967 :   if (GET_MODE (x2) != i1)
    4628              :     return -1;
    4629         1967 :   x3 = XEXP (x2, 0);
    4630         1967 :   if (GET_MODE (x3) != i1
    4631         1967 :       || !register_operand (operands[1], i1)
    4632         3841 :       || !register_operand (operands[2], i1))
    4633          149 :     return -1;
    4634              :   return 0;
    4635              : }
    4636              : 
    4637              : int
    4638       129782 : pattern1425 (rtx x1, machine_mode i1, machine_mode i2)
    4639              : {
    4640       129782 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4641       129782 :   rtx x2;
    4642       129782 :   int res ATTRIBUTE_UNUSED;
    4643       129782 :   if (!register_operand (operands[0], i1)
    4644       129782 :       || GET_MODE (x1) != i1)
    4645              :     return -1;
    4646       128271 :   x2 = XEXP (x1, 0);
    4647       128271 :   if (GET_MODE (x2) != i2
    4648       128153 :       || !register_operand (operands[1], i1)
    4649       254152 :       || !nonimmediate_operand (operands[2], i1))
    4650         2999 :     return -1;
    4651              :   return 0;
    4652              : }
    4653              : 
    4654              : int
    4655        97224 : pattern1429 (rtx x1)
    4656              : {
    4657        97224 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4658        97224 :   rtx x2, x3;
    4659        97224 :   int res ATTRIBUTE_UNUSED;
    4660        97224 :   x2 = XEXP (x1, 1);
    4661        97224 :   if (maybe_ne (SUBREG_BYTE (x2), 0)
    4662        97224 :       || GET_MODE (x2) != E_QImode)
    4663              :     return -1;
    4664        97224 :   x3 = XEXP (x2, 0);
    4665        97224 :   if (GET_CODE (x3) != AND)
    4666              :     return -1;
    4667        12196 :   return pattern819 (x1); /* [-1, 1] */
    4668              : }
    4669              : 
    4670              : int
    4671           12 : pattern1435 (rtx x1)
    4672              : {
    4673           12 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4674           12 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    4675           12 :   rtx x10, x11, x12;
    4676           12 :   int res ATTRIBUTE_UNUSED;
    4677           12 :   x2 = XVECEXP (x1, 0, 1);
    4678           12 :   x3 = XEXP (x2, 1);
    4679           12 :   x4 = XEXP (x3, 0);
    4680           12 :   if (!rtx_equal_p (x4, operands[2]))
    4681              :     return -1;
    4682           12 :   x5 = XVECEXP (x1, 0, 0);
    4683           12 :   x6 = XEXP (x5, 1);
    4684           12 :   x7 = XEXP (x6, 0);
    4685           12 :   x8 = XEXP (x7, 0);
    4686           12 :   x9 = XEXP (x8, 0);
    4687           12 :   operands[3] = x9;
    4688           12 :   if (!flags_reg_operand (operands[3], E_VOIDmode))
    4689              :     return -1;
    4690           12 :   x10 = XEXP (x7, 1);
    4691           12 :   operands[1] = x10;
    4692           12 :   x11 = XEXP (x2, 0);
    4693           12 :   operands[0] = x11;
    4694           12 :   x12 = XEXP (x3, 1);
    4695           12 :   if (!rtx_equal_p (x12, operands[1]))
    4696              :     return -1;
    4697           12 :   switch (GET_MODE (x7))
    4698              :     {
    4699              :     case E_QImode:
    4700              :       return 0;
    4701              : 
    4702              :     case E_HImode:
    4703              :       return 1;
    4704              : 
    4705              :     case E_SImode:
    4706              :       return 2;
    4707              : 
    4708              :     case E_DImode:
    4709              :       return 3;
    4710              : 
    4711              :     default:
    4712              :       return -1;
    4713              :     }
    4714              : }
    4715              : 
    4716              : int
    4717       146330 : pattern1452 (rtx x1, machine_mode i1)
    4718              : {
    4719       146330 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4720       146330 :   rtx x2, x3, x4, x5, x6, x7;
    4721       146330 :   int res ATTRIBUTE_UNUSED;
    4722       146330 :   if (!register_operand (operands[2], i1)
    4723       146330 :       || !register_operand (operands[0], i1))
    4724            0 :     return -1;
    4725       146330 :   x2 = XVECEXP (x1, 0, 1);
    4726       146330 :   x3 = XEXP (x2, 1);
    4727       146330 :   if (GET_MODE (x3) != i1)
    4728              :     return -1;
    4729       146330 :   x4 = XEXP (x3, 0);
    4730       146330 :   if (GET_MODE (x4) != i1
    4731       146330 :       || !register_operand (operands[5], i1)
    4732       146307 :       || !register_operand (operands[3], i1)
    4733       289627 :       || !register_operand (operands[1], i1))
    4734         3033 :     return -1;
    4735       143297 :   x5 = XVECEXP (x1, 0, 2);
    4736       143297 :   x6 = XEXP (x5, 1);
    4737       143297 :   if (GET_MODE (x6) != i1)
    4738              :     return -1;
    4739       143297 :   x7 = XEXP (x6, 0);
    4740       143297 :   if (GET_MODE (x7) != i1
    4741       143297 :       || !register_operand (operands[4], i1))
    4742        11248 :     return -1;
    4743              :   return 0;
    4744              : }
    4745              : 
    4746              : int
    4747          678 : pattern1466 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
    4748              : {
    4749          678 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4750          678 :   rtx x2, x3;
    4751          678 :   int res ATTRIBUTE_UNUSED;
    4752          678 :   if (!register_operand (operands[0], i1)
    4753          678 :       || GET_MODE (x1) != i1)
    4754              :     return -1;
    4755          647 :   x2 = XEXP (x1, 0);
    4756          647 :   if (GET_MODE (x2) != i1
    4757          647 :       || !register_operand (operands[2], i2)
    4758          647 :       || !register_operand (operands[1], i1)
    4759         1265 :       || !nonimmediate_operand (operands[3], i1))
    4760           29 :     return -1;
    4761          618 :   x3 = XEXP (x1, 1);
    4762          618 :   if (GET_MODE (x3) != i1
    4763          618 :       || !register_operand (operands[4], i3))
    4764           36 :     return -1;
    4765              :   return 0;
    4766              : }
    4767              : 
    4768              : int
    4769         1883 : pattern1475 (rtx x1, machine_mode i1, machine_mode i2)
    4770              : {
    4771         1883 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4772         1883 :   rtx x2;
    4773         1883 :   int res ATTRIBUTE_UNUSED;
    4774         1883 :   if (!register_operand (operands[0], i1)
    4775         1706 :       || GET_MODE (x1) != i1
    4776         1706 :       || !vector_operand (operands[1], i1)
    4777         3587 :       || !vector_operand (operands[2], i1))
    4778         1082 :     return -1;
    4779          801 :   x2 = XEXP (x1, 2);
    4780          801 :   if (GET_MODE (x2) != i2
    4781          801 :       || !register_operand (operands[3], i1)
    4782          570 :       || !const0_operand (operands[4], i1)
    4783          926 :       || !const_0_to_7_operand (operands[5], E_SImode))
    4784          676 :     return -1;
    4785              :   return 0;
    4786              : }
    4787              : 
    4788              : int
    4789         1094 : pattern1484 (rtx x1, machine_mode i1, machine_mode i2)
    4790              : {
    4791         1094 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4792         1094 :   rtx x2, x3, x4, x5;
    4793         1094 :   int res ATTRIBUTE_UNUSED;
    4794         1094 :   if (!register_operand (operands[0], i2)
    4795         1094 :       || GET_MODE (x1) != i2)
    4796              :     return -1;
    4797         1067 :   x2 = XVECEXP (x1, 0, 0);
    4798         1067 :   if (GET_MODE (x2) != i2)
    4799              :     return -1;
    4800         1067 :   x3 = XEXP (x2, 0);
    4801         1067 :   if (GET_MODE (x3) != i2)
    4802              :     return -1;
    4803         1067 :   x4 = XEXP (x3, 0);
    4804         1067 :   if (GET_MODE (x4) != i2)
    4805              :     return -1;
    4806         1067 :   x5 = XEXP (x4, 0);
    4807         1067 :   if (GET_MODE (x5) != i1)
    4808            0 :     return -1;
    4809              :   return 0;
    4810              : }
    4811              : 
    4812              : int
    4813          295 : pattern1491 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
    4814              : {
    4815          295 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4816          295 :   rtx x2, x3, x4;
    4817          295 :   int res ATTRIBUTE_UNUSED;
    4818          295 :   if (!nonimmediate_operand (operands[0], i3)
    4819          295 :       || GET_MODE (x1) != i3)
    4820              :     return -1;
    4821          295 :   x2 = XEXP (x1, 0);
    4822          295 :   if (GET_MODE (x2) != i1
    4823          295 :       || !nonimmediate_operand (operands[1], i2))
    4824            0 :     return -1;
    4825          295 :   x3 = XEXP (x2, 1);
    4826          295 :   if (GET_MODE (x3) != i2)
    4827              :     return -1;
    4828          295 :   x4 = XEXP (x1, 1);
    4829          295 :   if (GET_MODE (x4) != i1)
    4830              :     return -1;
    4831              :   return 0;
    4832              : }
    4833              : 
    4834              : int
    4835       158437 : pattern1498 (rtx x1)
    4836              : {
    4837       158437 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4838       158437 :   rtx x2, x3, x4, x5, x6, x7, x8;
    4839       158437 :   int res ATTRIBUTE_UNUSED;
    4840       158437 :   x2 = XVECEXP (x1, 0, 1);
    4841       158437 :   x3 = XEXP (x2, 1);
    4842       158437 :   x4 = XEXP (x3, 0);
    4843       158437 :   if (!rtx_equal_p (x4, operands[1]))
    4844              :     return -1;
    4845       157083 :   x5 = XEXP (x3, 1);
    4846       157083 :   if (!rtx_equal_p (x5, operands[2]))
    4847              :     return -1;
    4848       157083 :   x6 = XVECEXP (x1, 0, 0);
    4849       157083 :   x7 = XEXP (x6, 1);
    4850       157083 :   x8 = XEXP (x7, 0);
    4851       157083 :   switch (GET_MODE (x8))
    4852              :     {
    4853          687 :     case E_QImode:
    4854          687 :       return pattern1438 (x3, 
    4855          687 : E_QImode); /* [-1, 0] */
    4856              : 
    4857         6065 :     case E_HImode:
    4858         6065 :       if (pattern1438 (x3, 
    4859              : E_HImode) != 0)
    4860              :         return -1;
    4861              :       return 1;
    4862              : 
    4863        42619 :     case E_SImode:
    4864        42619 :       if (pattern1439 (x3, 
    4865              : E_SImode) != 0)
    4866              :         return -1;
    4867              :       return 2;
    4868              : 
    4869       107694 :     case E_DImode:
    4870       107694 :       if (pattern1439 (x3, 
    4871              : E_DImode) != 0)
    4872              :         return -1;
    4873              :       return 3;
    4874              : 
    4875              :     default:
    4876              :       return -1;
    4877              :     }
    4878              : }
    4879              : 
    4880              : int
    4881        27926 : pattern1515 (rtx x1, machine_mode i1)
    4882              : {
    4883        27926 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4884        27926 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    4885        27926 :   rtx x10;
    4886        27926 :   int res ATTRIBUTE_UNUSED;
    4887        27926 :   x2 = PATTERN (peep2_next_insn (2));
    4888        27926 :   x3 = XEXP (x2, 1);
    4889        27926 :   if (!rtx_equal_p (x3, operands[0]))
    4890              :     return -1;
    4891         7017 :   x4 = XVECEXP (x1, 0, 0);
    4892         7017 :   x5 = XEXP (x4, 1);
    4893         7017 :   switch (GET_CODE (x5))
    4894              :     {
    4895         2022 :     case COMPARE:
    4896         2022 :       x6 = XEXP (x4, 0);
    4897         2022 :       if (GET_CODE (x6) != REG
    4898         2022 :           || REGNO (x6) != 17)
    4899              :         return -1;
    4900         2022 :       x7 = XVECEXP (x1, 0, 1);
    4901         2022 :       if (GET_CODE (x7) != SET)
    4902              :         return -1;
    4903         2022 :       x8 = XEXP (x7, 1);
    4904         2022 :       if (GET_MODE (x8) != i1)
    4905              :         return -1;
    4906         1995 :       x9 = XEXP (x7, 0);
    4907         1995 :       if (!rtx_equal_p (x9, operands[0]))
    4908              :         return -1;
    4909         1995 :       x10 = XEXP (x5, 0);
    4910         1995 :       switch (GET_CODE (x10))
    4911              :         {
    4912            0 :         case REG:
    4913            0 :           return pattern1199 (x1, 
    4914            0 : i1); /* [-1, 0] */
    4915              : 
    4916            0 :         case SUBREG:
    4917            0 :         case MEM:
    4918            0 :           if (pattern1200 (x1, 
    4919              : i1) != 0)
    4920              :             return -1;
    4921              :           return 1;
    4922              : 
    4923         1941 :         case PLUS:
    4924         1941 :           if (pattern1201 (x1, 
    4925              : i1) != 0)
    4926              :             return -1;
    4927              :           return 2;
    4928              : 
    4929              :         default:
    4930              :           return -1;
    4931              :         }
    4932              : 
    4933         1223 :     case PLUS:
    4934         1223 :       res = pattern1203 (x1, 
    4935              : i1);
    4936         1223 :       if (res >= 0)
    4937            0 :         return res + 3; /* [3, 4] */
    4938              :       return -1;
    4939              : 
    4940           90 :     case MINUS:
    4941           90 :       res = pattern1204 (x1, 
    4942              : i1);
    4943           90 :       if (res >= 0)
    4944            0 :         return res + 5; /* [5, 6] */
    4945              :       return -1;
    4946              : 
    4947              :     default:
    4948              :       return -1;
    4949              :     }
    4950              : }
    4951              : 
    4952              : int
    4953        25968 : pattern1535 (rtx x1)
    4954              : {
    4955        25968 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4956        25968 :   rtx x2, x3, x4, x5;
    4957        25968 :   int res ATTRIBUTE_UNUSED;
    4958        25968 :   if (!int248_register_operand (operands[2], E_VOIDmode))
    4959              :     return -1;
    4960        24458 :   x2 = XEXP (x1, 1);
    4961        24458 :   x3 = XEXP (x2, 1);
    4962        24458 :   operands[1] = x3;
    4963        24458 :   if (!nonimmediate_operand (operands[1], E_QImode))
    4964              :     return -1;
    4965        11127 :   x4 = XEXP (x1, 0);
    4966        11127 :   switch (GET_CODE (x4))
    4967              :     {
    4968           35 :     case STRICT_LOW_PART:
    4969           35 :       x5 = XEXP (x4, 0);
    4970           35 :       operands[0] = x5;
    4971           35 :       if (!register_operand (operands[0], E_QImode))
    4972              :         return -1;
    4973           35 :       return pattern1534 (); /* [-1, 2] */
    4974              : 
    4975        11092 :     case REG:
    4976        11092 :     case SUBREG:
    4977        11092 :     case MEM:
    4978        11092 :       operands[0] = x4;
    4979        11092 :       if (!nonimmediate_operand (operands[0], E_QImode))
    4980              :         return -1;
    4981        11092 :       res = pattern1534 ();
    4982        11092 :       if (res >= 0)
    4983          438 :         return res + 3; /* [3, 5] */
    4984              :       return -1;
    4985              : 
    4986              :     default:
    4987              :       return -1;
    4988              :     }
    4989              : }
    4990              : 
    4991              : int
    4992          757 : pattern1551 (rtx x1, machine_mode i1)
    4993              : {
    4994          757 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4995          757 :   rtx x2, x3;
    4996          757 :   int res ATTRIBUTE_UNUSED;
    4997          757 :   if (!register_operand (operands[0], i1)
    4998          757 :       || GET_MODE (x1) != i1)
    4999              :     return -1;
    5000          739 :   x2 = XEXP (x1, 0);
    5001          739 :   if (GET_MODE (x2) != i1)
    5002              :     return -1;
    5003          739 :   x3 = XEXP (x2, 0);
    5004          739 :   if (GET_MODE (x3) != i1
    5005          739 :       || !nonimmediate_operand (operands[2], i1)
    5006          739 :       || !nonimm_or_0_operand (operands[4], i1)
    5007         1478 :       || !register_operand (operands[1], i1))
    5008            0 :     return -1;
    5009              :   return 0;
    5010              : }
    5011              : 
    5012              : int
    5013         1279 : pattern1559 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
    5014              : {
    5015         1279 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5016         1279 :   rtx x2, x3, x4, x5, x6, x7;
    5017         1279 :   int res ATTRIBUTE_UNUSED;
    5018         1279 :   if (!register_operand (operands[0], i2)
    5019         1279 :       || GET_MODE (x1) != i2)
    5020              :     return -1;
    5021         1238 :   x2 = XEXP (x1, 0);
    5022         1238 :   if (GET_MODE (x2) != i2)
    5023              :     return -1;
    5024         1238 :   x3 = XEXP (x2, 0);
    5025         1238 :   if (GET_MODE (x3) != i3)
    5026              :     return -1;
    5027         1238 :   x4 = XEXP (x3, 0);
    5028         1238 :   if (GET_MODE (x4) != i3)
    5029              :     return -1;
    5030         1238 :   x5 = XEXP (x4, 0);
    5031         1238 :   if (GET_MODE (x5) != i3)
    5032              :     return -1;
    5033         1238 :   x6 = XEXP (x5, 0);
    5034         1238 :   if (GET_MODE (x6) != i3
    5035         1238 :       || !vector_operand (operands[1], i2))
    5036            0 :     return -1;
    5037         1238 :   x7 = XEXP (x5, 1);
    5038         1238 :   if (GET_MODE (x7) != i3
    5039         1238 :       || !vector_operand (operands[2], i2)
    5040         1238 :       || !const1_operand (operands[5], i3)
    5041         1238 :       || !nonimm_or_0_operand (operands[3], i2)
    5042         2445 :       || !register_operand (operands[4], i1))
    5043          110 :     return -1;
    5044              :   return 0;
    5045              : }
    5046              : 
    5047              : int
    5048       160938 : pattern1574 (rtx x1)
    5049              : {
    5050       160938 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5051       160938 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    5052       160938 :   rtx x10, x11, x12, x13, x14, x15, x16;
    5053       160938 :   int res ATTRIBUTE_UNUSED;
    5054       160938 :   x2 = XVECEXP (x1, 0, 0);
    5055       160938 :   x3 = XEXP (x2, 1);
    5056       160938 :   x4 = XEXP (x3, 0);
    5057       160938 :   x5 = XEXP (x4, 0);
    5058       160938 :   x6 = XEXP (x5, 0);
    5059       160938 :   operands[1] = x6;
    5060       160938 :   x7 = XEXP (x3, 1);
    5061       160938 :   x8 = XEXP (x7, 0);
    5062       160938 :   x9 = XEXP (x8, 0);
    5063       160938 :   if (!rtx_equal_p (x9, operands[1]))
    5064              :     return -1;
    5065       156086 :   x10 = XVECEXP (x1, 0, 1);
    5066       156086 :   x11 = XEXP (x10, 1);
    5067       156086 :   x12 = XEXP (x11, 0);
    5068       156086 :   if (!rtx_equal_p (x12, operands[1]))
    5069              :     return -1;
    5070       152908 :   x13 = XEXP (x4, 1);
    5071       152908 :   switch (GET_CODE (x13))
    5072              :     {
    5073        90398 :     case SIGN_EXTEND:
    5074        90398 :       x14 = XEXP (x13, 0);
    5075        90398 :       operands[2] = x14;
    5076        90398 :       x15 = XEXP (x8, 1);
    5077        90398 :       if (!rtx_equal_p (x15, operands[2]))
    5078              :         return -1;
    5079        90361 :       x16 = XEXP (x11, 1);
    5080        90361 :       if (!rtx_equal_p (x16, operands[2]))
    5081              :         return -1;
    5082        90114 :       switch (GET_MODE (x4))
    5083              :         {
    5084         5149 :         case E_HImode:
    5085         5149 :           return pattern1572 (x1, 
    5086              : E_QImode, 
    5087         5149 : E_HImode); /* [-1, 0] */
    5088              : 
    5089         6042 :         case E_SImode:
    5090         6042 :           if (pattern1572 (x1, 
    5091              : E_HImode, 
    5092              : E_SImode) != 0)
    5093              :             return -1;
    5094              :           return 1;
    5095              : 
    5096        23073 :         case E_DImode:
    5097        23073 :           if (GET_MODE (x5) != E_DImode
    5098        23073 :               || !nonimmediate_operand (operands[1], E_SImode)
    5099        22672 :               || GET_MODE (x13) != E_DImode
    5100        22672 :               || !x86_64_sext_operand (operands[2], E_SImode)
    5101        45450 :               || pattern725 (x1, 
    5102              : E_SImode, 
    5103              : E_DImode) != 0)
    5104          696 :             return -1;
    5105              :           return 2;
    5106              : 
    5107        38591 :         case E_TImode:
    5108        38591 :           if (GET_MODE (x5) != E_TImode
    5109        38591 :               || !nonimmediate_operand (operands[1], E_DImode)
    5110        38239 :               || GET_MODE (x13) != E_TImode
    5111        76830 :               || pattern725 (x1, 
    5112              : E_DImode, 
    5113              : E_TImode) != 0)
    5114          352 :             return -1;
    5115              :           return 3;
    5116              : 
    5117        17259 :         case E_POImode:
    5118        17259 :           if (pattern726 (x1, 
    5119              : E_TImode, 
    5120              : E_POImode) != 0)
    5121              :             return -1;
    5122              :           return 4;
    5123              : 
    5124              :         default:
    5125              :           return -1;
    5126              :         }
    5127              : 
    5128        61514 :     case CONST_INT:
    5129        61514 :     case CONST_WIDE_INT:
    5130        61514 :       operands[3] = x13;
    5131        61514 :       x15 = XEXP (x8, 1);
    5132        61514 :       operands[2] = x15;
    5133        61514 :       x16 = XEXP (x11, 1);
    5134        61514 :       if (!rtx_equal_p (x16, operands[2]))
    5135              :         return -1;
    5136        61148 :       switch (GET_MODE (x4))
    5137              :         {
    5138         5936 :         case E_HImode:
    5139         5936 :           if (pattern1573 (x1, 
    5140              : E_QImode, 
    5141              : E_HImode) != 0)
    5142              :             return -1;
    5143              :           return 5;
    5144              : 
    5145         5928 :         case E_SImode:
    5146         5928 :           if (pattern1573 (x1, 
    5147              : E_HImode, 
    5148              : E_SImode) != 0)
    5149              :             return -1;
    5150              :           return 6;
    5151              : 
    5152        12323 :         case E_DImode:
    5153        12323 :           if (pattern1573 (x1, 
    5154              : E_SImode, 
    5155              : E_DImode) != 0)
    5156              :             return -1;
    5157              :           return 7;
    5158              : 
    5159        24311 :         case E_TImode:
    5160        24311 :           if (GET_MODE (x5) != E_TImode
    5161        24311 :               || !nonimmediate_operand (operands[1], E_DImode)
    5162        48622 :               || pattern725 (x1, 
    5163              : E_DImode, 
    5164              : E_TImode) != 0)
    5165            0 :             return -1;
    5166              :           return 8;
    5167              : 
    5168        12650 :         case E_POImode:
    5169        12650 :           if (pattern727 (x1, 
    5170              : E_TImode, 
    5171              : E_POImode) != 0)
    5172              :             return -1;
    5173              :           return 9;
    5174              : 
    5175              :         default:
    5176              :           return -1;
    5177              :         }
    5178              : 
    5179              :     default:
    5180              :       return -1;
    5181              :     }
    5182              : }
    5183              : 
    5184              : int
    5185          638 : pattern1620 (rtx x1, machine_mode i1)
    5186              : {
    5187          638 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5188          638 :   rtx x2, x3, x4;
    5189          638 :   int res ATTRIBUTE_UNUSED;
    5190          638 :   if (!vsib_mem_operator (operands[5], i1)
    5191          638 :       || !register_operand (operands[6], E_QImode))
    5192          220 :     return -1;
    5193          418 :   x2 = XEXP (x1, 1);
    5194          418 :   if (GET_MODE (x2) != i1
    5195          418 :       || !register_operand (operands[3], i1))
    5196           74 :     return -1;
    5197          344 :   x3 = XEXP (x1, 0);
    5198          344 :   x4 = XEXP (x3, 0);
    5199          344 :   switch (GET_MODE (x4))
    5200              :     {
    5201            0 :     case E_SImode:
    5202            0 :       return pattern1619 (
    5203            0 : E_SImode); /* [-1, 1] */
    5204              : 
    5205          344 :     case E_DImode:
    5206          344 :       res = pattern1619 (
    5207              : E_DImode);
    5208          344 :       if (res >= 0)
    5209          204 :         return res + 2; /* [2, 3] */
    5210              :       return -1;
    5211              : 
    5212              :     default:
    5213              :       return -1;
    5214              :     }
    5215              : }
    5216              : 
    5217              : int
    5218          184 : pattern1633 (rtx x1, int i1, int i2, int i3, int i4)
    5219              : {
    5220          184 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5221          184 :   rtx x2, x3, x4, x5;
    5222          184 :   int res ATTRIBUTE_UNUSED;
    5223          184 :   if (XVECLEN (x1, 0) != 4)
    5224              :     return -1;
    5225          184 :   x2 = XVECEXP (x1, 0, 0);
    5226          184 :   if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + i4])
    5227              :     return -1;
    5228          184 :   x3 = XVECEXP (x1, 0, 1);
    5229          184 :   if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + i3])
    5230              :     return -1;
    5231          184 :   x4 = XVECEXP (x1, 0, 2);
    5232          184 :   if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + i2])
    5233              :     return -1;
    5234          184 :   x5 = XVECEXP (x1, 0, 3);
    5235          184 :   if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + i1])
    5236            0 :     return -1;
    5237              :   return 0;
    5238              : }
    5239              : 
    5240              : int
    5241            1 : pattern1643 (rtx x1, machine_mode i1)
    5242              : {
    5243            1 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5244            1 :   rtx x2;
    5245            1 :   int res ATTRIBUTE_UNUSED;
    5246            1 :   if (!register_operand (operands[0], i1)
    5247            1 :       || GET_MODE (x1) != i1)
    5248              :     return -1;
    5249            1 :   x2 = XEXP (x1, 0);
    5250            1 :   if (GET_MODE (x2) != i1
    5251            1 :       || !nonimmediate_operand (operands[1], i1)
    5252            2 :       || !register_operand (operands[2], i1))
    5253            0 :     return -1;
    5254              :   return 0;
    5255              : }
    5256              : 
    5257              : int
    5258            8 : pattern1653 (rtx x1, machine_mode i1)
    5259              : {
    5260            8 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5261            8 :   rtx x2, x3, x4, x5;
    5262            8 :   int res ATTRIBUTE_UNUSED;
    5263            8 :   if (!register_operand (operands[0], i1)
    5264            8 :       || GET_MODE (x1) != i1)
    5265              :     return -1;
    5266            8 :   x2 = XEXP (x1, 0);
    5267            8 :   if (GET_MODE (x2) != i1)
    5268              :     return -1;
    5269            8 :   x3 = XVECEXP (x2, 0, 2);
    5270            8 :   if (GET_MODE (x3) != i1)
    5271              :     return -1;
    5272            8 :   x4 = XEXP (x1, 1);
    5273            8 :   if (GET_MODE (x4) != i1)
    5274              :     return -1;
    5275            8 :   x5 = XEXP (x4, 0);
    5276            8 :   if (GET_MODE (x5) != i1)
    5277            0 :     return -1;
    5278              :   return 0;
    5279              : }
    5280              : 
    5281              : int
    5282          453 : pattern1660 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
    5283              : {
    5284          453 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5285          453 :   rtx x2, x3, x4, x5, x6, x7, x8;
    5286          453 :   int res ATTRIBUTE_UNUSED;
    5287          453 :   if (!register_operand (operands[0], i2)
    5288          453 :       || GET_MODE (x1) != i2)
    5289              :     return -1;
    5290          437 :   x2 = XEXP (x1, 0);
    5291          437 :   if (GET_MODE (x2) != i2)
    5292              :     return -1;
    5293          437 :   x3 = XEXP (x2, 0);
    5294          437 :   if (GET_MODE (x3) != i3)
    5295              :     return -1;
    5296          437 :   x4 = XEXP (x3, 0);
    5297          437 :   if (GET_MODE (x4) != i3)
    5298              :     return -1;
    5299          437 :   x5 = XEXP (x4, 0);
    5300          437 :   if (GET_MODE (x5) != i3)
    5301              :     return -1;
    5302          437 :   x6 = XEXP (x5, 0);
    5303          437 :   if (GET_MODE (x6) != i3)
    5304              :     return -1;
    5305          437 :   x7 = XEXP (x6, 0);
    5306          437 :   if (GET_MODE (x7) != i3
    5307          437 :       || !vector_operand (operands[1], i2))
    5308            0 :     return -1;
    5309          437 :   x8 = XEXP (x6, 1);
    5310          437 :   if (GET_MODE (x8) != i3
    5311          437 :       || !vector_operand (operands[2], i2)
    5312          437 :       || !const1_operand (operands[3], i2)
    5313          437 :       || !nonimm_or_0_operand (operands[4], i2)
    5314          859 :       || !register_operand (operands[5], i1))
    5315           61 :     return -1;
    5316              :   return 0;
    5317              : }
    5318              : 
    5319              : int
    5320          323 : pattern1675 (machine_mode i1)
    5321              : {
    5322          323 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5323          323 :   int res ATTRIBUTE_UNUSED;
    5324          323 :   if (!vsib_address_operand (operands[4], i1))
    5325              :     return -1;
    5326          323 :   switch (GET_MODE (operands[3]))
    5327              :     {
    5328          154 :     case E_V4SImode:
    5329          154 :       if (!register_operand (operands[3], E_V4SImode))
    5330              :         return -1;
    5331              :       return 0;
    5332              : 
    5333          169 :     case E_V2DImode:
    5334          169 :       if (!register_operand (operands[3], E_V2DImode))
    5335              :         return -1;
    5336              :       return 1;
    5337              : 
    5338              :     default:
    5339              :       return -1;
    5340              :     }
    5341              : }
    5342              : 
    5343              : int
    5344            0 : pattern1683 (rtx x1, machine_mode i1, machine_mode i2)
    5345              : {
    5346            0 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5347            0 :   rtx x2, x3;
    5348            0 :   int res ATTRIBUTE_UNUSED;
    5349            0 :   if (!register_operand (operands[0], i1)
    5350            0 :       || !addsub_vs_operator (operands[7], i1)
    5351            0 :       || GET_MODE (x1) != i2)
    5352            0 :     return -1;
    5353            0 :   x2 = XEXP (x1, 0);
    5354            0 :   if (GET_MODE (x2) != i1
    5355            0 :       || !register_operand (operands[1], i1)
    5356            0 :       || !vector_operand (operands[2], i1))
    5357            0 :     return -1;
    5358            0 :   x3 = XEXP (x1, 1);
    5359            0 :   if (GET_MODE (x3) != i1
    5360            0 :       || !vector_operand (operands[3], i1)
    5361            0 :       || !vector_operand (operands[4], i1))
    5362            0 :     return -1;
    5363              :   return 0;
    5364              : }
    5365              : 
    5366              : int
    5367        29216 : pattern1695 ()
    5368              : {
    5369        29216 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5370        29216 :   int res ATTRIBUTE_UNUSED;
    5371        29216 :   if (!const_0_to_7_operand (operands[4], E_VOIDmode)
    5372        21344 :       || !const_0_to_7_operand (operands[5], E_VOIDmode)
    5373        14462 :       || !const_0_to_7_operand (operands[6], E_VOIDmode)
    5374        14422 :       || !const_8_to_15_operand (operands[7], E_VOIDmode)
    5375         7541 :       || !const_8_to_15_operand (operands[8], E_VOIDmode)
    5376         7541 :       || !const_8_to_15_operand (operands[9], E_VOIDmode)
    5377        36757 :       || !const_8_to_15_operand (operands[10], E_VOIDmode))
    5378        21675 :     return -1;
    5379              :   return 0;
    5380              : }
    5381              : 
    5382              : int
    5383           11 : pattern1705 (rtx x1, machine_mode i1)
    5384              : {
    5385           11 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5386           11 :   int res ATTRIBUTE_UNUSED;
    5387           11 :   if (!nonimmediate_operand (operands[1], i1)
    5388           11 :       || !register_operand (operands[0], i1)
    5389           11 :       || GET_MODE (x1) != i1
    5390           22 :       || !register_operand (operands[2], i1))
    5391            0 :     return -1;
    5392              :   return 0;
    5393              : }
    5394              : 
    5395              : int
    5396           18 : pattern1710 (rtx x1, machine_mode i1)
    5397              : {
    5398           18 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5399           18 :   rtx x2;
    5400           18 :   int res ATTRIBUTE_UNUSED;
    5401           18 :   if (!bt_comparison_operator (operands[3], i1))
    5402              :     return -1;
    5403           18 :   x2 = XVECEXP (x1, 0, 0);
    5404           18 :   switch (GET_MODE (x2))
    5405              :     {
    5406            0 :     case E_V16QImode:
    5407            0 :       return pattern1709 (x1, 
    5408            0 : E_V16QImode); /* [-1, 0] */
    5409              : 
    5410            0 :     case E_V8HImode:
    5411            0 :       if (pattern1709 (x1, 
    5412              : E_V8HImode) != 0)
    5413              :         return -1;
    5414              :       return 1;
    5415              : 
    5416            0 :     case E_V4SImode:
    5417            0 :       if (pattern1709 (x1, 
    5418              : E_V4SImode) != 0)
    5419              :         return -1;
    5420              :       return 2;
    5421              : 
    5422            8 :     case E_V2DImode:
    5423            8 :       if (pattern1709 (x1, 
    5424              : E_V2DImode) != 0)
    5425              :         return -1;
    5426              :       return 3;
    5427              : 
    5428            0 :     case E_V1TImode:
    5429            0 :       if (pattern1709 (x1, 
    5430              : E_V1TImode) != 0)
    5431              :         return -1;
    5432              :       return 4;
    5433              : 
    5434            0 :     case E_V4SFmode:
    5435            0 :       if (pattern1709 (x1, 
    5436              : E_V4SFmode) != 0)
    5437              :         return -1;
    5438              :       return 5;
    5439              : 
    5440            0 :     case E_V2DFmode:
    5441            0 :       if (pattern1709 (x1, 
    5442              : E_V2DFmode) != 0)
    5443              :         return -1;
    5444              :       return 6;
    5445              : 
    5446            0 :     case E_V32QImode:
    5447            0 :       if (pattern1709 (x1, 
    5448              : E_V32QImode) != 0)
    5449              :         return -1;
    5450              :       return 7;
    5451              : 
    5452            0 :     case E_V16HImode:
    5453            0 :       if (pattern1709 (x1, 
    5454              : E_V16HImode) != 0)
    5455              :         return -1;
    5456              :       return 8;
    5457              : 
    5458            0 :     case E_V8SImode:
    5459            0 :       if (pattern1709 (x1, 
    5460              : E_V8SImode) != 0)
    5461              :         return -1;
    5462              :       return 9;
    5463              : 
    5464           10 :     case E_V4DImode:
    5465           10 :       if (pattern1709 (x1, 
    5466              : E_V4DImode) != 0)
    5467              :         return -1;
    5468              :       return 10;
    5469              : 
    5470            0 :     case E_V2TImode:
    5471            0 :       if (pattern1709 (x1, 
    5472              : E_V2TImode) != 0)
    5473              :         return -1;
    5474              :       return 11;
    5475              : 
    5476            0 :     case E_V8SFmode:
    5477            0 :       if (pattern1709 (x1, 
    5478              : E_V8SFmode) != 0)
    5479              :         return -1;
    5480              :       return 12;
    5481              : 
    5482            0 :     case E_V4DFmode:
    5483            0 :       if (pattern1709 (x1, 
    5484              : E_V4DFmode) != 0)
    5485              :         return -1;
    5486              :       return 13;
    5487              : 
    5488              :     default:
    5489              :       return -1;
    5490              :     }
    5491              : }
    5492              : 
    5493              : int
    5494         1405 : pattern1737 (rtx x1, machine_mode i1, machine_mode i2)
    5495              : {
    5496         1405 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5497         1405 :   rtx x2, x3;
    5498         1405 :   int res ATTRIBUTE_UNUSED;
    5499         1405 :   if (!register_operand (operands[0], i2)
    5500         1385 :       || GET_MODE (x1) != i2
    5501         2790 :       || !vsib_mem_operator (operands[5], i1))
    5502           20 :     return -1;
    5503         1385 :   switch (GET_MODE (operands[6]))
    5504              :     {
    5505          343 :     case E_HImode:
    5506          343 :       x2 = XVECEXP (x1, 0, 2);
    5507          343 :       x3 = XEXP (x2, 0);
    5508          343 :       return pattern1736 (x3, 
    5509              : E_HImode, 
    5510          343 : E_V16SImode); /* [-1, 1] */
    5511              : 
    5512          486 :     case E_QImode:
    5513          486 :       x2 = XVECEXP (x1, 0, 2);
    5514          486 :       x3 = XEXP (x2, 0);
    5515          486 :       res = pattern1736 (x3, 
    5516              : E_QImode, 
    5517              : E_V8DImode);
    5518          486 :       if (res >= 0)
    5519          456 :         return res + 2; /* [2, 3] */
    5520              :       return -1;
    5521              : 
    5522              :     default:
    5523              :       return -1;
    5524              :     }
    5525              : }
    5526              : 
    5527              : int
    5528         2913 : pattern1748 (rtx x1)
    5529              : {
    5530         2913 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5531         2913 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    5532         2913 :   rtx x10, x11, x12, x13, x14, x15, x16, x17;
    5533         2913 :   rtx x18, x19, x20, x21, x22, x23;
    5534         2913 :   int res ATTRIBUTE_UNUSED;
    5535         2913 :   if (!register_operand (operands[0], E_SImode))
    5536              :     return -1;
    5537         2909 :   x2 = XVECEXP (x1, 0, 0);
    5538         2909 :   x3 = XEXP (x2, 1);
    5539         2909 :   x4 = XVECEXP (x3, 0, 0);
    5540         2909 :   operands[2] = x4;
    5541         2909 :   if (!register_operand (operands[2], E_V16QImode))
    5542              :     return -1;
    5543         2883 :   x5 = XVECEXP (x3, 0, 1);
    5544         2883 :   operands[3] = x5;
    5545         2883 :   if (!register_operand (operands[3], E_SImode))
    5546              :     return -1;
    5547         2875 :   x6 = XVECEXP (x3, 0, 2);
    5548         2875 :   operands[4] = x6;
    5549         2875 :   if (!nonimmediate_operand (operands[4], E_V16QImode))
    5550              :     return -1;
    5551         2875 :   x7 = XVECEXP (x3, 0, 3);
    5552         2875 :   operands[5] = x7;
    5553         2875 :   if (!register_operand (operands[5], E_SImode))
    5554              :     return -1;
    5555         2875 :   x8 = XVECEXP (x3, 0, 4);
    5556         2875 :   operands[6] = x8;
    5557         2875 :   if (!const_0_to_255_operand (operands[6], E_SImode))
    5558              :     return -1;
    5559         2875 :   x9 = XVECEXP (x1, 0, 1);
    5560         2875 :   x10 = XEXP (x9, 0);
    5561         2875 :   operands[1] = x10;
    5562         2875 :   if (!register_operand (operands[1], E_V16QImode))
    5563              :     return -1;
    5564         2835 :   x11 = XEXP (x9, 1);
    5565         2835 :   x12 = XVECEXP (x11, 0, 0);
    5566         2835 :   if (!rtx_equal_p (x12, operands[2]))
    5567              :     return -1;
    5568         2835 :   x13 = XVECEXP (x11, 0, 1);
    5569         2835 :   if (!rtx_equal_p (x13, operands[3]))
    5570              :     return -1;
    5571         2835 :   x14 = XVECEXP (x11, 0, 2);
    5572         2835 :   if (!rtx_equal_p (x14, operands[4]))
    5573              :     return -1;
    5574         2835 :   x15 = XVECEXP (x11, 0, 3);
    5575         2835 :   if (!rtx_equal_p (x15, operands[5]))
    5576              :     return -1;
    5577         2835 :   x16 = XVECEXP (x11, 0, 4);
    5578         2835 :   if (!rtx_equal_p (x16, operands[6]))
    5579              :     return -1;
    5580         2835 :   x17 = XVECEXP (x1, 0, 2);
    5581         2835 :   x18 = XEXP (x17, 1);
    5582         2835 :   x19 = XVECEXP (x18, 0, 0);
    5583         2835 :   if (!rtx_equal_p (x19, operands[2]))
    5584              :     return -1;
    5585         2755 :   x20 = XVECEXP (x18, 0, 1);
    5586         2755 :   if (!rtx_equal_p (x20, operands[3]))
    5587              :     return -1;
    5588         2675 :   x21 = XVECEXP (x18, 0, 2);
    5589         2675 :   if (!rtx_equal_p (x21, operands[4]))
    5590              :     return -1;
    5591         2595 :   x22 = XVECEXP (x18, 0, 3);
    5592         2595 :   if (!rtx_equal_p (x22, operands[5]))
    5593              :     return -1;
    5594         2515 :   x23 = XVECEXP (x18, 0, 4);
    5595         2515 :   if (!rtx_equal_p (x23, operands[6]))
    5596              :     return -1;
    5597              :   return 0;
    5598              : }
    5599              : 
    5600              : int
    5601         1103 : pattern1778 (rtx x1, machine_mode i1, machine_mode i2)
    5602              : {
    5603         1103 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5604         1103 :   rtx x2, x3;
    5605         1103 :   int res ATTRIBUTE_UNUSED;
    5606         1103 :   if (!register_operand (operands[0], i1)
    5607         1103 :       || GET_MODE (x1) != i1)
    5608              :     return -1;
    5609          965 :   x2 = XEXP (x1, 0);
    5610          965 :   if (GET_MODE (x2) != i1)
    5611              :     return -1;
    5612          965 :   x3 = XEXP (x2, 0);
    5613          965 :   if (GET_MODE (x3) != i2
    5614          965 :       || !register_operand (operands[1], i1)
    5615          962 :       || !nonimmediate_operand (operands[2], i1)
    5616         1811 :       || !nonimm_or_0_operand (operands[11], i1))
    5617          173 :     return -1;
    5618              :   return 0;
    5619              : }
    5620              : 
    5621              : int
    5622            0 : pattern1787 (rtx x1, machine_mode i1)
    5623              : {
    5624            0 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5625            0 :   rtx x2;
    5626            0 :   int res ATTRIBUTE_UNUSED;
    5627            0 :   if (!register_operand (operands[0], i1))
    5628              :     return -1;
    5629            0 :   operands[2] = x1;
    5630            0 :   x2 = PATTERN (peep2_next_insn (1));
    5631            0 :   return pattern1786 (x2, 
    5632            0 : i1); /* [-1, 0] */
    5633              : }
    5634              : 
    5635              : int
    5636          778 : pattern1794 (machine_mode i1)
    5637              : {
    5638          778 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5639          778 :   int res ATTRIBUTE_UNUSED;
    5640          778 :   if (!vsib_address_operand (operands[0], i1))
    5641              :     return -1;
    5642          760 :   switch (GET_MODE (operands[2]))
    5643              :     {
    5644          277 :     case E_V16SImode:
    5645          277 :       if (!register_operand (operands[2], E_V16SImode)
    5646          262 :           || !register_operand (operands[6], E_HImode)
    5647          204 :           || !register_operand (operands[3], E_V16SImode)
    5648          473 :           || !scratch_operand (operands[1], E_HImode))
    5649           81 :         return -1;
    5650              :       return 0;
    5651              : 
    5652          483 :     case E_V8DImode:
    5653          483 :       if (pattern1793 (
    5654              : E_QImode, 
    5655              : E_V8SImode, 
    5656              : E_V8DImode) != 0)
    5657              :         return -1;
    5658              :       return 1;
    5659              : 
    5660              :     default:
    5661              :       return -1;
    5662              :     }
    5663              : }
    5664              : 
    5665              : int
    5666           25 : pattern1802 (rtx x1, machine_mode i1)
    5667              : {
    5668           25 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5669           25 :   rtx x2, x3, x4, x5, x6, x7;
    5670           25 :   int res ATTRIBUTE_UNUSED;
    5671           25 :   if (!register_operand (operands[0], i1))
    5672              :     return -1;
    5673           25 :   x2 = XVECEXP (x1, 0, 0);
    5674           25 :   x3 = XEXP (x2, 1);
    5675           25 :   if (GET_MODE (x3) != i1
    5676           25 :       || !register_operand (operands[1], i1))
    5677            0 :     return -1;
    5678           25 :   x4 = XVECEXP (x1, 0, 1);
    5679           25 :   x5 = XEXP (x4, 0);
    5680           25 :   if (GET_MODE (x5) != i1)
    5681              :     return -1;
    5682           25 :   x6 = XEXP (x4, 1);
    5683           25 :   if (GET_MODE (x6) != i1)
    5684              :     return -1;
    5685           25 :   x7 = XEXP (x6, 0);
    5686           25 :   if (GET_MODE (x7) != i1
    5687           25 :       || !const_int_operand (operands[2], i1))
    5688            0 :     return -1;
    5689              :   return 0;
    5690              : }
    5691              : 
    5692              : int
    5693          684 : pattern1814 (rtx x1)
    5694              : {
    5695          684 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5696          684 :   rtx x2, x3, x4, x5, x6, x7;
    5697          684 :   int res ATTRIBUTE_UNUSED;
    5698          684 :   x2 = XEXP (x1, 1);
    5699          684 :   x3 = XEXP (x2, 0);
    5700          684 :   x4 = XEXP (x3, 1);
    5701          684 :   if (maybe_ne (SUBREG_BYTE (x4), 0)
    5702          684 :       || GET_MODE (x4) != E_QImode)
    5703              :     return -1;
    5704          684 :   x5 = XEXP (x4, 0);
    5705          684 :   switch (GET_CODE (x5))
    5706              :     {
    5707          684 :     case ASHIFTRT:
    5708          684 :     case LSHIFTRT:
    5709          684 :     case SIGN_EXTRACT:
    5710          684 :     case ZERO_EXTRACT:
    5711          684 :       operands[4] = x5;
    5712          684 :       x6 = XEXP (x5, 0);
    5713          684 :       operands[2] = x6;
    5714          684 :       if (!int248_register_operand (operands[2], E_VOIDmode))
    5715              :         return -1;
    5716          663 :       x7 = XEXP (x1, 0);
    5717          663 :       switch (GET_MODE (x7))
    5718              :         {
    5719          580 :         case E_HImode:
    5720          580 :           if (GET_MODE (x2) != E_HImode
    5721          580 :               || !extract_high_operator (operands[3], E_HImode)
    5722         1160 :               || !extract_high_operator (operands[4], E_HImode))
    5723            0 :             return -1;
    5724              :           return 0;
    5725              : 
    5726           75 :         case E_SImode:
    5727           75 :           if (GET_MODE (x2) != E_SImode
    5728           75 :               || !extract_high_operator (operands[3], E_SImode)
    5729          150 :               || !extract_high_operator (operands[4], E_SImode))
    5730            0 :             return -1;
    5731              :           return 1;
    5732              : 
    5733            8 :         case E_DImode:
    5734            8 :           if (GET_MODE (x2) != E_DImode
    5735            8 :               || !extract_high_operator (operands[3], E_DImode)
    5736           16 :               || !extract_high_operator (operands[4], E_DImode))
    5737            0 :             return -1;
    5738              :           return 2;
    5739              : 
    5740              :         default:
    5741              :           return -1;
    5742              :         }
    5743              : 
    5744              :     default:
    5745              :       return -1;
    5746              :     }
    5747              : }
    5748              : 
    5749              : int
    5750          894 : pattern1836 (rtx x1, machine_mode i1, machine_mode i2)
    5751              : {
    5752          894 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5753          894 :   rtx x2, x3, x4, x5, x6;
    5754          894 :   int res ATTRIBUTE_UNUSED;
    5755          894 :   if (!register_operand (operands[0], i1)
    5756          894 :       || GET_MODE (x1) != i1)
    5757              :     return -1;
    5758          842 :   x2 = XEXP (x1, 0);
    5759          842 :   if (GET_MODE (x2) != i1)
    5760              :     return -1;
    5761          842 :   x3 = XEXP (x2, 0);
    5762          842 :   if (GET_MODE (x3) != i2
    5763          842 :       || !nonimmediate_operand (operands[1], i1))
    5764            0 :     return -1;
    5765          842 :   x4 = XEXP (x1, 1);
    5766          842 :   operands[2] = x4;
    5767          842 :   if (!nonimm_or_0_operand (operands[2], i1))
    5768              :     return -1;
    5769          822 :   x5 = XEXP (x1, 2);
    5770          822 :   operands[3] = x5;
    5771          822 :   x6 = XEXP (x3, 1);
    5772          822 :   if (!rtx_equal_p (x6, operands[1]))
    5773              :     return -1;
    5774              :   return 0;
    5775              : }
    5776              : 
    5777              : int
    5778          380 : pattern1846 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
    5779              : {
    5780          380 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5781          380 :   rtx x2, x3, x4;
    5782          380 :   int res ATTRIBUTE_UNUSED;
    5783          380 :   if (!register_operand (operands[0], i3)
    5784          380 :       || GET_MODE (x1) != i3)
    5785              :     return -1;
    5786          364 :   x2 = XEXP (x1, 0);
    5787          364 :   if (GET_MODE (x2) != i3)
    5788              :     return -1;
    5789          364 :   x3 = XEXP (x2, 0);
    5790          364 :   if (GET_MODE (x3) != i2
    5791          364 :       || !register_operand (operands[1], i1))
    5792            0 :     return -1;
    5793          364 :   x4 = XEXP (x2, 1);
    5794          364 :   if (GET_MODE (x4) != i2
    5795          364 :       || !vector_operand (operands[2], i1))
    5796            0 :     return -1;
    5797              :   return 0;
    5798              : }
    5799              : 
    5800              : int
    5801          625 : pattern1853 (rtx x1, machine_mode i1, machine_mode i2)
    5802              : {
    5803          625 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5804          625 :   int res ATTRIBUTE_UNUSED;
    5805          625 :   if (!register_operand (operands[7], i1)
    5806          589 :       || !register_operand (operands[3], i2)
    5807         1197 :       || !scratch_operand (operands[2], i1))
    5808           53 :     return -1;
    5809          572 :   switch (GET_MODE (x1))
    5810              :     {
    5811            0 :     case E_SImode:
    5812            0 :       if (!vsib_address_operand (operands[4], E_SImode))
    5813              :         return -1;
    5814              :       return 0;
    5815              : 
    5816          572 :     case E_DImode:
    5817          572 :       if (!vsib_address_operand (operands[4], E_DImode))
    5818              :         return -1;
    5819              :       return 1;
    5820              : 
    5821              :     default:
    5822              :       return -1;
    5823              :     }
    5824              : }
    5825              : 
    5826              : int
    5827          806 : pattern1861 ()
    5828              : {
    5829          806 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5830          806 :   int res ATTRIBUTE_UNUSED;
    5831          806 :   if (!const_0_to_15_operand (operands[2], E_VOIDmode)
    5832          806 :       || !const_0_to_15_operand (operands[3], E_VOIDmode)
    5833          806 :       || !const_0_to_15_operand (operands[4], E_VOIDmode)
    5834          806 :       || !const_0_to_15_operand (operands[5], E_VOIDmode)
    5835          806 :       || !const_0_to_15_operand (operands[6], E_VOIDmode)
    5836          806 :       || !const_0_to_15_operand (operands[7], E_VOIDmode)
    5837          806 :       || !const_0_to_15_operand (operands[8], E_VOIDmode)
    5838          806 :       || !const_0_to_15_operand (operands[9], E_VOIDmode)
    5839          806 :       || !const_0_to_15_operand (operands[10], E_VOIDmode)
    5840          806 :       || !const_0_to_15_operand (operands[11], E_VOIDmode)
    5841          806 :       || !const_0_to_15_operand (operands[12], E_VOIDmode)
    5842          806 :       || !const_0_to_15_operand (operands[13], E_VOIDmode)
    5843          806 :       || !const_0_to_15_operand (operands[14], E_VOIDmode)
    5844          806 :       || !const_0_to_15_operand (operands[15], E_VOIDmode)
    5845          806 :       || !const_0_to_15_operand (operands[16], E_VOIDmode)
    5846         1612 :       || !const_0_to_15_operand (operands[17], E_VOIDmode))
    5847            0 :     return -1;
    5848              :   return 0;
    5849              : }
    5850              : 
    5851              : int
    5852          419 : pattern1875 ()
    5853              : {
    5854          419 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5855          419 :   int res ATTRIBUTE_UNUSED;
    5856          419 :   if (!const_0_to_7_operand (operands[4], E_VOIDmode)
    5857          419 :       || !const_0_to_7_operand (operands[5], E_VOIDmode)
    5858          419 :       || !const_0_to_7_operand (operands[6], E_VOIDmode)
    5859          419 :       || !const_8_to_15_operand (operands[7], E_VOIDmode)
    5860          419 :       || !const_8_to_15_operand (operands[8], E_VOIDmode)
    5861          419 :       || !const_8_to_15_operand (operands[9], E_VOIDmode)
    5862          838 :       || !const_8_to_15_operand (operands[10], E_VOIDmode))
    5863            0 :     return -1;
    5864              :   return 0;
    5865              : }
    5866              : 
    5867              : int
    5868        36847 : pattern1880 (rtx x1)
    5869              : {
    5870        36847 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5871        36847 :   rtx x2, x3, x4, x5;
    5872        36847 :   int res ATTRIBUTE_UNUSED;
    5873        36847 :   x2 = XVECEXP (x1, 0, 8);
    5874        36847 :   if (XWINT (x2, 0) != 12L)
    5875              :     return -1;
    5876        36831 :   x3 = XVECEXP (x1, 0, 9);
    5877        36831 :   if (XWINT (x3, 0) != 28L)
    5878              :     return -1;
    5879        36831 :   x4 = XVECEXP (x1, 0, 10);
    5880        36831 :   if (XWINT (x4, 0) != 13L)
    5881              :     return -1;
    5882        36831 :   x5 = XVECEXP (x1, 0, 11);
    5883        36831 :   if (XWINT (x5, 0) != 29L)
    5884            0 :     return -1;
    5885              :   return 0;
    5886              : }
    5887              : 
    5888              : int
    5889         2575 : pattern1886 (rtx x1)
    5890              : {
    5891         2575 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5892         2575 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    5893         2575 :   rtx x10, x11, x12;
    5894         2575 :   int res ATTRIBUTE_UNUSED;
    5895         2575 :   x2 = XVECEXP (x1, 0, 0);
    5896         2575 :   x3 = XEXP (x2, 1);
    5897         2575 :   x4 = XEXP (x3, 0);
    5898         2575 :   x5 = XEXP (x4, 1);
    5899         2575 :   switch (GET_CODE (x5))
    5900              :     {
    5901         2076 :     case SIGN_EXTEND:
    5902         2076 :       x6 = XEXP (x5, 0);
    5903         2076 :       operands[2] = x6;
    5904         2076 :       x7 = XEXP (x3, 1);
    5905         2076 :       x8 = XEXP (x7, 0);
    5906         2076 :       x9 = XEXP (x8, 1);
    5907         2076 :       if (!rtx_equal_p (x9, operands[2]))
    5908              :         return -1;
    5909         2076 :       x10 = XVECEXP (x1, 0, 1);
    5910         2076 :       x11 = XEXP (x10, 1);
    5911         2076 :       x12 = XEXP (x11, 1);
    5912         2076 :       if (!rtx_equal_p (x12, operands[2]))
    5913              :         return -1;
    5914         2076 :       switch (GET_MODE (x4))
    5915              :         {
    5916              :         case E_HImode:
    5917              :           return 0;
    5918              : 
    5919              :         case E_SImode:
    5920              :           return 1;
    5921              : 
    5922              :         case E_DImode:
    5923              :           return 2;
    5924              : 
    5925              :         case E_TImode:
    5926              :           return 3;
    5927              : 
    5928              :         default:
    5929              :           return -1;
    5930              :         }
    5931              : 
    5932          499 :     case CONST_INT:
    5933          499 :       operands[6] = x5;
    5934          499 :       x7 = XEXP (x3, 1);
    5935          499 :       x8 = XEXP (x7, 0);
    5936          499 :       x9 = XEXP (x8, 1);
    5937          499 :       operands[2] = x9;
    5938          499 :       x10 = XVECEXP (x1, 0, 1);
    5939          499 :       x11 = XEXP (x10, 1);
    5940          499 :       x12 = XEXP (x11, 1);
    5941          499 :       if (!rtx_equal_p (x12, operands[2]))
    5942              :         return -1;
    5943          499 :       switch (GET_MODE (x4))
    5944              :         {
    5945              :         case E_HImode:
    5946              :           return 4;
    5947              : 
    5948              :         case E_SImode:
    5949              :           return 5;
    5950              : 
    5951              :         case E_DImode:
    5952              :           return 6;
    5953              : 
    5954              :         case E_TImode:
    5955              :           return 7;
    5956              : 
    5957              :         default:
    5958              :           return -1;
    5959              :         }
    5960              : 
    5961              :     default:
    5962              :       return -1;
    5963              :     }
    5964              : }
    5965              : 
    5966              : int
    5967            2 : pattern1898 (rtx x1)
    5968              : {
    5969            2 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5970            2 :   rtx x2, x3, x4, x5, x6, x7, x8;
    5971            2 :   int res ATTRIBUTE_UNUSED;
    5972            2 :   x2 = XEXP (x1, 1);
    5973            2 :   x3 = XEXP (x2, 0);
    5974            2 :   x4 = XEXP (x3, 0);
    5975            2 :   if (GET_CODE (x4) != REG
    5976            2 :       || REGNO (x4) != 17
    5977            4 :       || GET_MODE (x4) != E_CCZmode)
    5978              :     return -1;
    5979            2 :   x5 = XEXP (x3, 1);
    5980            2 :   if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    5981              :     return -1;
    5982            2 :   x6 = XEXP (x2, 1);
    5983            2 :   if (GET_CODE (x6) != LABEL_REF)
    5984              :     return -1;
    5985            2 :   x7 = XEXP (x2, 2);
    5986            2 :   if (GET_CODE (x7) != PC)
    5987              :     return -1;
    5988            2 :   x8 = XEXP (x1, 0);
    5989            2 :   if (GET_CODE (x8) != PC)
    5990            0 :     return -1;
    5991              :   return 0;
    5992              : }
    5993              : 
    5994              : int
    5995          968 : pattern1906 (rtx x1, machine_mode i1, machine_mode i2)
    5996              : {
    5997          968 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5998          968 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    5999          968 :   int res ATTRIBUTE_UNUSED;
    6000          968 :   x2 = XVECEXP (x1, 0, 0);
    6001          968 :   x3 = XEXP (x2, 1);
    6002          968 :   x4 = XEXP (x3, 1);
    6003          968 :   if (GET_MODE (x4) != i2)
    6004              :     return -1;
    6005          968 :   x5 = XEXP (x4, 0);
    6006          968 :   if (GET_MODE (x5) != i1)
    6007              :     return -1;
    6008          968 :   x6 = XEXP (x5, 0);
    6009          968 :   if (GET_MODE (x6) != i1
    6010          968 :       || !ix86_carry_flag_operator (operands[5], i1)
    6011         1936 :       || !nonimmediate_operand (operands[0], i1))
    6012            0 :     return -1;
    6013          968 :   x7 = XVECEXP (x1, 0, 1);
    6014          968 :   x8 = XEXP (x7, 1);
    6015          968 :   if (GET_MODE (x8) != i1)
    6016              :     return -1;
    6017          968 :   x9 = XEXP (x8, 0);
    6018          968 :   if (GET_MODE (x9) != i1)
    6019              :     return -1;
    6020              :   return 0;
    6021              : }
    6022              : 
    6023              : int
    6024          423 : pattern1915 (rtx x1)
    6025              : {
    6026          423 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6027          423 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    6028          423 :   int res ATTRIBUTE_UNUSED;
    6029          423 :   x2 = XVECEXP (x1, 0, 8);
    6030          423 :   if (XWINT (x2, 0) != 12L)
    6031              :     return -1;
    6032          423 :   x3 = XVECEXP (x1, 0, 9);
    6033          423 :   if (XWINT (x3, 0) != 44L)
    6034              :     return -1;
    6035          423 :   x4 = XVECEXP (x1, 0, 10);
    6036          423 :   if (XWINT (x4, 0) != 13L)
    6037              :     return -1;
    6038          423 :   x5 = XVECEXP (x1, 0, 11);
    6039          423 :   if (XWINT (x5, 0) != 45L)
    6040              :     return -1;
    6041          423 :   x6 = XVECEXP (x1, 0, 12);
    6042          423 :   if (XWINT (x6, 0) != 14L)
    6043              :     return -1;
    6044          423 :   x7 = XVECEXP (x1, 0, 13);
    6045          423 :   if (XWINT (x7, 0) != 46L)
    6046              :     return -1;
    6047          423 :   x8 = XVECEXP (x1, 0, 14);
    6048          423 :   if (XWINT (x8, 0) != 15L)
    6049              :     return -1;
    6050          423 :   x9 = XVECEXP (x1, 0, 15);
    6051          423 :   if (XWINT (x9, 0) != 47L)
    6052            0 :     return -1;
    6053              :   return 0;
    6054              : }
    6055              : 
    6056              :  int
    6057     54516147 : recog_4 (rtx x1 ATTRIBUTE_UNUSED,
    6058              :         rtx_insn *insn ATTRIBUTE_UNUSED,
    6059              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
    6060              : {
    6061     54516147 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6062     54516147 :   rtx x2, x3, x4, x5, x6, x7, x8;
    6063     54516147 :   int res ATTRIBUTE_UNUSED;
    6064     54516147 :   x2 = XEXP (x1, 1);
    6065     54516147 :   x3 = XEXP (x2, 0);
    6066     54516147 :   operands[0] = x3;
    6067     54516147 :   res = recog_3 (x1, insn, pnum_clobbers);
    6068     54516147 :   if (res >= 0)
    6069              :     return res;
    6070      1536754 :   if (GET_CODE (x3) != SUBREG
    6071        92041 :       || maybe_ne (SUBREG_BYTE (x3), 0)
    6072      1618124 :       || GET_MODE (x3) != E_QImode)
    6073              :     return -1;
    6074        36916 :   x4 = XEXP (x3, 0);
    6075        36916 :   switch (GET_CODE (x4))
    6076              :     {
    6077        24859 :     case ASHIFTRT:
    6078        24859 :     case LSHIFTRT:
    6079        24859 :     case SIGN_EXTRACT:
    6080        24859 :     case ZERO_EXTRACT:
    6081        24859 :       operands[2] = x4;
    6082        24859 :       x5 = XEXP (x4, 0);
    6083        24859 :       operands[0] = x5;
    6084        24859 :       if (!int248_register_operand (operands[0], E_VOIDmode))
    6085              :         return -1;
    6086        24638 :       x6 = XEXP (x2, 1);
    6087        24638 :       operands[1] = x6;
    6088        24638 :       switch (pattern1212 ())
    6089              :         {
    6090          266 :         case 0:
    6091          266 :           if (const0_operand (operands[1], E_QImode)
    6092          300 :               && 
    6093              : #line 1640 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6094              : (ix86_match_ccmode (insn, CCNOmode)))
    6095              :             return 28; /* *cmpqi_exthi_2 */
    6096              :           if (general_operand (operands[1], E_QImode)
    6097              :               && 
    6098              : #line 1663 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6099              : (ix86_match_ccmode (insn, CCmode)))
    6100              :             return 31; /* *cmpqi_exthi_3 */
    6101              :           break;
    6102              : 
    6103              :         case 1:
    6104              :           if (const0_operand (operands[1], E_QImode)
    6105              :               && 
    6106              : #line 1640 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6107              : (ix86_match_ccmode (insn, CCNOmode)))
    6108              :             return 29; /* *cmpqi_extsi_2 */
    6109              :           if (general_operand (operands[1], E_QImode)
    6110              :               && 
    6111              : #line 1663 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6112              : (ix86_match_ccmode (insn, CCmode)))
    6113              :             return 32; /* *cmpqi_extsi_3 */
    6114              :           break;
    6115              : 
    6116              :         case 2:
    6117              :           if (const0_operand (operands[1], E_QImode)
    6118              :               && (
    6119              : #line 1640 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6120              : (ix86_match_ccmode (insn, CCNOmode)) && 
    6121              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6122              : (TARGET_64BIT)))
    6123              :             return 30; /* *cmpqi_extdi_2 */
    6124              :           if (general_operand (operands[1], E_QImode)
    6125              :               && (
    6126              : #line 1663 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6127              : (ix86_match_ccmode (insn, CCmode)) && 
    6128              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6129              : (TARGET_64BIT)))
    6130              :             return 33; /* *cmpqi_extdi_3 */
    6131              :           break;
    6132              : 
    6133              :         default:
    6134              :           break;
    6135              :         }
    6136              :       if (GET_CODE (x6) != SUBREG
    6137              :           || maybe_ne (SUBREG_BYTE (x6), 0)
    6138              :           || GET_MODE (x6) != E_QImode)
    6139              :         return -1;
    6140              :       x7 = XEXP (x6, 0);
    6141              :       switch (GET_CODE (x7))
    6142              :         {
    6143              :         case ASHIFTRT:
    6144              :         case LSHIFTRT:
    6145              :         case SIGN_EXTRACT:
    6146              :         case ZERO_EXTRACT:
    6147              :           operands[3] = x7;
    6148              :           x8 = XEXP (x7, 0);
    6149              :           operands[1] = x8;
    6150              :           if (!int248_register_operand (operands[1], E_VOIDmode))
    6151              :             return -1;
    6152              :           switch (GET_MODE (operands[2]))
    6153              :             {
    6154              :             case E_HImode:
    6155              :               if (!extract_high_operator (operands[2], E_HImode)
    6156              :                   || !extract_high_operator (operands[3], E_HImode)
    6157              :                   || !
    6158              : #line 1678 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6159              : (ix86_match_ccmode (insn, CCmode)))
    6160              :                 return -1;
    6161              :               return 34; /* *cmpqi_exthi_4 */
    6162              : 
    6163              :             case E_SImode:
    6164              :               if (!extract_high_operator (operands[2], E_SImode)
    6165              :                   || !extract_high_operator (operands[3], E_SImode)
    6166              :                   || !
    6167              : #line 1678 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6168              : (ix86_match_ccmode (insn, CCmode)))
    6169              :                 return -1;
    6170              :               return 35; /* *cmpqi_extsi_4 */
    6171              : 
    6172              :             case E_DImode:
    6173              :               if (!extract_high_operator (operands[2], E_DImode)
    6174              :                   || !extract_high_operator (operands[3], E_DImode)
    6175              :                   || !(
    6176              : #line 1678 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6177              : (ix86_match_ccmode (insn, CCmode)) && 
    6178              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6179              : (TARGET_64BIT)))
    6180              :                 return -1;
    6181              :               return 36; /* *cmpqi_extdi_4 */
    6182              : 
    6183              :             default:
    6184              :               return -1;
    6185              :             }
    6186              : 
    6187              :         default:
    6188              :           return -1;
    6189              :         }
    6190              : 
    6191              :     default:
    6192              :       return -1;
    6193              :     }
    6194              : }
    6195              : 
    6196              :  int
    6197              : recog_12 (rtx x1 ATTRIBUTE_UNUSED,
    6198              :         rtx_insn *insn ATTRIBUTE_UNUSED,
    6199              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
    6200              : {
    6201              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6202              :   rtx x2, x3, x4;
    6203              :   int res ATTRIBUTE_UNUSED;
    6204              :   switch (pattern74 (x1))
    6205              :     {
    6206              :     case 0:
    6207              :       x2 = XEXP (x1, 1);
    6208              :       x3 = XVECEXP (x2, 0, 2);
    6209              :       operands[3] = x3;
    6210              :       x4 = XVECEXP (x2, 0, 1);
    6211              :       operands[2] = x4;
    6212              :       switch (pattern967 (x2))
    6213              :         {
    6214              :         case 0:
    6215              :           switch (GET_MODE (operands[1]))
    6216              :             {
    6217              :             case E_HFmode:
    6218              :               if (register_operand (operands[1], E_HFmode)
    6219              :                   && nonimmediate_operand (operands[2], E_HFmode)
    6220              :                   && const_0_to_31_operand (operands[3], E_SImode)
    6221              :                   && 
    6222              : #line 20065 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6223              : (TARGET_AVX512FP16))
    6224              :                 return 1489; /* setcc_hf_mask */
    6225              :               break;
    6226              : 
    6227              :             case E_V8SImode:
    6228              :               if (const_0_to_7_operand (operands[3], E_SImode))
    6229              :                 {
    6230              :                   if (register_operand (operands[1], E_V8SImode)
    6231              :                       && nonimmediate_operand (operands[2], E_V8SImode)
    6232              :                       && (
    6233              : #line 4621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6234              : (TARGET_AVX512F && 1) && 
    6235              : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6236              : (TARGET_AVX512VL)))
    6237              :                     return 3325; /* avx512vl_cmpv8si3 */
    6238              :                   if (general_operand (operands[1], E_V8SImode)
    6239              :                       && general_operand (operands[2], E_V8SImode)
    6240              :                       && (
    6241              : #line 4907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6242              : (TARGET_AVX512F && ix86_pre_reload_split ()
    6243              :    && rtx_equal_p (operands[1], operands[2])
    6244              :    && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) && 
    6245              : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6246              : (TARGET_AVX512VL)))
    6247              :                     return 3555; /* *avx512vl_cmpv8si3_dup_op */
    6248              :                 }
    6249              :               break;
    6250              : 
    6251              :             case E_V4SImode:
    6252              :               if (const_0_to_7_operand (operands[3], E_SImode))
    6253              :                 {
    6254              :                   if (register_operand (operands[1], E_V4SImode)
    6255              :                       && nonimmediate_operand (operands[2], E_V4SImode)
    6256              :                       && (
    6257              : #line 4621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6258              : (TARGET_AVX512F && 1) && 
    6259              : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6260              : (TARGET_AVX512VL)))
    6261              :                     return 3327; /* avx512vl_cmpv4si3 */
    6262              :                   if (general_operand (operands[1], E_V4SImode)
    6263              :                       && general_operand (operands[2], E_V4SImode)
    6264              :                       && (
    6265              : #line 4907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6266              : (TARGET_AVX512F && ix86_pre_reload_split ()
    6267              :    && rtx_equal_p (operands[1], operands[2])
    6268              :    && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) && 
    6269              : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6270              : (TARGET_AVX512VL)))
    6271              :                     return 3557; /* *avx512vl_cmpv4si3_dup_op */
    6272              :                 }
    6273              :               break;
    6274              : 
    6275              :             case E_V8DImode:
    6276              :               if (const_0_to_7_operand (operands[3], E_SImode))
    6277              :                 {
    6278              :                   if (register_operand (operands[1], E_V8DImode)
    6279              :                       && nonimmediate_operand (operands[2], E_V8DImode)
    6280              :                       && 
    6281              : #line 4621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6282              : (TARGET_AVX512F && 1))
    6283              :                     return 3329; /* avx512f_cmpv8di3 */
    6284              :                   if (general_operand (operands[1], E_V8DImode)
    6285              :                       && general_operand (operands[2], E_V8DImode)
    6286              :                       && 
    6287              : #line 4907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6288              : (TARGET_AVX512F && ix86_pre_reload_split ()
    6289              :    && rtx_equal_p (operands[1], operands[2])
    6290              :    && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))))
    6291              :                     return 3559; /* *avx512f_cmpv8di3_dup_op */
    6292              :                 }
    6293              :               break;
    6294              : 
    6295              :             case E_V4DImode:
    6296              :               if (const_0_to_7_operand (operands[3], E_SImode))
    6297              :                 {
    6298              :                   if (register_operand (operands[1], E_V4DImode)
    6299              :                       && nonimmediate_operand (operands[2], E_V4DImode)
    6300              :                       && (
    6301              : #line 4621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6302              : (TARGET_AVX512F && 1) && 
    6303              : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6304              : (TARGET_AVX512VL)))
    6305              :                     return 3333; /* avx512vl_cmpv4di3 */
    6306              :                   if (general_operand (operands[1], E_V4DImode)
    6307              :                       && general_operand (operands[2], E_V4DImode)
    6308              :                       && (
    6309              : #line 4907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6310              : (TARGET_AVX512F && ix86_pre_reload_split ()
    6311              :    && rtx_equal_p (operands[1], operands[2])
    6312              :    && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) && 
    6313              : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6314              : (TARGET_AVX512VL)))
    6315              :                     return 3561; /* *avx512vl_cmpv4di3_dup_op */
    6316              :                 }
    6317              :               break;
    6318              : 
    6319              :             case E_V2DImode:
    6320              :               if (const_0_to_7_operand (operands[3], E_SImode))
    6321              :                 {
    6322              :                   if (register_operand (operands[1], E_V2DImode)
    6323              :                       && nonimmediate_operand (operands[2], E_V2DImode)
    6324              :                       && (
    6325              : #line 4621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6326              : (TARGET_AVX512F && 1) && 
    6327              : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6328              : (TARGET_AVX512VL)))
    6329              :                     return 3335; /* avx512vl_cmpv2di3 */
    6330              :                   if (general_operand (operands[1], E_V2DImode)
    6331              :                       && general_operand (operands[2], E_V2DImode)
    6332              :                       && (
    6333              : #line 4907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6334              : (TARGET_AVX512F && ix86_pre_reload_split ()
    6335              :    && rtx_equal_p (operands[1], operands[2])
    6336              :    && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) && 
    6337              : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6338              : (TARGET_AVX512VL)))
    6339              :                     return 3563; /* *avx512vl_cmpv2di3_dup_op */
    6340              :                 }
    6341              :               break;
    6342              : 
    6343              :             case E_V8HFmode:
    6344              :               if (register_operand (operands[1], E_V8HFmode)
    6345              :                   && nonimmediate_operand (operands[2], E_V8HFmode)
    6346              :                   && const_0_to_31_operand (operands[3], E_SImode)
    6347              :                   && (
    6348              : #line 4621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6349              : (TARGET_AVX512F && 1) && 
    6350              : #line 322 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6351              : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
    6352              :                 return 3343; /* avx512fp16_cmpv8hf3 */
    6353              :               break;
    6354              : 
    6355              :             case E_V8SFmode:
    6356              :               if (register_operand (operands[1], E_V8SFmode)
    6357              :                   && nonimmediate_operand (operands[2], E_V8SFmode)
    6358              :                   && const_0_to_31_operand (operands[3], E_SImode)
    6359              :                   && (
    6360              : #line 4621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6361              : (TARGET_AVX512F && 1) && 
    6362              : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6363              : (TARGET_AVX512VL)))
    6364              :                 return 3349; /* avx512vl_cmpv8sf3 */
    6365              :               break;
    6366              : 
    6367              :             case E_V4SFmode:
    6368              :               if (register_operand (operands[1], E_V4SFmode)
    6369              :                   && nonimmediate_operand (operands[2], E_V4SFmode)
    6370              :                   && const_0_to_31_operand (operands[3], E_SImode)
    6371              :                   && (
    6372              : #line 4621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6373              : (TARGET_AVX512F && 1) && 
    6374              : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6375              : (TARGET_AVX512VL)))
    6376              :                 return 3351; /* avx512vl_cmpv4sf3 */
    6377              :               break;
    6378              : 
    6379              :             case E_V8DFmode:
    6380              :               if (register_operand (operands[1], E_V8DFmode)
    6381              :                   && nonimmediate_operand (operands[2], E_V8DFmode)
    6382              :                   && const_0_to_31_operand (operands[3], E_SImode)
    6383              :                   && 
    6384              : #line 4621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6385              : (TARGET_AVX512F && 1))
    6386              :                 return 3353; /* avx512f_cmpv8df3 */
    6387              :               break;
    6388              : 
    6389              :             case E_V4DFmode:
    6390              :               if (register_operand (operands[1], E_V4DFmode)
    6391              :                   && nonimmediate_operand (operands[2], E_V4DFmode)
    6392              :                   && const_0_to_31_operand (operands[3], E_SImode)
    6393              :                   && (
    6394              : #line 4621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6395              : (TARGET_AVX512F && 1) && 
    6396              : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6397              : (TARGET_AVX512VL)))
    6398              :                 return 3357; /* avx512vl_cmpv4df3 */
    6399              :               break;
    6400              : 
    6401              :             case E_V2DFmode:
    6402              :               if (register_operand (operands[1], E_V2DFmode)
    6403              :                   && nonimmediate_operand (operands[2], E_V2DFmode)
    6404              :                   && const_0_to_31_operand (operands[3], E_SImode)
    6405              :                   && (
    6406              : #line 4621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6407              : (TARGET_AVX512F && 1) && 
    6408              : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6409              : (TARGET_AVX512VL)))
    6410              :                 return 3359; /* avx512vl_cmpv2df3 */
    6411              :               break;
    6412              : 
    6413              :             case E_V8HImode:
    6414              :               if (const_0_to_7_operand (operands[3], E_SImode))
    6415              :                 {
    6416              :                   if (register_operand (operands[1], E_V8HImode)
    6417              :                       && nonimmediate_operand (operands[2], E_V8HImode)
    6418              :                       && (
    6419              : #line 4815 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6420              : (TARGET_AVX512BW) && 
    6421              : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6422              : (TARGET_AVX512VL)))
    6423              :                     return 3491; /* avx512vl_cmpv8hi3 */
    6424              :                   if (general_operand (operands[1], E_V8HImode)
    6425              :                       && general_operand (operands[2], E_V8HImode)
    6426              :                       && (
    6427              : #line 4907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6428              : (TARGET_AVX512F && ix86_pre_reload_split ()
    6429              :    && rtx_equal_p (operands[1], operands[2])
    6430              :    && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) && 
    6431              : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6432              : (TARGET_AVX512VL && TARGET_AVX512BW)))
    6433              :                     return 3551; /* *avx512vl_cmpv8hi3_dup_op */
    6434              :                 }
    6435              :               break;
    6436              : 
    6437              :             case E_V8BFmode:
    6438              :               if (register_operand (operands[1], E_V8BFmode)
    6439              :                   && nonimmediate_operand (operands[2], E_V8BFmode)
    6440              :                   && const_0_to_31_operand (operands[3], E_VOIDmode)
    6441              :                   && 
    6442              : #line 33167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6443              : (TARGET_AVX10_2))
    6444              :                 return 10801; /* avx10_2_cmpbf16_v8bf */
    6445              :               break;
    6446              : 
    6447              :             default:
    6448              :               break;
    6449              :             }
    6450              :           break;
    6451              : 
    6452              :         case 1:
    6453              :           switch (GET_MODE (operands[1]))
    6454              :             {
    6455              :             case E_V16SImode:
    6456              :               if (const_0_to_7_operand (operands[3], E_SImode))
    6457              :                 {
    6458              :                   if (register_operand (operands[1], E_V16SImode)
    6459              :                       && nonimmediate_operand (operands[2], E_V16SImode)
    6460              :                       && 
    6461              : #line 4621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6462              : (TARGET_AVX512F && 1))
    6463              :                     return 3321; /* avx512f_cmpv16si3 */
    6464              :                   if (general_operand (operands[1], E_V16SImode)
    6465              :                       && general_operand (operands[2], E_V16SImode)
    6466              :                       && 
    6467              : #line 4907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6468              : (TARGET_AVX512F && ix86_pre_reload_split ()
    6469              :    && rtx_equal_p (operands[1], operands[2])
    6470              :    && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))))
    6471              :                     return 3553; /* *avx512f_cmpv16si3_dup_op */
    6472              :                 }
    6473              :               break;
    6474              : 
    6475              :             case E_V16HFmode:
    6476              :               if (register_operand (operands[1], E_V16HFmode)
    6477              :                   && nonimmediate_operand (operands[2], E_V16HFmode)
    6478              :                   && const_0_to_31_operand (operands[3], E_SImode)
    6479              :                   && (
    6480              : #line 4621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6481              : (TARGET_AVX512F && 1) && 
    6482              : #line 321 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6483              : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
    6484              :                 return 3341; /* avx512vl_cmpv16hf3 */
    6485              :               break;
    6486              : 
    6487              :             case E_V16SFmode:
    6488              :               if (register_operand (operands[1], E_V16SFmode)
    6489              :                   && nonimmediate_operand (operands[2], E_V16SFmode)
    6490              :                   && const_0_to_31_operand (operands[3], E_SImode)
    6491              :                   && 
    6492              : #line 4621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6493              : (TARGET_AVX512F && 1))
    6494              :                 return 3345; /* avx512f_cmpv16sf3 */
    6495              :               break;
    6496              : 
    6497              :             case E_V16QImode:
    6498              :               if (const_0_to_7_operand (operands[3], E_SImode))
    6499              :                 {
    6500              :                   if (register_operand (operands[1], E_V16QImode)
    6501              :                       && nonimmediate_operand (operands[2], E_V16QImode)
    6502              :                       && (
    6503              : #line 4815 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6504              : (TARGET_AVX512BW) && 
    6505              : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6506              : (TARGET_AVX512VL)))
    6507              :                     return 3483; /* avx512vl_cmpv16qi3 */
    6508              :                   if (general_operand (operands[1], E_V16QImode)
    6509              :                       && general_operand (operands[2], E_V16QImode)
    6510              :                       && (
    6511              : #line 4907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6512              : (TARGET_AVX512F && ix86_pre_reload_split ()
    6513              :    && rtx_equal_p (operands[1], operands[2])
    6514              :    && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) && 
    6515              : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6516              : (TARGET_AVX512VL && TARGET_AVX512BW)))
    6517              :                     return 3545; /* *avx512vl_cmpv16qi3_dup_op */
    6518              :                 }
    6519              :               break;
    6520              : 
    6521              :             case E_V16HImode:
    6522              :               if (const_0_to_7_operand (operands[3], E_SImode))
    6523              :                 {
    6524              :                   if (register_operand (operands[1], E_V16HImode)
    6525              :                       && nonimmediate_operand (operands[2], E_V16HImode)
    6526              :                       && (
    6527              : #line 4815 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6528              : (TARGET_AVX512BW) && 
    6529              : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6530              : (TARGET_AVX512VL)))
    6531              :                     return 3489; /* avx512vl_cmpv16hi3 */
    6532              :                   if (general_operand (operands[1], E_V16HImode)
    6533              :                       && general_operand (operands[2], E_V16HImode)
    6534              :                       && (
    6535              : #line 4907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6536              : (TARGET_AVX512F && ix86_pre_reload_split ()
    6537              :    && rtx_equal_p (operands[1], operands[2])
    6538              :    && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) && 
    6539              : #line 504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6540              : (TARGET_AVX512VL && TARGET_AVX512BW)))
    6541              :                     return 3549; /* *avx512vl_cmpv16hi3_dup_op */
    6542              :                 }
    6543              :               break;
    6544              : 
    6545              :             case E_V16BFmode:
    6546              :               if (register_operand (operands[1], E_V16BFmode)
    6547              :                   && nonimmediate_operand (operands[2], E_V16BFmode)
    6548              :                   && const_0_to_31_operand (operands[3], E_VOIDmode)
    6549              :                   && 
    6550              : #line 33167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6551              : (TARGET_AVX10_2))
    6552              :                 return 10799; /* avx10_2_cmpbf16_v16bf */
    6553              :               break;
    6554              : 
    6555              :             default:
    6556              :               break;
    6557              :             }
    6558              :           break;
    6559              : 
    6560              :         default:
    6561              :           break;
    6562              :         }
    6563              :       if (XWINT (x3, 0) != 0L)
    6564              :         return -1;
    6565              :       operands[2] = x4;
    6566              :       switch (pattern968 (x2))
    6567              :         {
    6568              :         case 0:
    6569              :           if (!(
    6570              : #line 4935 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6571              : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
    6572              : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6573              : (TARGET_AVX512VL)))
    6574              :             return -1;
    6575              :           return 3569; /* *avx512vl_eqv16qi3_1 */
    6576              : 
    6577              :         case 1:
    6578              :           if (!(
    6579              : #line 4935 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6580              : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
    6581              : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6582              : (TARGET_AVX512VL)))
    6583              :             return -1;
    6584              :           return 3581; /* *avx512vl_eqv16hi3_1 */
    6585              : 
    6586              :         case 2:
    6587              :           if (!
    6588              : #line 5024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6589              : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    6590              :             return -1;
    6591              :           return 3637; /* *avx512f_eqv16si3_1 */
    6592              : 
    6593              :         case 3:
    6594              :           if (!(
    6595              : #line 4935 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6596              : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
    6597              : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6598              : (TARGET_AVX512VL)))
    6599              :             return -1;
    6600              :           return 3585; /* *avx512vl_eqv8hi3_1 */
    6601              : 
    6602              :         case 4:
    6603              :           if (!(
    6604              : #line 5024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6605              : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
    6606              : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6607              : (TARGET_AVX512VL)))
    6608              :             return -1;
    6609              :           return 3641; /* *avx512vl_eqv8si3_1 */
    6610              : 
    6611              :         case 5:
    6612              :           if (!(
    6613              : #line 5024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6614              : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
    6615              : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6616              : (TARGET_AVX512VL)))
    6617              :             return -1;
    6618              :           return 3645; /* *avx512vl_eqv4si3_1 */
    6619              : 
    6620              :         case 6:
    6621              :           if (!
    6622              : #line 5024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6623              : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    6624              :             return -1;
    6625              :           return 3649; /* *avx512f_eqv8di3_1 */
    6626              : 
    6627              :         case 7:
    6628              :           if (!(
    6629              : #line 5024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6630              : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
    6631              : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6632              : (TARGET_AVX512VL)))
    6633              :             return -1;
    6634              :           return 3653; /* *avx512vl_eqv4di3_1 */
    6635              : 
    6636              :         case 8:
    6637              :           if (!(
    6638              : #line 5024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6639              : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
    6640              : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6641              : (TARGET_AVX512VL)))
    6642              :             return -1;
    6643              :           return 3657; /* *avx512vl_eqv2di3_1 */
    6644              : 
    6645              :         default:
    6646              :           return -1;
    6647              :         }
    6648              : 
    6649              :     case 1:
    6650              :       if (!(
    6651              : #line 5143 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6652              : (TARGET_AVX512BW && ix86_pre_reload_split ()
    6653              :   && ix86_binary_operator_ok (US_MINUS, V16QImode, operands)
    6654              :   && (INTVAL (operands[4]) & 3) == 0) && 
    6655              : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6656              : (TARGET_AVX512VL)))
    6657              :         return -1;
    6658              :       return 3717; /* *avx512vl_ucmpv16qi3_1 */
    6659              : 
    6660              :     case 2:
    6661              :       if (!(
    6662              : #line 5143 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6663              : (TARGET_AVX512BW && ix86_pre_reload_split ()
    6664              :   && ix86_binary_operator_ok (US_MINUS, V16HImode, operands)
    6665              :   && (INTVAL (operands[4]) & 3) == 0) && 
    6666              : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6667              : (TARGET_AVX512VL)))
    6668              :         return -1;
    6669              :       return 3723; /* *avx512vl_ucmpv16hi3_1 */
    6670              : 
    6671              :     case 3:
    6672              :       if (!(
    6673              : #line 5143 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6674              : (TARGET_AVX512BW && ix86_pre_reload_split ()
    6675              :   && ix86_binary_operator_ok (US_MINUS, V8HImode, operands)
    6676              :   && (INTVAL (operands[4]) & 3) == 0) && 
    6677              : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6678              : (TARGET_AVX512VL)))
    6679              :         return -1;
    6680              :       return 3725; /* *avx512vl_ucmpv8hi3_1 */
    6681              : 
    6682              :     default:
    6683              :       return -1;
    6684              :     }
    6685              : }
    6686              : 
    6687              :  int
    6688              : recog_27 (rtx x1 ATTRIBUTE_UNUSED,
    6689              :         rtx_insn *insn ATTRIBUTE_UNUSED,
    6690              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
    6691              : {
    6692              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6693              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    6694              :   rtx x10, x11, x12, x13, x14, x15, x16, x17;
    6695              :   int res ATTRIBUTE_UNUSED;
    6696              :   x2 = XEXP (x1, 1);
    6697              :   x3 = XEXP (x2, 0);
    6698              :   switch (GET_CODE (x3))
    6699              :     {
    6700              :     case AND:
    6701              :       x4 = XEXP (x1, 0);
    6702              :       operands[0] = x4;
    6703              :       switch (pattern76 (x2))
    6704              :         {
    6705              :         case 0:
    6706              :           if (!
    6707              : #line 3715 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6708              : (TARGET_64BIT
    6709              :    && CONST_WIDE_INT_P (operands[3])
    6710              :    && CONST_WIDE_INT_NUNITS (operands[3]) == 2
    6711              :    && CONST_WIDE_INT_ELT (operands[3], 0) == -1
    6712              :    && CONST_WIDE_INT_ELT (operands[3], 1) == 0))
    6713              :             return -1;
    6714              :           return 148; /* *insvti_highpart_1 */
    6715              : 
    6716              :         case 1:
    6717              :           if (!
    6718              : #line 3737 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6719              : (TARGET_64BIT
    6720              :    && CONST_WIDE_INT_P (operands[3])
    6721              :    && CONST_WIDE_INT_NUNITS (operands[3]) == 2
    6722              :    && CONST_WIDE_INT_ELT (operands[3], 0) == 0
    6723              :    && CONST_WIDE_INT_ELT (operands[3], 1) == -1))
    6724              :             return -1;
    6725              :           return 151; /* *insvti_lowpart_1 */
    6726              : 
    6727              :         case 2:
    6728              :           if (!
    6729              : #line 3759 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6730              : (!TARGET_64BIT
    6731              :    && CONST_INT_P (operands[3])
    6732              :    && UINTVAL (operands[3]) == 0xffffffff00000000ll))
    6733              :             return -1;
    6734              :           return 154; /* *insvdi_lowpart_1 */
    6735              : 
    6736              :         default:
    6737              :           return -1;
    6738              :         }
    6739              : 
    6740              :     case ASHIFT:
    6741              :       x4 = XEXP (x1, 0);
    6742              :       operands[0] = x4;
    6743              :       x5 = XEXP (x3, 0);
    6744              :       switch (GET_CODE (x5))
    6745              :         {
    6746              :         case REG:
    6747              :         case SUBREG:
    6748              :           operands[1] = x5;
    6749              :           x6 = XEXP (x3, 1);
    6750              :           operands[2] = x6;
    6751              :           switch (pattern617 (x2))
    6752              :             {
    6753              :             case 0:
    6754              :               if (!
    6755              : #line 8048 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6756              : ((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
    6757              :    && ((unsigned HOST_WIDE_INT) INTVAL (operands[3])
    6758              :        < (HOST_WIDE_INT_1U << INTVAL (operands[2])))))
    6759              :                 return -1;
    6760              :               return 376; /* *leaqi_general_4 */
    6761              : 
    6762              :             case 1:
    6763              :               if (!
    6764              : #line 8048 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6765              : ((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
    6766              :    && ((unsigned HOST_WIDE_INT) INTVAL (operands[3])
    6767              :        < (HOST_WIDE_INT_1U << INTVAL (operands[2])))))
    6768              :                 return -1;
    6769              :               return 378; /* *leahi_general_4 */
    6770              : 
    6771              :             case 2:
    6772              :               if (!(
    6773              : #line 14473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6774              : (INTVAL (operands[2]) == 16 * BITS_PER_UNIT / 2
    6775              :    && (TImode == DImode
    6776              :        ? CONST_INT_P (operands[3])
    6777              :          && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
    6778              :        : CONST_INT_P (operands[3])
    6779              :        ? INTVAL (operands[3]) >= 0
    6780              :        : CONST_WIDE_INT_NUNITS (operands[3]) == 2
    6781              :          && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
    6782              :    && !(CONST_INT_P (operands[3])
    6783              :         ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
    6784              :         : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
    6785              :                                                                      0)),
    6786              :                                         VOIDmode))) && 
    6787              : #line 1197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6788              : (TARGET_64BIT)))
    6789              :                 return -1;
    6790              :               return 964; /* *concatditi3_5 */
    6791              : 
    6792              :             case 3:
    6793              :               if (!(
    6794              : #line 14396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6795              : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT) && 
    6796              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6797              : (TARGET_64BIT)))
    6798              :                 return -1;
    6799              :               return 928; /* *concatditi3_1 */
    6800              : 
    6801              :             default:
    6802              :               return -1;
    6803              :             }
    6804              : 
    6805              :         case ZERO_EXTEND:
    6806              :           x7 = XEXP (x5, 0);
    6807              :           switch (GET_CODE (x7))
    6808              :             {
    6809              :             case TRUNCATE:
    6810              :               if (GET_MODE (x7) != E_QImode)
    6811              :                 return -1;
    6812              :               x8 = XEXP (x7, 0);
    6813              :               if (GET_CODE (x8) != MOD
    6814              :                   || GET_MODE (x8) != E_HImode)
    6815              :                 return -1;
    6816              :               x6 = XEXP (x3, 1);
    6817              :               if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
    6818              :                 return -1;
    6819              :               x9 = XEXP (x2, 1);
    6820              :               if (GET_CODE (x9) != ZERO_EXTEND
    6821              :                   || GET_MODE (x9) != E_HImode)
    6822              :                 return -1;
    6823              :               x10 = XEXP (x9, 0);
    6824              :               if (pattern1211 (x10, 
    6825              : E_HImode, 
    6826              : DIV, 
    6827              : E_QImode, 
    6828              : TRUNCATE) != 0
    6829              :                   || pattern1007 (x2, 
    6830              : E_HImode) != 0)
    6831              :                 return -1;
    6832              :               x11 = XEXP (x8, 0);
    6833              :               operands[1] = x11;
    6834              :               if (!register_operand (operands[1], E_HImode))
    6835              :                 return -1;
    6836              :               x12 = XEXP (x8, 1);
    6837              :               if (GET_MODE (x12) != E_HImode)
    6838              :                 return -1;
    6839              :               x13 = XEXP (x10, 0);
    6840              :               x14 = XEXP (x13, 1);
    6841              :               if (GET_MODE (x14) != E_HImode)
    6842              :                 return -1;
    6843              :               x15 = XEXP (x13, 0);
    6844              :               if (!rtx_equal_p (x15, operands[1]))
    6845              :                 return -1;
    6846              :               switch (GET_CODE (x12))
    6847              :                 {
    6848              :                 case SIGN_EXTEND:
    6849              :                   if (GET_CODE (x14) != SIGN_EXTEND)
    6850              :                     return -1;
    6851              :                   x16 = XEXP (x12, 0);
    6852              :                   operands[2] = x16;
    6853              :                   if (!nonimmediate_operand (operands[2], E_QImode))
    6854              :                     return -1;
    6855              :                   x17 = XEXP (x14, 0);
    6856              :                   if (!rtx_equal_p (x17, operands[2]))
    6857              :                     return -1;
    6858              :                   if (
    6859              : #line 12360 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6860              : (TARGET_QIMODE_MATH
    6861              :    && TARGET_APX_NF))
    6862              :                     return 706; /* divmodhiqi3_nf */
    6863              :                   if (pnum_clobbers == NULL
    6864              :                       || !
    6865              : #line 12360 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6866              : (TARGET_QIMODE_MATH
    6867              :    && true))
    6868              :                     return -1;
    6869              :                   *pnum_clobbers = 1;
    6870              :                   return 707; /* divmodhiqi3 */
    6871              : 
    6872              :                 case ZERO_EXTEND:
    6873              :                   if (GET_CODE (x14) != ZERO_EXTEND)
    6874              :                     return -1;
    6875              :                   x16 = XEXP (x12, 0);
    6876              :                   operands[2] = x16;
    6877              :                   if (!nonimmediate_operand (operands[2], E_QImode))
    6878              :                     return -1;
    6879              :                   x17 = XEXP (x14, 0);
    6880              :                   if (!rtx_equal_p (x17, operands[2]))
    6881              :                     return -1;
    6882              :                   if (
    6883              : #line 12360 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6884              : (TARGET_QIMODE_MATH
    6885              :    && TARGET_APX_NF))
    6886              :                     return 708; /* udivmodhiqi3_nf */
    6887              :                   if (pnum_clobbers == NULL
    6888              :                       || !
    6889              : #line 12360 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6890              : (TARGET_QIMODE_MATH
    6891              :    && true))
    6892              :                     return -1;
    6893              :                   *pnum_clobbers = 1;
    6894              :                   return 709; /* udivmodhiqi3 */
    6895              : 
    6896              :                 default:
    6897              :                   return -1;
    6898              :                 }
    6899              : 
    6900              :             case REG:
    6901              :             case SUBREG:
    6902              :             case MEM:
    6903              :               operands[1] = x7;
    6904              :               if (!nonimmediate_operand (operands[1], E_DImode)
    6905              :                   || !nonimmediate_operand (operands[0], E_TImode)
    6906              :                   || GET_MODE (x2) != E_TImode
    6907              :                   || GET_MODE (x3) != E_TImode
    6908              :                   || GET_MODE (x5) != E_TImode)
    6909              :                 return -1;
    6910              :               x6 = XEXP (x3, 1);
    6911              :               operands[2] = x6;
    6912              :               if (!const_int_operand (operands[2], E_QImode))
    6913              :                 return -1;
    6914              :               x9 = XEXP (x2, 1);
    6915              :               switch (pattern259 (x9, 
    6916              : E_DImode, 
    6917              : E_TImode))
    6918              :                 {
    6919              :                 case 0:
    6920              :                   if (!(
    6921              : #line 14432 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6922              : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT) && 
    6923              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6924              : (TARGET_64BIT)))
    6925              :                     return -1;
    6926              :                   return 946; /* *concatditi3_3 */
    6927              : 
    6928              :                 case 1:
    6929              :                   if (!(
    6930              : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6931              : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT
    6932              :    && (TImode == DImode
    6933              :        ? CONST_INT_P (operands[3])
    6934              :          && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
    6935              :        : CONST_INT_P (operands[3])
    6936              :        ? INTVAL (operands[3]) >= 0
    6937              :        : CONST_WIDE_INT_NUNITS (operands[3]) == 2
    6938              :          && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
    6939              :    && !(CONST_INT_P (operands[3])
    6940              :         ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
    6941              :         : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
    6942              :                                                                      0)),
    6943              :                                         VOIDmode))) && 
    6944              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6945              : (TARGET_64BIT)))
    6946              :                     return -1;
    6947              :                   return 976; /* *concatditi3_6 */
    6948              : 
    6949              :                 default:
    6950              :                   return -1;
    6951              :                 }
    6952              : 
    6953              :             default:
    6954              :               return -1;
    6955              :             }
    6956              : 
    6957              :         case SIGN_EXTEND:
    6958              :           switch (pattern260 (x2, 
    6959              : E_DImode, 
    6960              : E_TImode))
    6961              :             {
    6962              :             case 0:
    6963              :               if (!(
    6964              : #line 14432 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6965              : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT) && 
    6966              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6967              : (TARGET_64BIT)))
    6968              :                 return -1;
    6969              :               return 943; /* *concatditi3_3 */
    6970              : 
    6971              :             case 1:
    6972              :               if (!(
    6973              : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6974              : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT
    6975              :    && (TImode == DImode
    6976              :        ? CONST_INT_P (operands[3])
    6977              :          && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
    6978              :        : CONST_INT_P (operands[3])
    6979              :        ? INTVAL (operands[3]) >= 0
    6980              :        : CONST_WIDE_INT_NUNITS (operands[3]) == 2
    6981              :          && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
    6982              :    && !(CONST_INT_P (operands[3])
    6983              :         ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
    6984              :         : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
    6985              :                                                                      0)),
    6986              :                                         VOIDmode))) && 
    6987              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6988              : (TARGET_64BIT)))
    6989              :                 return -1;
    6990              :               return 973; /* *concatditi3_6 */
    6991              : 
    6992              :             default:
    6993              :               return -1;
    6994              :             }
    6995              : 
    6996              :         default:
    6997              :           return -1;
    6998              :         }
    6999              : 
    7000              :     case REG:
    7001              :     case SUBREG:
    7002              :     case MEM:
    7003              :       operands[1] = x3;
    7004              :       switch (pattern82 (x1, pnum_clobbers))
    7005              :         {
    7006              :         case 0:
    7007              :           if (
    7008              : #line 13083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7009              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
    7010              :             {
    7011              :               *pnum_clobbers = 1;
    7012              :               return 754; /* *iorqi_1_slp */
    7013              :             }
    7014              :           break;
    7015              : 
    7016              :         case 1:
    7017              :           if (
    7018              : #line 13083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7019              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
    7020              :             {
    7021              :               *pnum_clobbers = 1;
    7022              :               return 757; /* *iorhi_1_slp */
    7023              :             }
    7024              :           break;
    7025              : 
    7026              :         case 2:
    7027              :           if ((
    7028              : #line 13847 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7029              : (ix86_binary_operator_ok (IOR, TImode, operands, TARGET_APX_NDD)) && 
    7030              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7031              : (TARGET_64BIT)))
    7032              :             {
    7033              :               *pnum_clobbers = 1;
    7034              :               return 849; /* *iorti3_doubleword */
    7035              :             }
    7036              :           break;
    7037              : 
    7038              :         case 3:
    7039              :           if (
    7040              : #line 13905 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7041              : (ix86_binary_operator_ok (IOR, HImode, operands, TARGET_APX_NDD)
    7042              :    && TARGET_APX_NF))
    7043              :             return 851; /* *iorhi_1_nf */
    7044              :           if (pnum_clobbers != NULL
    7045              :               && 
    7046              : #line 13905 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7047              : (ix86_binary_operator_ok (IOR, HImode, operands, TARGET_APX_NDD)
    7048              :    && true))
    7049              :             {
    7050              :               *pnum_clobbers = 1;
    7051              :               return 852; /* *iorhi_1 */
    7052              :             }
    7053              :           break;
    7054              : 
    7055              :         case 4:
    7056              :           if (
    7057              : #line 1380 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7058              : (TARGET_MMX_WITH_SSE))
    7059              :             return 2134; /* iorv2sf3 */
    7060              :           break;
    7061              : 
    7062              :         case 5:
    7063              :           if (
    7064              : #line 2606 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7065              : (TARGET_SSE))
    7066              :             return 2168; /* iorv2bf3 */
    7067              :           break;
    7068              : 
    7069              :         case 6:
    7070              :           if ((
    7071              : #line 2606 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7072              : (TARGET_SSE) && 
    7073              : #line 2248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7074              : (TARGET_MMX_WITH_SSE)))
    7075              :             return 2171; /* iorv4bf3 */
    7076              :           break;
    7077              : 
    7078              :         case 7:
    7079              :           if (
    7080              : #line 2606 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7081              : (TARGET_SSE))
    7082              :             return 2174; /* iorv2hf3 */
    7083              :           break;
    7084              : 
    7085              :         case 8:
    7086              :           if ((
    7087              : #line 2606 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7088              : (TARGET_SSE) && 
    7089              : #line 2249 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7090              : (TARGET_MMX_WITH_SSE)))
    7091              :             return 2177; /* iorv4hf3 */
    7092              :           break;
    7093              : 
    7094              :         case 9:
    7095              :           if (
    7096              : #line 4715 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7097              : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
    7098              :    && ix86_binary_operator_ok (IOR, V8QImode, operands)))
    7099              :             return 2331; /* *mmx_iorv8qi3 */
    7100              :           break;
    7101              : 
    7102              :         case 10:
    7103              :           if (
    7104              : #line 4715 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7105              : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
    7106              :    && ix86_binary_operator_ok (IOR, V4HImode, operands)))
    7107              :             return 2334; /* *mmx_iorv4hi3 */
    7108              :           break;
    7109              : 
    7110              :         case 11:
    7111              :           if (
    7112              : #line 4715 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7113              : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
    7114              :    && ix86_binary_operator_ok (IOR, V2SImode, operands)))
    7115              :             return 2337; /* *mmx_iorv2si3 */
    7116              :           break;
    7117              : 
    7118              :         case 12:
    7119              :           if (
    7120              : #line 4741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7121              : (ix86_binary_operator_ok (IOR, V4QImode, operands)))
    7122              :             {
    7123              :               *pnum_clobbers = 1;
    7124              :               return 2340; /* *iorv4qi3 */
    7125              :             }
    7126              :           break;
    7127              : 
    7128              :         case 13:
    7129              :           if (
    7130              : #line 4741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7131              : (ix86_binary_operator_ok (IOR, V2QImode, operands)))
    7132              :             {
    7133              :               *pnum_clobbers = 1;
    7134              :               return 2343; /* *iorv2qi3 */
    7135              :             }
    7136              :           break;
    7137              : 
    7138              :         case 14:
    7139              :           if (
    7140              : #line 4741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7141              : (ix86_binary_operator_ok (IOR, V2HImode, operands)))
    7142              :             {
    7143              :               *pnum_clobbers = 1;
    7144              :               return 2346; /* *iorv2hi3 */
    7145              :             }
    7146              :           break;
    7147              : 
    7148              :         case 15:
    7149              :           if (
    7150              : #line 6017 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7151              : (TARGET_SSE))
    7152              :             return 3855; /* iorbf3 */
    7153              :           break;
    7154              : 
    7155              :         case 16:
    7156              :           if (
    7157              : #line 6017 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7158              : (TARGET_SSE))
    7159              :             return 3858; /* iorhf3 */
    7160              :           break;
    7161              : 
    7162              :         case 17:
    7163              :           if (
    7164              : #line 6017 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7165              : (TARGET_SSE))
    7166              :             return 3861; /* iorsf3 */
    7167              :           break;
    7168              : 
    7169              :         case 18:
    7170              :           if ((
    7171              : #line 6017 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7172              : (TARGET_SSE) && 
    7173              : #line 1353 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7174              : (TARGET_SSE2)))
    7175              :             return 3864; /* iordf3 */
    7176              :           break;
    7177              : 
    7178              :         case 19:
    7179              :           if (
    7180              : #line 6091 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7181              : (TARGET_SSE && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    7182              :             return 3867; /* *iortf3 */
    7183              :           break;
    7184              : 
    7185              :         default:
    7186              :           break;
    7187              :         }
    7188              :       if (pnum_clobbers != NULL
    7189              :           && pattern83 (x2) == 0)
    7190              :         {
    7191              :           x5 = XEXP (x3, 0);
    7192              :           x7 = XEXP (x5, 0);
    7193              :           operands[2] = x7;
    7194              :           switch (pattern1080 (x1))
    7195              :             {
    7196              :             case 0:
    7197              :               if (
    7198              : #line 13108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7199              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
    7200              :                 {
    7201              :                   *pnum_clobbers = 1;
    7202              :                   return 760; /* *iorqi_exthi_1_slp */
    7203              :                 }
    7204              :               break;
    7205              : 
    7206              :             case 1:
    7207              :               if (
    7208              : #line 13108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7209              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
    7210              :                 {
    7211              :                   *pnum_clobbers = 1;
    7212              :                   return 763; /* *iorqi_extsi_1_slp */
    7213              :                 }
    7214              :               break;
    7215              : 
    7216              :             case 2:
    7217              :               if ((
    7218              : #line 13108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7219              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) && 
    7220              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7221              : (TARGET_64BIT)))
    7222              :                 {
    7223              :                   *pnum_clobbers = 1;
    7224              :                   return 766; /* *iorqi_extdi_1_slp */
    7225              :                 }
    7226              :               break;
    7227              : 
    7228              :             case 3:
    7229              :               *pnum_clobbers = 1;
    7230              :               return 784; /* *iorqi_exthi_0 */
    7231              : 
    7232              :             case 4:
    7233              :               *pnum_clobbers = 1;
    7234              :               return 787; /* *iorqi_extsi_0 */
    7235              : 
    7236              :             case 5:
    7237              :               if (
    7238              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7239              : (TARGET_64BIT))
    7240              :                 {
    7241              :                   *pnum_clobbers = 1;
    7242              :                   return 790; /* *iorqi_extdi_0 */
    7243              :                 }
    7244              :               break;
    7245              : 
    7246              :             default:
    7247              :               break;
    7248              :             }
    7249              :           x9 = XEXP (x2, 1);
    7250              :           if (GET_CODE (x9) == SUBREG)
    7251              :             {
    7252              :               switch (pattern1083 (x1))
    7253              :                 {
    7254              :                 case 0:
    7255              :                   if (
    7256              : #line 13137 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7257              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
    7258              :                     {
    7259              :                       *pnum_clobbers = 1;
    7260              :                       return 769; /* *iorqi_exthi_2_slp */
    7261              :                     }
    7262              :                   break;
    7263              : 
    7264              :                 case 1:
    7265              :                   if (
    7266              : #line 13137 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7267              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
    7268              :                     {
    7269              :                       *pnum_clobbers = 1;
    7270              :                       return 772; /* *iorqi_extsi_2_slp */
    7271              :                     }
    7272              :                   break;
    7273              : 
    7274              :                 case 2:
    7275              :                   if ((
    7276              : #line 13137 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7277              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) && 
    7278              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7279              : (TARGET_64BIT)))
    7280              :                     {
    7281              :                       *pnum_clobbers = 1;
    7282              :                       return 775; /* *iorqi_extdi_2_slp */
    7283              :                     }
    7284              :                   break;
    7285              : 
    7286              :                 case 3:
    7287              :                   *pnum_clobbers = 1;
    7288              :                   return 793; /* *iorqi_ext2hi_0 */
    7289              : 
    7290              :                 case 4:
    7291              :                   *pnum_clobbers = 1;
    7292              :                   return 796; /* *iorqi_ext2si_0 */
    7293              : 
    7294              :                 case 5:
    7295              :                   if (
    7296              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7297              : (TARGET_64BIT))
    7298              :                     {
    7299              :                       *pnum_clobbers = 1;
    7300              :                       return 799; /* *iorqi_ext2di_0 */
    7301              :                     }
    7302              :                   break;
    7303              : 
    7304              :                 default:
    7305              :                   break;
    7306              :                 }
    7307              :             }
    7308              :         }
    7309              :       operands[1] = x3;
    7310              :       if (pattern84 (x1) != 0)
    7311              :         return -1;
    7312              :       if (
    7313              : #line 14095 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7314              : (ix86_binary_operator_ok (IOR, QImode, operands, TARGET_APX_NDD)
    7315              :    && TARGET_APX_NF))
    7316              :         return 895; /* *iorqi_1_nf */
    7317              :       if (pnum_clobbers == NULL
    7318              :           || !
    7319              : #line 14095 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7320              : (ix86_binary_operator_ok (IOR, QImode, operands, TARGET_APX_NDD)
    7321              :    && true))
    7322              :         return -1;
    7323              :       *pnum_clobbers = 1;
    7324              :       return 896; /* *iorqi_1 */
    7325              : 
    7326              :     case ZERO_EXTEND:
    7327              :       switch (pattern40 (x1))
    7328              :         {
    7329              :         case 0:
    7330              :           if (!(
    7331              : #line 14413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7332              : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) && 
    7333              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7334              : (TARGET_64BIT)))
    7335              :             return -1;
    7336              :           return 934; /* *concatditi3_2 */
    7337              : 
    7338              :         case 1:
    7339              :           if (!(
    7340              : #line 14457 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7341              : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) && 
    7342              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7343              : (TARGET_64BIT)))
    7344              :             return -1;
    7345              :           return 955; /* *concatditi3_4 */
    7346              : 
    7347              :         case 2:
    7348              :           if (!(
    7349              : #line 14457 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7350              : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) && 
    7351              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7352              : (TARGET_64BIT)))
    7353              :             return -1;
    7354              :           return 958; /* *concatditi3_4 */
    7355              : 
    7356              :         case 3:
    7357              :           if (!(
    7358              : #line 14534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7359              : (TImode == DImode
    7360              :    ? CONST_INT_P (operands[2])
    7361              :      && (UINTVAL (operands[2]) & GET_MODE_MASK (SImode)) == 0
    7362              :      && !ix86_endbr_immediate_operand (operands[2], VOIDmode)
    7363              :    : CONST_WIDE_INT_P (operands[2])
    7364              :      && CONST_WIDE_INT_NUNITS (operands[2]) == 2
    7365              :      && CONST_WIDE_INT_ELT (operands[2], 0) == 0
    7366              :      && !ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[2],
    7367              :                                                                     1)),
    7368              :                                        VOIDmode)) && 
    7369              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7370              : (TARGET_64BIT)))
    7371              :             return -1;
    7372              :           return 982; /* *concatditi3_7 */
    7373              : 
    7374              :         default:
    7375              :           return -1;
    7376              :         }
    7377              : 
    7378              :     default:
    7379              :       return -1;
    7380              :     }
    7381              : }
    7382              : 
    7383              :  int
    7384              : recog_48 (rtx x1 ATTRIBUTE_UNUSED,
    7385              :         rtx_insn *insn ATTRIBUTE_UNUSED,
    7386              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
    7387              : {
    7388              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    7389              :   rtx x2, x3, x4;
    7390              :   int res ATTRIBUTE_UNUSED;
    7391              :   switch (pattern2 (x1, pnum_clobbers))
    7392              :     {
    7393              :     case 0:
    7394              :       if (!
    7395              : #line 18532 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7396              : (ix86_binary_operator_ok (ROTATERT, QImode, operands)
    7397              :    && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (QImode)-1))
    7398              :       == GET_MODE_BITSIZE (QImode)-1
    7399              :    && ix86_pre_reload_split ()))
    7400              :         return -1;
    7401              :       *pnum_clobbers = 1;
    7402              :       return 1325; /* *rotrqi3_mask_1 */
    7403              : 
    7404              :     case 1:
    7405              :       if (!
    7406              : #line 18532 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7407              : (ix86_binary_operator_ok (ROTATERT, HImode, operands)
    7408              :    && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (HImode)-1))
    7409              :       == GET_MODE_BITSIZE (HImode)-1
    7410              :    && ix86_pre_reload_split ()))
    7411              :         return -1;
    7412              :       *pnum_clobbers = 1;
    7413              :       return 1327; /* *rotrhi3_mask_1 */
    7414              : 
    7415              :     case 2:
    7416              :       if (!
    7417              : #line 18613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7418              : (ix86_binary_operator_ok (ROTATERT, QImode, operands)
    7419              :    && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
    7420              :    && ix86_pre_reload_split ()))
    7421              :         return -1;
    7422              :       *pnum_clobbers = 1;
    7423              :       return 1341; /* *rotrqi3_add_1 */
    7424              : 
    7425              :     case 3:
    7426              :       if (!
    7427              : #line 18613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7428              : (ix86_binary_operator_ok (ROTATERT, HImode, operands)
    7429              :    && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
    7430              :    && ix86_pre_reload_split ()))
    7431              :         return -1;
    7432              :       *pnum_clobbers = 1;
    7433              :       return 1343; /* *rotrhi3_add_1 */
    7434              : 
    7435              :     case 4:
    7436              :       if (!
    7437              : #line 18682 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7438              : (ix86_binary_operator_ok (ROTATERT, QImode, operands)
    7439              :    && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
    7440              :    && ix86_pre_reload_split ()))
    7441              :         return -1;
    7442              :       *pnum_clobbers = 1;
    7443              :       return 1357; /* *rotrqi3_sub_1 */
    7444              : 
    7445              :     case 5:
    7446              :       if (!
    7447              : #line 18682 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7448              : (ix86_binary_operator_ok (ROTATERT, HImode, operands)
    7449              :    && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
    7450              :    && ix86_pre_reload_split ()))
    7451              :         return -1;
    7452              :       *pnum_clobbers = 1;
    7453              :       return 1359; /* *rotrhi3_sub_1 */
    7454              : 
    7455              :     case 6:
    7456              :       x2 = XEXP (x1, 0);
    7457              :       operands[0] = x2;
    7458              :       x3 = XEXP (x1, 1);
    7459              :       switch (pattern268 (x3, pnum_clobbers))
    7460              :         {
    7461              :         case 0:
    7462              :           if (
    7463              : #line 18484 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7464              : (ix86_binary_operator_ok (ROTATERT, QImode, operands)
    7465              :    && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (QImode)-1))
    7466              :       == GET_MODE_BITSIZE (QImode)-1
    7467              :    && ix86_pre_reload_split ()))
    7468              :             {
    7469              :               *pnum_clobbers = 1;
    7470              :               return 1317; /* *rotrqi3_mask */
    7471              :             }
    7472              :           break;
    7473              : 
    7474              :         case 1:
    7475              :           if (
    7476              : #line 18484 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7477              : (ix86_binary_operator_ok (ROTATERT, HImode, operands)
    7478              :    && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (HImode)-1))
    7479              :       == GET_MODE_BITSIZE (HImode)-1
    7480              :    && ix86_pre_reload_split ()))
    7481              :             {
    7482              :               *pnum_clobbers = 1;
    7483              :               return 1319; /* *rotrhi3_mask */
    7484              :             }
    7485              :           break;
    7486              : 
    7487              :         case 2:
    7488              :           if (
    7489              : #line 18577 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7490              : (ix86_binary_operator_ok (ROTATERT, QImode, operands)
    7491              :    && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
    7492              :    && ix86_pre_reload_split ()))
    7493              :             {
    7494              :               *pnum_clobbers = 1;
    7495              :               return 1333; /* *rotrqi3_add */
    7496              :             }
    7497              :           break;
    7498              : 
    7499              :         case 3:
    7500              :           if (
    7501              : #line 18577 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7502              : (ix86_binary_operator_ok (ROTATERT, HImode, operands)
    7503              :    && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
    7504              :    && ix86_pre_reload_split ()))
    7505              :             {
    7506              :               *pnum_clobbers = 1;
    7507              :               return 1335; /* *rotrhi3_add */
    7508              :             }
    7509              :           break;
    7510              : 
    7511              :         case 4:
    7512              :           if (
    7513              : #line 18646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7514              : (ix86_binary_operator_ok (ROTATERT, QImode, operands)
    7515              :    && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
    7516              :    && ix86_pre_reload_split ()))
    7517              :             {
    7518              :               *pnum_clobbers = 1;
    7519              :               return 1349; /* *rotrqi3_sub */
    7520              :             }
    7521              :           break;
    7522              : 
    7523              :         case 5:
    7524              :           if (
    7525              : #line 18646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7526              : (ix86_binary_operator_ok (ROTATERT, HImode, operands)
    7527              :    && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
    7528              :    && ix86_pre_reload_split ()))
    7529              :             {
    7530              :               *pnum_clobbers = 1;
    7531              :               return 1351; /* *rotrhi3_sub */
    7532              :             }
    7533              :           break;
    7534              : 
    7535              :         case 6:
    7536              :           if (pnum_clobbers != NULL
    7537              :               && pattern626 (x3) == 0
    7538              :               && 
    7539              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7540              : (TARGET_64BIT))
    7541              :             {
    7542              :               *pnum_clobbers = 2;
    7543              :               return 1367; /* ix86_rotrti3_doubleword */
    7544              :             }
    7545              :           x4 = XEXP (x3, 1);
    7546              :           if (XWINT (x4, 0) == 64L
    7547              :               && register_operand (operands[0], E_TImode)
    7548              :               && GET_MODE (x3) == E_TImode
    7549              :               && register_operand (operands[1], E_TImode)
    7550              :               && 
    7551              : #line 18805 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7552              : (TARGET_64BIT))
    7553              :             return 1371; /* rotr64ti2_doubleword */
    7554              :           break;
    7555              : 
    7556              :         default:
    7557              :           break;
    7558              :         }
    7559              :       x4 = XEXP (x3, 1);
    7560              :       operands[2] = x4;
    7561              :       switch (pattern269 (x1, pnum_clobbers))
    7562              :         {
    7563              :         case 0:
    7564              :           if (
    7565              : #line 19019 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7566              : (ix86_binary_operator_ok (ROTATERT, QImode, operands, TARGET_APX_NDD)
    7567              :    && TARGET_APX_NF))
    7568              :             return 1407; /* *rotrqi3_1_nf */
    7569              :           if (pnum_clobbers == NULL
    7570              :               || !
    7571              : #line 19019 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7572              : (ix86_binary_operator_ok (ROTATERT, QImode, operands, TARGET_APX_NDD)
    7573              :    && true))
    7574              :             return -1;
    7575              :           *pnum_clobbers = 1;
    7576              :           return 1408; /* *rotrqi3_1 */
    7577              : 
    7578              :         case 1:
    7579              :           if (
    7580              : #line 19019 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7581              : (ix86_binary_operator_ok (ROTATERT, HImode, operands, TARGET_APX_NDD)
    7582              :    && TARGET_APX_NF))
    7583              :             return 1411; /* *rotrhi3_1_nf */
    7584              :           if (pnum_clobbers == NULL
    7585              :               || !
    7586              : #line 19019 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7587              : (ix86_binary_operator_ok (ROTATERT, HImode, operands, TARGET_APX_NDD)
    7588              :    && true))
    7589              :             return -1;
    7590              :           *pnum_clobbers = 1;
    7591              :           return 1412; /* *rotrhi3_1 */
    7592              : 
    7593              :         case 2:
    7594              :           if (!
    7595              : #line 19050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7596              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
    7597              :             return -1;
    7598              :           *pnum_clobbers = 1;
    7599              :           return 1414; /* *rotrqi3_1_slp */
    7600              : 
    7601              :         case 3:
    7602              :           if (!
    7603              : #line 19050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7604              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
    7605              :             return -1;
    7606              :           *pnum_clobbers = 1;
    7607              :           return 1416; /* *rotrhi3_1_slp */
    7608              : 
    7609              :         default:
    7610              :           return -1;
    7611              :         }
    7612              : 
    7613              :     default:
    7614              :       return -1;
    7615              :     }
    7616              : }
    7617              : 
    7618              :  int
    7619              : recog_58 (rtx x1 ATTRIBUTE_UNUSED,
    7620              :         rtx_insn *insn ATTRIBUTE_UNUSED,
    7621              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
    7622              : {
    7623              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    7624              :   rtx x2, x3, x4;
    7625              :   int res ATTRIBUTE_UNUSED;
    7626              :   x2 = XEXP (x1, 0);
    7627              :   switch (GET_CODE (x2))
    7628              :     {
    7629              :     case REG:
    7630              :     case SUBREG:
    7631              :     case MEM:
    7632              :       operands[0] = x2;
    7633              :       switch (GET_MODE (operands[0]))
    7634              :         {
    7635              :         case E_TImode:
    7636              :           x3 = XEXP (x1, 1);
    7637              :           if (pattern79 (x3, pnum_clobbers) != 0
    7638              :               || !(
    7639              : #line 8102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7640              : (ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)) && 
    7641              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7642              : (TARGET_64BIT)))
    7643              :             return -1;
    7644              :           *pnum_clobbers = 1;
    7645              :           return 385; /* *subti3_doubleword */
    7646              : 
    7647              :         case E_QImode:
    7648              :           x3 = XEXP (x1, 1);
    7649              :           if (pattern80 (x3, 
    7650              : E_QImode) != 0)
    7651              :             return -1;
    7652              :           if (
    7653              : #line 8158 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7654              : (ix86_binary_operator_ok (MINUS, QImode, operands, TARGET_APX_NDD)
    7655              :   && TARGET_APX_NF))
    7656              :             return 388; /* *subqi_1_nf */
    7657              :           if (pnum_clobbers == NULL
    7658              :               || !
    7659              : #line 8158 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7660              : (ix86_binary_operator_ok (MINUS, QImode, operands, TARGET_APX_NDD)
    7661              :   && true))
    7662              :             return -1;
    7663              :           *pnum_clobbers = 1;
    7664              :           return 389; /* *subqi_1 */
    7665              : 
    7666              :         case E_HImode:
    7667              :           x3 = XEXP (x1, 1);
    7668              :           if (pattern80 (x3, 
    7669              : E_HImode) != 0)
    7670              :             return -1;
    7671              :           if (
    7672              : #line 8158 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7673              : (ix86_binary_operator_ok (MINUS, HImode, operands, TARGET_APX_NDD)
    7674              :   && TARGET_APX_NF))
    7675              :             return 390; /* *subhi_1_nf */
    7676              :           if (pnum_clobbers == NULL
    7677              :               || !
    7678              : #line 8158 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7679              : (ix86_binary_operator_ok (MINUS, HImode, operands, TARGET_APX_NDD)
    7680              :   && true))
    7681              :             return -1;
    7682              :           *pnum_clobbers = 1;
    7683              :           return 391; /* *subhi_1 */
    7684              : 
    7685              :         case E_HFmode:
    7686              :           x3 = XEXP (x1, 1);
    7687              :           if (pattern3 (x3, 
    7688              : E_HFmode) != 0
    7689              :               || !
    7690              : #line 23833 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7691              : (TARGET_AVX512FP16
    7692              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    7693              :             return -1;
    7694              :           return 1711; /* *subhf */
    7695              : 
    7696              :         case E_V8QImode:
    7697              :           x3 = XEXP (x1, 1);
    7698              :           if (pattern6 (x3, 
    7699              : E_V8QImode) != 0
    7700              :               || !
    7701              : #line 3239 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7702              : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
    7703              :    && ix86_binary_operator_ok (MINUS, V8QImode, operands)))
    7704              :             return -1;
    7705              :           return 2181; /* *mmx_subv8qi3 */
    7706              : 
    7707              :         case E_V4HImode:
    7708              :           x3 = XEXP (x1, 1);
    7709              :           if (pattern6 (x3, 
    7710              : E_V4HImode) != 0
    7711              :               || !
    7712              : #line 3239 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7713              : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
    7714              :    && ix86_binary_operator_ok (MINUS, V4HImode, operands)))
    7715              :             return -1;
    7716              :           return 2183; /* *mmx_subv4hi3 */
    7717              : 
    7718              :         case E_V2SImode:
    7719              :           x3 = XEXP (x1, 1);
    7720              :           if (pattern6 (x3, 
    7721              : E_V2SImode) != 0
    7722              :               || !
    7723              : #line 3239 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7724              : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
    7725              :    && ix86_binary_operator_ok (MINUS, V2SImode, operands)))
    7726              :             return -1;
    7727              :           return 2185; /* *mmx_subv2si3 */
    7728              : 
    7729              :         case E_V1DImode:
    7730              :           x3 = XEXP (x1, 1);
    7731              :           if (pattern6 (x3, 
    7732              : E_V1DImode) != 0
    7733              :               || !(
    7734              : #line 3239 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7735              : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
    7736              :    && ix86_binary_operator_ok (MINUS, V1DImode, operands)) && 
    7737              : #line 50 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7738              : (TARGET_SSE2)))
    7739              :             return -1;
    7740              :           return 2187; /* *mmx_subv1di3 */
    7741              : 
    7742              :         case E_V4QImode:
    7743              :           x3 = XEXP (x1, 1);
    7744              :           if (pattern5 (x3, 
    7745              : E_V4QImode) != 0
    7746              :               || !
    7747              : #line 3255 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7748              : (TARGET_SSE2))
    7749              :             return -1;
    7750              :           return 2189; /* subv4qi3 */
    7751              : 
    7752              :         case E_V2HImode:
    7753              :           x3 = XEXP (x1, 1);
    7754              :           if (pattern5 (x3, 
    7755              : E_V2HImode) != 0
    7756              :               || !
    7757              : #line 3255 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7758              : (TARGET_SSE2))
    7759              :             return -1;
    7760              :           return 2191; /* subv2hi3 */
    7761              : 
    7762              :         case E_V2QImode:
    7763              :           if (pnum_clobbers == NULL)
    7764              :             return -1;
    7765              :           x3 = XEXP (x1, 1);
    7766              :           if (pattern5 (x3, 
    7767              : E_V2QImode) != 0
    7768              :               || !
    7769              : #line 3269 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7770              : (!TARGET_PARTIAL_REG_STALL || optimize_size || TARGET_SSE2))
    7771              :             return -1;
    7772              :           *pnum_clobbers = 1;
    7773              :           return 2193; /* subv2qi3 */
    7774              : 
    7775              :         default:
    7776              :           return -1;
    7777              :         }
    7778              : 
    7779              :     case STRICT_LOW_PART:
    7780              :       if (pnum_clobbers == NULL)
    7781              :         return -1;
    7782              :       x4 = XEXP (x2, 0);
    7783              :       operands[0] = x4;
    7784              :       switch (GET_MODE (operands[0]))
    7785              :         {
    7786              :         case E_QImode:
    7787              :           x3 = XEXP (x1, 1);
    7788              :           if (pattern1091 (x3, 
    7789              : E_QImode) != 0
    7790              :               || !
    7791              : #line 8222 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7792              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
    7793              :             return -1;
    7794              :           *pnum_clobbers = 1;
    7795              :           return 407; /* *subqi_1_slp */
    7796              : 
    7797              :         case E_HImode:
    7798              :           x3 = XEXP (x1, 1);
    7799              :           if (pattern1091 (x3, 
    7800              : E_HImode) != 0
    7801              :               || !
    7802              : #line 8222 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7803              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
    7804              :             return -1;
    7805              :           *pnum_clobbers = 1;
    7806              :           return 408; /* *subhi_1_slp */
    7807              : 
    7808              :         default:
    7809              :           return -1;
    7810              :         }
    7811              : 
    7812              :     default:
    7813              :       return -1;
    7814              :     }
    7815              : }
    7816              : 
    7817              :  int
    7818              : recog_66 (rtx x1 ATTRIBUTE_UNUSED,
    7819              :         rtx_insn *insn ATTRIBUTE_UNUSED,
    7820              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
    7821              : {
    7822              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    7823              :   rtx x2, x3, x4, x5, x6;
    7824              :   int res ATTRIBUTE_UNUSED;
    7825              :   x2 = XEXP (x1, 1);
    7826              :   x3 = XEXP (x2, 0);
    7827              :   operands[1] = x3;
    7828              :   x4 = XEXP (x2, 1);
    7829              :   switch (XVECLEN (x4, 0))
    7830              :     {
    7831              :     case 2:
    7832              :       x5 = XVECEXP (x4, 0, 0);
    7833              :       if (GET_CODE (x5) != CONST_INT)
    7834              :         return -1;
    7835              :       x6 = XVECEXP (x4, 0, 1);
    7836              :       if (GET_CODE (x6) == CONST_INT
    7837              :           && GET_MODE (x2) == E_V2SFmode)
    7838              :         {
    7839              :           switch (XWINT (x5, 0))
    7840              :             {
    7841              :             case 1L:
    7842              :               if (register_operand (operands[0], E_V2SFmode))
    7843              :                 {
    7844              :                   switch (XWINT (x6, 0))
    7845              :                     {
    7846              :                     case 0L:
    7847              :                       if (register_mmxmem_operand (operands[1], E_V2SFmode)
    7848              :                           && 
    7849              : #line 1664 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7850              : (TARGET_3DNOW_A || TARGET_MMX_WITH_SSE))
    7851              :                         return 2140; /* mmx_pswapdv2sf2 */
    7852              :                       break;
    7853              : 
    7854              :                     case 1L:
    7855              :                       if (register_operand (operands[1], E_V2SFmode)
    7856              :                           && 
    7857              : #line 1680 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7858              : (TARGET_MMX_WITH_SSE))
    7859              :                         return 2141; /* *mmx_movshdup */
    7860              :                       break;
    7861              : 
    7862              :                     default:
    7863              :                       break;
    7864              :                     }
    7865              :                 }
    7866              :               break;
    7867              : 
    7868              :             case 0L:
    7869              :               switch (XWINT (x6, 0))
    7870              :                 {
    7871              :                 case 0L:
    7872              :                   if (register_operand (operands[0], E_V2SFmode)
    7873              :                       && register_operand (operands[1], E_V2SFmode)
    7874              :                       && 
    7875              : #line 1696 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7876              : (TARGET_MMX_WITH_SSE))
    7877              :                     return 2142; /* *mmx_movsldup */
    7878              :                   break;
    7879              : 
    7880              :                 case 1L:
    7881              :                   if (nonimmediate_operand (operands[0], E_V2SFmode)
    7882              :                       && nonimmediate_operand (operands[1], E_V4SFmode)
    7883              :                       && 
    7884              : #line 11968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7885              : (TARGET_SSE && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
    7886              :                     return 5290; /* sse_storelps */
    7887              :                   break;
    7888              : 
    7889              :                 default:
    7890              :                   break;
    7891              :                 }
    7892              :               break;
    7893              : 
    7894              :             case 2L:
    7895              :               if (XWINT (x6, 0) == 3L
    7896              :                   && nonimmediate_operand (operands[0], E_V2SFmode)
    7897              :                   && nonimmediate_operand (operands[1], E_V4SFmode)
    7898              :                   && 
    7899              : #line 11915 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7900              : (TARGET_SSE && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
    7901              :                 return 5288; /* sse_storehps */
    7902              :               break;
    7903              : 
    7904              :             default:
    7905              :               break;
    7906              :             }
    7907              :         }
    7908              :       operands[2] = x5;
    7909              :       if (const_0_to_1_operand (operands[2], E_VOIDmode))
    7910              :         {
    7911              :           operands[3] = x6;
    7912              :           if (const_0_to_1_operand (operands[3], E_VOIDmode))
    7913              :             {
    7914              :               switch (GET_MODE (operands[0]))
    7915              :                 {
    7916              :                 case E_V2SImode:
    7917              :                   if (register_operand (operands[0], E_V2SImode)
    7918              :                       && GET_MODE (x2) == E_V2SImode
    7919              :                       && register_operand (operands[1], E_V2SImode)
    7920              :                       && 
    7921              : #line 5603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7922              : (TARGET_MMX_WITH_SSE))
    7923              :                     return 2391; /* *mmx_pshufd_1 */
    7924              :                   break;
    7925              : 
    7926              :                 case E_V2HFmode:
    7927              :                   if (register_operand (operands[0], E_V2HFmode)
    7928              :                       && GET_MODE (x2) == E_V2HFmode
    7929              :                       && register_operand (operands[1], E_V2HFmode)
    7930              :                       && 
    7931              : #line 6264 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7932              : (TARGET_SSE2))
    7933              :                     return 2427; /* *pshufwv2hf_1 */
    7934              :                   break;
    7935              : 
    7936              :                 case E_V2BFmode:
    7937              :                   if (register_operand (operands[0], E_V2BFmode)
    7938              :                       && GET_MODE (x2) == E_V2BFmode
    7939              :                       && register_operand (operands[1], E_V2BFmode)
    7940              :                       && 
    7941              : #line 6264 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7942              : (TARGET_SSE2))
    7943              :                     return 2428; /* *pshufwv2bf_1 */
    7944              :                   break;
    7945              : 
    7946              :                 case E_V2HImode:
    7947              :                   if (register_operand (operands[0], E_V2HImode)
    7948              :                       && GET_MODE (x2) == E_V2HImode
    7949              :                       && register_operand (operands[1], E_V2HImode)
    7950              :                       && 
    7951              : #line 6264 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7952              : (TARGET_SSE2))
    7953              :                     return 2429; /* *pshufwv2hi_1 */
    7954              :                   break;
    7955              : 
    7956              :                 default:
    7957              :                   break;
    7958              :                 }
    7959              :             }
    7960              :         }
    7961              :       if (XWINT (x5, 0) != 1L
    7962              :           || x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
    7963              :           || !register_operand (operands[0], E_V2SImode)
    7964              :           || GET_MODE (x2) != E_V2SImode
    7965              :           || !register_mmxmem_operand (operands[1], E_V2SImode)
    7966              :           || !
    7967              : #line 5671 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7968              : (TARGET_3DNOW_A))
    7969              :         return -1;
    7970              :       return 2398; /* mmx_pswapdv2si2 */
    7971              : 
    7972              :     case 1:
    7973              :       x5 = XVECEXP (x4, 0, 0);
    7974              :       if (GET_CODE (x5) != CONST_INT)
    7975              :         return -1;
    7976              :       switch (XWINT (x5, 0))
    7977              :         {
    7978              :         case 0L:
    7979              :           switch (GET_MODE (operands[0]))
    7980              :             {
    7981              :             case E_SFmode:
    7982              :               switch (pattern977 (x2))
    7983              :                 {
    7984              :                 case 0:
    7985              :                   if (
    7986              : #line 1806 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7987              : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
    7988              :    && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
    7989              :                     return 2149; /* *vec_extractv2sf_0 */
    7990              :                   break;
    7991              : 
    7992              :                 case 1:
    7993              :                   if (
    7994              : #line 12652 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7995              : (TARGET_SSE && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
    7996              :                     return 5346; /* *vec_extractv4sf_0 */
    7997              :                   break;
    7998              : 
    7999              :                 default:
    8000              :                   break;
    8001              :                 }
    8002              :               break;
    8003              : 
    8004              :             case E_HFmode:
    8005              :               switch (pattern978 (x2))
    8006              :                 {
    8007              :                 case 0:
    8008              :                   if (
    8009              : #line 13557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8010              : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
    8011              :                     return 5405; /* *vec_extractv32hf_0 */
    8012              :                   break;
    8013              : 
    8014              :                 case 1:
    8015              :                   if (
    8016              : #line 13557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8017              : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
    8018              :                     return 5406; /* *vec_extractv16hf_0 */
    8019              :                   break;
    8020              : 
    8021              :                 case 2:
    8022              :                   if (
    8023              : #line 13557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8024              : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
    8025              :                     return 5407; /* *vec_extractv8hf_0 */
    8026              :                   break;
    8027              : 
    8028              :                 default:
    8029              :                   break;
    8030              :                 }
    8031              :               break;
    8032              : 
    8033              :             case E_BFmode:
    8034              :               switch (pattern979 (x2))
    8035              :                 {
    8036              :                 case 0:
    8037              :                   if (
    8038              : #line 13557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8039              : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
    8040              :                     return 5408; /* *vec_extractv32bf_0 */
    8041              :                   break;
    8042              : 
    8043              :                 case 1:
    8044              :                   if (
    8045              : #line 13557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8046              : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
    8047              :                     return 5409; /* *vec_extractv16bf_0 */
    8048              :                   break;
    8049              : 
    8050              :                 case 2:
    8051              :                   if (
    8052              : #line 13557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8053              : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
    8054              :                     return 5410; /* *vec_extractv8bf_0 */
    8055              :                   break;
    8056              : 
    8057              :                 default:
    8058              :                   break;
    8059              :                 }
    8060              :               break;
    8061              : 
    8062              :             case E_DFmode:
    8063              :               if (nonimmediate_operand (operands[0], E_DFmode)
    8064              :                   && GET_MODE (x2) == E_DFmode
    8065              :                   && nonimmediate_operand (operands[1], E_V2DFmode))
    8066              :                 {
    8067              :                   if (
    8068              : #line 14975 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8069              : (TARGET_SSE2 && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
    8070              :                     return 7248; /* sse2_storelpd */
    8071              :                   if (
    8072              : #line 15004 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8073              : (!TARGET_SSE2 && TARGET_SSE
    8074              :    && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
    8075              :                     return 7249; /* *vec_extractv2df_0_sse */
    8076              :                 }
    8077              :               break;
    8078              : 
    8079              :             case E_QImode:
    8080              :               if (memory_operand (operands[0], E_QImode)
    8081              :                   && GET_MODE (x2) == E_QImode
    8082              :                   && register_operand (operands[1], E_V16QImode)
    8083              :                   && (
    8084              : #line 21404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8085              : (TARGET_SSE2
    8086              :    && !TARGET_SSE4_1
    8087              :    && (TARGET_INTER_UNIT_MOVES_FROM_VEC
    8088              :        || optimize_function_for_speed_p (cfun))
    8089              :    && ix86_pre_reload_split ()) && 
    8090              : #line 21397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8091              : (TARGET_SSE4_1)))
    8092              :                 return 8500; /* *vec_extractv16qi_0_mem */
    8093              :               break;
    8094              : 
    8095              :             case E_HImode:
    8096              :               if (memory_operand (operands[0], E_HImode)
    8097              :                   && GET_MODE (x2) == E_HImode
    8098              :                   && register_operand (operands[1], E_V8HImode)
    8099              :                   && 
    8100              : #line 21404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8101              : (TARGET_SSE2
    8102              :    && !TARGET_SSE4_1
    8103              :    && (TARGET_INTER_UNIT_MOVES_FROM_VEC
    8104              :        || optimize_function_for_speed_p (cfun))
    8105              :    && ix86_pre_reload_split ()))
    8106              :                 return 8501; /* *vec_extractv8hi_0_mem */
    8107              :               break;
    8108              : 
    8109              :             default:
    8110              :               break;
    8111              :             }
    8112              :           break;
    8113              : 
    8114              :         case 1L:
    8115              :           switch (GET_MODE (operands[0]))
    8116              :             {
    8117              :             case E_SFmode:
    8118              :               if (nonimmediate_operand (operands[0], E_SFmode)
    8119              :                   && GET_MODE (x2) == E_SFmode
    8120              :                   && nonimmediate_operand (operands[1], E_V2SFmode)
    8121              :                   && 
    8122              : #line 1821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8123              : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
    8124              :    && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
    8125              :                 return 2150; /* *vec_extractv2sf_1 */
    8126              :               break;
    8127              : 
    8128              :             case E_DFmode:
    8129              :               if (nonimmediate_operand (operands[0], E_DFmode)
    8130              :                   && GET_MODE (x2) == E_DFmode
    8131              :                   && nonimmediate_operand (operands[1], E_V2DFmode))
    8132              :                 {
    8133              :                   if (
    8134              : #line 14918 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8135              : (TARGET_SSE2 && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
    8136              :                     return 7246; /* sse2_storehpd */
    8137              :                   if (
    8138              : #line 14951 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8139              : (!TARGET_SSE2 && TARGET_SSE
    8140              :    && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
    8141              :                     return 7247; /* *vec_extractv2df_1_sse */
    8142              :                 }
    8143              :               break;
    8144              : 
    8145              :             default:
    8146              :               break;
    8147              :             }
    8148              :           break;
    8149              : 
    8150              :         default:
    8151              :           break;
    8152              :         }
    8153              :       operands[2] = x5;
    8154              :       switch (GET_MODE (operands[0]))
    8155              :         {
    8156              :         case E_HImode:
    8157              :           if (GET_MODE (x2) != E_HImode)
    8158              :             return -1;
    8159              :           if (register_sse4nonimm_operand (operands[0], E_HImode))
    8160              :             {
    8161              :               switch (GET_MODE (operands[1]))
    8162              :                 {
    8163              :                 case E_V4HImode:
    8164              :                   if (register_operand (operands[1], E_V4HImode)
    8165              :                       && const_0_to_3_operand (operands[2], E_SImode)
    8166              :                       && 
    8167              : #line 5409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8168              : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
    8169              :    && (TARGET_SSE || TARGET_3DNOW_A)))
    8170              :                     return 2377; /* *mmx_pextrw */
    8171              :                   break;
    8172              : 
    8173              :                 case E_V2HImode:
    8174              :                   if (register_operand (operands[1], E_V2HImode)
    8175              :                       && const_0_to_1_operand (operands[2], E_SImode)
    8176              :                       && 
    8177              : #line 6075 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8178              : (TARGET_SSE2))
    8179              :                     return 2415; /* *pextrw */
    8180              :                   break;
    8181              : 
    8182              :                 case E_V8HImode:
    8183              :                   if (register_operand (operands[1], E_V8HImode)
    8184              :                       && const_0_to_7_operand (operands[2], E_SImode)
    8185              :                       && 
    8186              : #line 21428 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8187              : (TARGET_SSE2))
    8188              :                     return 8503; /* *vec_extractv8hi */
    8189              :                   break;
    8190              : 
    8191              :                 default:
    8192              :                   break;
    8193              :                 }
    8194              :             }
    8195              :           if (!register_operand (operands[0], E_HImode)
    8196              :               || !memory_operand (operands[1], E_V8HImode)
    8197              :               || !const_0_to_7_operand (operands[2], E_VOIDmode)
    8198              :               || !
    8199              : #line 21489 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8200              : (TARGET_SSE))
    8201              :             return -1;
    8202              :           return 8510; /* *vec_extractv8hi_mem */
    8203              : 
    8204              :         case E_HFmode:
    8205              :           if (!register_sse4nonimm_operand (operands[0], E_HFmode)
    8206              :               || GET_MODE (x2) != E_HFmode)
    8207              :             return -1;
    8208              :           switch (GET_MODE (operands[1]))
    8209              :             {
    8210              :             case E_V4HFmode:
    8211              :               if (!register_operand (operands[1], E_V4HFmode)
    8212              :                   || !const_0_to_3_operand (operands[2], E_SImode)
    8213              :                   || !
    8214              : #line 5429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8215              : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
    8216              :    && (TARGET_SSE || TARGET_3DNOW_A)))
    8217              :                 return -1;
    8218              :               return 2378; /* *mmx_pextrwv4hf */
    8219              : 
    8220              :             case E_V2HFmode:
    8221              :               if (!register_operand (operands[1], E_V2HFmode)
    8222              :                   || !const_0_to_1_operand (operands[2], E_SImode)
    8223              :                   || !
    8224              : #line 6092 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8225              : (TARGET_SSE2))
    8226              :                 return -1;
    8227              :               return 2416; /* *pextrwv2hf */
    8228              : 
    8229              :             case E_V8HFmode:
    8230              :               if (!register_operand (operands[1], E_V8HFmode)
    8231              :                   || !const_0_to_7_operand (operands[2], E_SImode)
    8232              :                   || !
    8233              : #line 13569 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8234              : (TARGET_SSE2))
    8235              :                 return -1;
    8236              :               return 5411; /* *vec_extracthf */
    8237              : 
    8238              :             default:
    8239              :               return -1;
    8240              :             }
    8241              : 
    8242              :         case E_BFmode:
    8243              :           if (!register_sse4nonimm_operand (operands[0], E_BFmode)
    8244              :               || GET_MODE (x2) != E_BFmode)
    8245              :             return -1;
    8246              :           switch (GET_MODE (operands[1]))
    8247              :             {
    8248              :             case E_V4BFmode:
    8249              :               if (!register_operand (operands[1], E_V4BFmode)
    8250              :                   || !const_0_to_3_operand (operands[2], E_SImode)
    8251              :                   || !
    8252              : #line 5429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8253              : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
    8254              :    && (TARGET_SSE || TARGET_3DNOW_A)))
    8255              :                 return -1;
    8256              :               return 2379; /* *mmx_pextrwv4bf */
    8257              : 
    8258              :             case E_V2BFmode:
    8259              :               if (!register_operand (operands[1], E_V2BFmode)
    8260              :                   || !const_0_to_1_operand (operands[2], E_SImode)
    8261              :                   || !
    8262              : #line 6092 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8263              : (TARGET_SSE2))
    8264              :                 return -1;
    8265              :               return 2417; /* *pextrwv2bf */
    8266              : 
    8267              :             case E_V8BFmode:
    8268              :               if (!register_operand (operands[1], E_V8BFmode)
    8269              :                   || !const_0_to_7_operand (operands[2], E_SImode)
    8270              :                   || !
    8271              : #line 13569 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8272              : (TARGET_SSE2))
    8273              :                 return -1;
    8274              :               return 5412; /* *vec_extractbf */
    8275              : 
    8276              :             default:
    8277              :               return -1;
    8278              :             }
    8279              : 
    8280              :         case E_QImode:
    8281              :           if (GET_MODE (x2) != E_QImode)
    8282              :             return -1;
    8283              :           if (nonimmediate_operand (operands[0], E_QImode))
    8284              :             {
    8285              :               switch (GET_MODE (operands[1]))
    8286              :                 {
    8287              :                 case E_V8QImode:
    8288              :                   if (register_operand (operands[1], E_V8QImode)
    8289              :                       && const_0_to_7_operand (operands[2], E_SImode)
    8290              :                       && 
    8291              : #line 5482 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8292              : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
    8293              :                     return 2382; /* *mmx_pextrb */
    8294              :                   break;
    8295              : 
    8296              :                 case E_V4QImode:
    8297              :                   if (register_operand (operands[1], E_V4QImode)
    8298              :                       && const_0_to_3_operand (operands[2], E_SImode)
    8299              :                       && 
    8300              : #line 6138 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8301              : (TARGET_SSE4_1))
    8302              :                     return 2420; /* *pextrb */
    8303              :                   break;
    8304              : 
    8305              :                 default:
    8306              :                   break;
    8307              :                 }
    8308              :             }
    8309              :           if (register_sse4nonimm_operand (operands[0], E_QImode)
    8310              :               && register_operand (operands[1], E_V16QImode)
    8311              :               && const_0_to_15_operand (operands[2], E_SImode)
    8312              :               && (
    8313              : #line 21428 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8314              : (TARGET_SSE2) && 
    8315              : #line 21397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8316              : (TARGET_SSE4_1)))
    8317              :             return 8502; /* *vec_extractv16qi */
    8318              :           if (!register_operand (operands[0], E_QImode)
    8319              :               || !memory_operand (operands[1], E_V16QImode)
    8320              :               || !const_0_to_15_operand (operands[2], E_VOIDmode)
    8321              :               || !
    8322              : #line 21489 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8323              : (TARGET_SSE))
    8324              :             return -1;
    8325              :           return 8509; /* *vec_extractv16qi_mem */
    8326              : 
    8327              :         case E_SFmode:
    8328              :           if (GET_MODE (x2) != E_SFmode)
    8329              :             return -1;
    8330              :           if (nonimmediate_operand (operands[0], E_SFmode)
    8331              :               && register_operand (operands[1], E_V4SFmode)
    8332              :               && const_0_to_3_operand (operands[2], E_SImode)
    8333              :               && 
    8334              : #line 12663 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8335              : (TARGET_SSE4_1))
    8336              :             return 5347; /* *sse4_1_extractps */
    8337              :           if (!register_operand (operands[0], E_SFmode))
    8338              :             return -1;
    8339              :           switch (GET_MODE (operands[1]))
    8340              :             {
    8341              :             case E_V4SFmode:
    8342              :               if (!memory_operand (operands[1], E_V4SFmode)
    8343              :                   || !const_0_to_3_operand (operands[2], E_VOIDmode)
    8344              :                   || !
    8345              : #line 12706 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8346              : (TARGET_SSE))
    8347              :                 return -1;
    8348              :               return 5348; /* *vec_extractv4sf_mem */
    8349              : 
    8350              :             case E_V16SFmode:
    8351              :               if (!register_operand (operands[1], E_V16SFmode)
    8352              :                   || !const_0_to_15_operand (operands[2], E_VOIDmode)
    8353              :                   || !
    8354              : #line 14397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8355              : (TARGET_AVX512F
    8356              :    && INTVAL(operands[2]) * GET_MODE_SIZE (SFmode) >= 16))
    8357              :                 return -1;
    8358              :               return 7119; /* *vec_extractv16sfsf_valign */
    8359              : 
    8360              :             case E_V8SFmode:
    8361              :               if (!register_operand (operands[1], E_V8SFmode)
    8362              :                   || !const_0_to_7_operand (operands[2], E_VOIDmode)
    8363              :                   || !(
    8364              : #line 14397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8365              : (TARGET_AVX512F
    8366              :    && INTVAL(operands[2]) * GET_MODE_SIZE (SFmode) >= 16) && 
    8367              : #line 307 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8368              : (TARGET_AVX512VL)))
    8369              :                 return -1;
    8370              :               return 7120; /* *vec_extractv8sfsf_valign */
    8371              : 
    8372              :             default:
    8373              :               return -1;
    8374              :             }
    8375              : 
    8376              :         case E_DFmode:
    8377              :           if (!register_operand (operands[0], E_DFmode)
    8378              :               || GET_MODE (x2) != E_DFmode)
    8379              :             return -1;
    8380              :           switch (GET_MODE (operands[1]))
    8381              :             {
    8382              :             case E_V8DFmode:
    8383              :               if (!register_operand (operands[1], E_V8DFmode)
    8384              :                   || !const_0_to_7_operand (operands[2], E_VOIDmode)
    8385              :                   || !
    8386              : #line 14397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8387              : (TARGET_AVX512F
    8388              :    && INTVAL(operands[2]) * GET_MODE_SIZE (DFmode) >= 16))
    8389              :                 return -1;
    8390              :               return 7121; /* *vec_extractv8dfdf_valign */
    8391              : 
    8392              :             case E_V4DFmode:
    8393              :               if (!register_operand (operands[1], E_V4DFmode)
    8394              :                   || !const_0_to_3_operand (operands[2], E_VOIDmode)
    8395              :                   || !(
    8396              : #line 14397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8397              : (TARGET_AVX512F
    8398              :    && INTVAL(operands[2]) * GET_MODE_SIZE (DFmode) >= 16) && 
    8399              : #line 308 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8400              : (TARGET_AVX512VL)))
    8401              :                 return -1;
    8402              :               return 7122; /* *vec_extractv4dfdf_valign */
    8403              : 
    8404              :             default:
    8405              :               return -1;
    8406              :             }
    8407              : 
    8408              :         case E_TImode:
    8409              :           if (!nonimmediate_operand (operands[0], E_TImode)
    8410              :               || GET_MODE (x2) != E_TImode)
    8411              :             return -1;
    8412              :           switch (GET_MODE (operands[1]))
    8413              :             {
    8414              :             case E_V2TImode:
    8415              :               if (!register_operand (operands[1], E_V2TImode)
    8416              :                   || !const_0_to_1_operand (operands[2], E_SImode)
    8417              :                   || !
    8418              : #line 21745 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8419              : (TARGET_AVX))
    8420              :                 return -1;
    8421              :               return 8521; /* *vec_extractv2ti */
    8422              : 
    8423              :             case E_V4TImode:
    8424              :               if (!register_operand (operands[1], E_V4TImode)
    8425              :                   || !const_0_to_3_operand (operands[2], E_SImode)
    8426              :                   || !
    8427              : #line 21763 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8428              : (TARGET_AVX512F))
    8429              :                 return -1;
    8430              :               return 8522; /* *vec_extractv4ti */
    8431              : 
    8432              :             default:
    8433              :               return -1;
    8434              :             }
    8435              : 
    8436              :         default:
    8437              :           return -1;
    8438              :         }
    8439              : 
    8440              :     case 4:
    8441              :       x5 = XVECEXP (x4, 0, 0);
    8442              :       operands[2] = x5;
    8443              :       if (pattern754 (x4) != 0)
    8444              :         return -1;
    8445              :       switch (GET_MODE (operands[0]))
    8446              :         {
    8447              :         case E_V4HFmode:
    8448              :           if (!register_operand (operands[0], E_V4HFmode)
    8449              :               || GET_MODE (x2) != E_V4HFmode
    8450              :               || !register_mmxmem_operand (operands[1], E_V4HFmode)
    8451              :               || !
    8452              : #line 5571 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8453              : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
    8454              :    && (TARGET_SSE || TARGET_3DNOW_A)))
    8455              :             return -1;
    8456              :           return 2388; /* mmx_pshufwv4hf_1 */
    8457              : 
    8458              :         case E_V4BFmode:
    8459              :           if (!register_operand (operands[0], E_V4BFmode)
    8460              :               || GET_MODE (x2) != E_V4BFmode
    8461              :               || !register_mmxmem_operand (operands[1], E_V4BFmode)
    8462              :               || !
    8463              : #line 5571 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8464              : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
    8465              :    && (TARGET_SSE || TARGET_3DNOW_A)))
    8466              :             return -1;
    8467              :           return 2389; /* mmx_pshufwv4bf_1 */
    8468              : 
    8469              :         case E_V4HImode:
    8470              :           if (!register_operand (operands[0], E_V4HImode)
    8471              :               || GET_MODE (x2) != E_V4HImode
    8472              :               || !register_mmxmem_operand (operands[1], E_V4HImode)
    8473              :               || !
    8474              : #line 5571 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8475              : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
    8476              :    && (TARGET_SSE || TARGET_3DNOW_A)))
    8477              :             return -1;
    8478              :           return 2390; /* mmx_pshufwv4hi_1 */
    8479              : 
    8480              :         default:
    8481              :           return -1;
    8482              :         }
    8483              : 
    8484              :     default:
    8485              :       return -1;
    8486              :     }
    8487              : }
    8488              : 
    8489              :  int
    8490              : recog_86 (rtx x1 ATTRIBUTE_UNUSED,
    8491              :         rtx_insn *insn ATTRIBUTE_UNUSED,
    8492              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
    8493              : {
    8494              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    8495              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    8496              :   rtx x10, x11;
    8497              :   int res ATTRIBUTE_UNUSED;
    8498              :   x2 = XEXP (x1, 0);
    8499              :   operands[0] = x2;
    8500              :   x3 = XEXP (x1, 1);
    8501              :   x4 = XEXP (x3, 0);
    8502              :   switch (GET_CODE (x4))
    8503              :     {
    8504              :     case ASHIFT:
    8505              :       x5 = XEXP (x4, 0);
    8506              :       switch (GET_CODE (x5))
    8507              :         {
    8508              :         case REG:
    8509              :         case SUBREG:
    8510              :           operands[1] = x5;
    8511              :           x6 = XEXP (x4, 1);
    8512              :           operands[2] = x6;
    8513              :           x7 = XEXP (x3, 1);
    8514              :           switch (GET_CODE (x7))
    8515              :             {
    8516              :             case CONST_INT:
    8517              :             case CONST_WIDE_INT:
    8518              :               operands[3] = x7;
    8519              :               switch (GET_MODE (operands[0]))
    8520              :                 {
    8521              :                 case E_SImode:
    8522              :                   if (pattern614 (x3, 
    8523              : E_SImode) != 0
    8524              :                       || !
    8525              : #line 8072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8526              : ((unsigned HOST_WIDE_INT) INTVAL (operands[3])
    8527              :    < (HOST_WIDE_INT_1U << INTVAL (operands[2]))))
    8528              :                     return -1;
    8529              :                   return 381; /* *leasi_general_4 */
    8530              : 
    8531              :                 case E_DImode:
    8532              :                   if (GET_MODE (x3) != E_DImode
    8533              :                       || GET_MODE (x4) != E_DImode)
    8534              :                     return -1;
    8535              :                   if (register_operand (operands[0], E_DImode)
    8536              :                       && register_no_SP_operand (operands[1], E_DImode)
    8537              :                       && const_0_to_3_operand (operands[2], E_VOIDmode)
    8538              :                       && const_int_operand (operands[3], E_VOIDmode)
    8539              :                       && (
    8540              : #line 8072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8541              : ((unsigned HOST_WIDE_INT) INTVAL (operands[3])
    8542              :    < (HOST_WIDE_INT_1U << INTVAL (operands[2]))) && 
    8543              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8544              : (TARGET_64BIT)))
    8545              :                     return 383; /* *leadi_general_4 */
    8546              :                   if (!nonimmediate_operand (operands[0], E_DImode)
    8547              :                       || !register_operand (operands[1], E_DImode)
    8548              :                       || !const_int_operand (operands[2], E_QImode)
    8549              :                       || !const_scalar_int_operand (operands[3], E_DImode)
    8550              :                       || !(
    8551              : #line 14473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8552              : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT / 2
    8553              :    && (DImode == DImode
    8554              :        ? CONST_INT_P (operands[3])
    8555              :          && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
    8556              :        : CONST_INT_P (operands[3])
    8557              :        ? INTVAL (operands[3]) >= 0
    8558              :        : CONST_WIDE_INT_NUNITS (operands[3]) == 2
    8559              :          && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
    8560              :    && !(CONST_INT_P (operands[3])
    8561              :         ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
    8562              :         : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
    8563              :                                                                      0)),
    8564              :                                         VOIDmode))) && 
    8565              : #line 1196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8566              : (!TARGET_64BIT)))
    8567              :                     return -1;
    8568              :                   return 962; /* *concatsidi3_5 */
    8569              : 
    8570              :                 default:
    8571              :                   return -1;
    8572              :                 }
    8573              : 
    8574              :             case ZERO_EXTEND:
    8575              :               if (pattern616 (x3, 
    8576              : E_SImode, 
    8577              : E_DImode) != 0
    8578              :                   || !(
    8579              : #line 14396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8580              : (INTVAL (operands[2]) == 4 * BITS_PER_UNIT) && 
    8581              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8582              : (!TARGET_64BIT)))
    8583              :                 return -1;
    8584              :               return 926; /* *concatsidi3_1 */
    8585              : 
    8586              :             default:
    8587              :               return -1;
    8588              :             }
    8589              : 
    8590              :         case SIGN_EXTEND:
    8591              :           switch (pattern260 (x3, 
    8592              : E_SImode, 
    8593              : E_DImode))
    8594              :             {
    8595              :             case 0:
    8596              :               if (!(
    8597              : #line 14432 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8598              : (INTVAL (operands[2]) == 4 * BITS_PER_UNIT) && 
    8599              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8600              : (!TARGET_64BIT)))
    8601              :                 return -1;
    8602              :               return 938; /* *concatsidi3_3 */
    8603              : 
    8604              :             case 1:
    8605              :               if (!(
    8606              : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8607              : (INTVAL (operands[2]) == 4 * BITS_PER_UNIT
    8608              :    && (DImode == DImode
    8609              :        ? CONST_INT_P (operands[3])
    8610              :          && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
    8611              :        : CONST_INT_P (operands[3])
    8612              :        ? INTVAL (operands[3]) >= 0
    8613              :        : CONST_WIDE_INT_NUNITS (operands[3]) == 2
    8614              :          && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
    8615              :    && !(CONST_INT_P (operands[3])
    8616              :         ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
    8617              :         : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
    8618              :                                                                      0)),
    8619              :                                         VOIDmode))) && 
    8620              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8621              : (!TARGET_64BIT)))
    8622              :                 return -1;
    8623              :               return 968; /* *concatsidi3_6 */
    8624              : 
    8625              :             default:
    8626              :               return -1;
    8627              :             }
    8628              : 
    8629              :         case ZERO_EXTEND:
    8630              :           switch (pattern260 (x3, 
    8631              : E_SImode, 
    8632              : E_DImode))
    8633              :             {
    8634              :             case 0:
    8635              :               if (!(
    8636              : #line 14432 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8637              : (INTVAL (operands[2]) == 4 * BITS_PER_UNIT) && 
    8638              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8639              : (!TARGET_64BIT)))
    8640              :                 return -1;
    8641              :               return 941; /* *concatsidi3_3 */
    8642              : 
    8643              :             case 1:
    8644              :               if (!(
    8645              : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8646              : (INTVAL (operands[2]) == 4 * BITS_PER_UNIT
    8647              :    && (DImode == DImode
    8648              :        ? CONST_INT_P (operands[3])
    8649              :          && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
    8650              :        : CONST_INT_P (operands[3])
    8651              :        ? INTVAL (operands[3]) >= 0
    8652              :        : CONST_WIDE_INT_NUNITS (operands[3]) == 2
    8653              :          && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
    8654              :    && !(CONST_INT_P (operands[3])
    8655              :         ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
    8656              :         : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
    8657              :                                                                      0)),
    8658              :                                         VOIDmode))) && 
    8659              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8660              : (!TARGET_64BIT)))
    8661              :                 return -1;
    8662              :               return 971; /* *concatsidi3_6 */
    8663              : 
    8664              :             default:
    8665              :               return -1;
    8666              :             }
    8667              : 
    8668              :         case CONST_INT:
    8669              :           switch (pattern287 (x3, pnum_clobbers))
    8670              :             {
    8671              :             case 0:
    8672              :               x6 = XEXP (x4, 1);
    8673              :               operands[2] = x6;
    8674              :               if (register_operand (operands[2], E_QImode))
    8675              :                 {
    8676              :                   switch (pattern759 (x3))
    8677              :                     {
    8678              :                     case 0:
    8679              :                       if (
    8680              : #line 19165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8681              : (TARGET_USE_BT))
    8682              :                         {
    8683              :                           *pnum_clobbers = 1;
    8684              :                           return 1424; /* *btcsi */
    8685              :                         }
    8686              :                       break;
    8687              : 
    8688              :                     case 1:
    8689              :                       if ((
    8690              : #line 19165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8691              : (TARGET_USE_BT) && 
    8692              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8693              : (TARGET_64BIT)))
    8694              :                         {
    8695              :                           *pnum_clobbers = 1;
    8696              :                           return 1426; /* *btcdi */
    8697              :                         }
    8698              :                       break;
    8699              : 
    8700              :                     default:
    8701              :                       break;
    8702              :                     }
    8703              :                 }
    8704              :               if (GET_CODE (x6) != SUBREG)
    8705              :                 return -1;
    8706              :               switch (pattern768 (x3))
    8707              :                 {
    8708              :                 case 0:
    8709              :                   if (!
    8710              : #line 19184 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8711              : (TARGET_USE_BT
    8712              :    && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (SImode)-1))
    8713              :       == GET_MODE_BITSIZE (SImode)-1
    8714              :    && ix86_pre_reload_split ()))
    8715              :                     return -1;
    8716              :                   *pnum_clobbers = 1;
    8717              :                   return 1428; /* *btcsi_mask */
    8718              : 
    8719              :                 case 1:
    8720              :                   if (!(
    8721              : #line 19184 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8722              : (TARGET_USE_BT
    8723              :    && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (DImode)-1))
    8724              :       == GET_MODE_BITSIZE (DImode)-1
    8725              :    && ix86_pre_reload_split ()) && 
    8726              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8727              : (TARGET_64BIT)))
    8728              :                     return -1;
    8729              :                   *pnum_clobbers = 1;
    8730              :                   return 1430; /* *btcdi_mask */
    8731              : 
    8732              :                 default:
    8733              :                   return -1;
    8734              :                 }
    8735              : 
    8736              :             case 1:
    8737              :               if (!
    8738              : #line 19212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8739              : (TARGET_USE_BT
    8740              :    && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (SImode)-1))
    8741              :       == GET_MODE_BITSIZE (SImode)-1
    8742              :    && ix86_pre_reload_split ()))
    8743              :                 return -1;
    8744              :               *pnum_clobbers = 1;
    8745              :               return 1432; /* *btcsi_mask_1 */
    8746              : 
    8747              :             case 2:
    8748              :               if (!(
    8749              : #line 19212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8750              : (TARGET_USE_BT
    8751              :    && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (DImode)-1))
    8752              :       == GET_MODE_BITSIZE (DImode)-1
    8753              :    && ix86_pre_reload_split ()) && 
    8754              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8755              : (TARGET_64BIT)))
    8756              :                 return -1;
    8757              :               *pnum_clobbers = 1;
    8758              :               return 1434; /* *btcdi_mask_1 */
    8759              : 
    8760              :             default:
    8761              :               return -1;
    8762              :             }
    8763              : 
    8764              :         default:
    8765              :           return -1;
    8766              :         }
    8767              : 
    8768              :     case REG:
    8769              :     case SUBREG:
    8770              :     case MEM:
    8771              :       operands[1] = x4;
    8772              :       x7 = XEXP (x3, 1);
    8773              :       operands[2] = x7;
    8774              :       switch (pattern439 (x3))
    8775              :         {
    8776              :         case 0:
    8777              :           if (pnum_clobbers != NULL
    8778              :               && x86_64_hilo_general_operand (operands[2], E_DImode)
    8779              :               && (
    8780              : #line 13847 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8781              : (ix86_binary_operator_ok (XOR, DImode, operands, TARGET_APX_NDD)) && 
    8782              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8783              : (!TARGET_64BIT)))
    8784              :             {
    8785              :               *pnum_clobbers = 1;
    8786              :               return 848; /* *xordi3_doubleword */
    8787              :             }
    8788              :           if (x86_64_general_operand (operands[2], E_DImode))
    8789              :             {
    8790              :               if ((
    8791              : #line 13905 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8792              : (ix86_binary_operator_ok (XOR, DImode, operands, TARGET_APX_NDD)
    8793              :    && TARGET_APX_NF) && 
    8794              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8795              : (TARGET_64BIT)))
    8796              :                 return 861; /* *xordi_1_nf */
    8797              :               if (pnum_clobbers != NULL
    8798              :                   && (
    8799              : #line 13905 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8800              : (ix86_binary_operator_ok (XOR, DImode, operands, TARGET_APX_NDD)
    8801              :    && true) && 
    8802              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8803              : (TARGET_64BIT)))
    8804              :                 {
    8805              :                   *pnum_clobbers = 1;
    8806              :                   return 862; /* *xordi_1 */
    8807              :                 }
    8808              :             }
    8809              :           if (pnum_clobbers == NULL
    8810              :               || !const_int_operand (operands[2], E_DImode)
    8811              :               || !
    8812              : #line 13975 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8813              : (TARGET_64BIT && TARGET_USE_BT
    8814              :    && ix86_binary_operator_ok (XOR, DImode, operands)
    8815              :    && IN_RANGE (exact_log2 (INTVAL (operands[2])), 31, 63)))
    8816              :             return -1;
    8817              :           *pnum_clobbers = 1;
    8818              :           return 867; /* *xordi_1_btc */
    8819              : 
    8820              :         case 1:
    8821              :           if (
    8822              : #line 13905 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8823              : (ix86_binary_operator_ok (XOR, SImode, operands, TARGET_APX_NDD)
    8824              :    && TARGET_APX_NF))
    8825              :             return 857; /* *xorsi_1_nf */
    8826              :           if (pnum_clobbers == NULL
    8827              :               || !
    8828              : #line 13905 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8829              : (ix86_binary_operator_ok (XOR, SImode, operands, TARGET_APX_NDD)
    8830              :    && true))
    8831              :             return -1;
    8832              :           *pnum_clobbers = 1;
    8833              :           return 858; /* *xorsi_1 */
    8834              : 
    8835              :         default:
    8836              :           return -1;
    8837              :         }
    8838              : 
    8839              :     case AND:
    8840              :       if (pnum_clobbers == NULL)
    8841              :         return -1;
    8842              :       x5 = XEXP (x4, 0);
    8843              :       if (GET_CODE (x5) != XOR)
    8844              :         return -1;
    8845              :       x8 = XEXP (x5, 0);
    8846              :       operands[1] = x8;
    8847              :       x9 = XEXP (x5, 1);
    8848              :       operands[2] = x9;
    8849              :       x6 = XEXP (x4, 1);
    8850              :       operands[3] = x6;
    8851              :       x7 = XEXP (x3, 1);
    8852              :       if (!rtx_equal_p (x7, operands[1]))
    8853              :         return -1;
    8854              :       switch (GET_MODE (operands[0]))
    8855              :         {
    8856              :         case E_SImode:
    8857              :           if (pattern1101 (x3, 
    8858              : E_SImode) != 0
    8859              :               || !
    8860              : #line 14004 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8861              : (TARGET_BMI && ix86_pre_reload_split ()))
    8862              :             return -1;
    8863              :           *pnum_clobbers = 1;
    8864              :           return 869; /* *xor2andn */
    8865              : 
    8866              :         case E_DImode:
    8867              :           if (pattern1101 (x3, 
    8868              : E_DImode) != 0
    8869              :               || !(
    8870              : #line 14004 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8871              : (TARGET_BMI && ix86_pre_reload_split ()) && 
    8872              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8873              : (TARGET_64BIT)))
    8874              :             return -1;
    8875              :           *pnum_clobbers = 1;
    8876              :           return 870; /* *xor2andn */
    8877              : 
    8878              :         default:
    8879              :           return -1;
    8880              :         }
    8881              : 
    8882              :     case ZERO_EXTEND:
    8883              :       if (GET_MODE (x4) != E_DImode
    8884              :           || GET_MODE (x3) != E_DImode)
    8885              :         return -1;
    8886              :       x5 = XEXP (x4, 0);
    8887              :       switch (GET_CODE (x5))
    8888              :         {
    8889              :         case REG:
    8890              :         case SUBREG:
    8891              :         case MEM:
    8892              :           switch (pattern443 (x3))
    8893              :             {
    8894              :             case 0:
    8895              :               if (pnum_clobbers != NULL)
    8896              :                 {
    8897              :                   x7 = XEXP (x3, 1);
    8898              :                   operands[2] = x7;
    8899              :                   if (x86_64_zext_immediate_operand (operands[2], E_DImode)
    8900              :                       && register_operand (operands[0], E_DImode)
    8901              :                       && 
    8902              : #line 14082 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8903              : (TARGET_64BIT
    8904              :    && ix86_binary_operator_ok (XOR, SImode, operands, TARGET_APX_NDD)))
    8905              :                     {
    8906              :                       *pnum_clobbers = 1;
    8907              :                       return 894; /* *xorsi_1_zext_imm */
    8908              :                     }
    8909              :                 }
    8910              :               x7 = XEXP (x3, 1);
    8911              :               operands[2] = x7;
    8912              :               if (!const_scalar_int_operand (operands[2], E_DImode)
    8913              :                   || !nonimmediate_operand (operands[0], E_DImode)
    8914              :                   || !(
    8915              : #line 14534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8916              : (DImode == DImode
    8917              :    ? CONST_INT_P (operands[2])
    8918              :      && (UINTVAL (operands[2]) & GET_MODE_MASK (SImode)) == 0
    8919              :      && !ix86_endbr_immediate_operand (operands[2], VOIDmode)
    8920              :    : CONST_WIDE_INT_P (operands[2])
    8921              :      && CONST_WIDE_INT_NUNITS (operands[2]) == 2
    8922              :      && CONST_WIDE_INT_ELT (operands[2], 0) == 0
    8923              :      && !ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[2],
    8924              :                                                                     1)),
    8925              :                                        VOIDmode)) && 
    8926              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8927              : (!TARGET_64BIT)))
    8928              :                 return -1;
    8929              :               return 980; /* *concatsidi3_7 */
    8930              : 
    8931              :             case 1:
    8932              :               if (!(
    8933              : #line 14413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8934              : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) && 
    8935              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8936              : (!TARGET_64BIT)))
    8937              :                 return -1;
    8938              :               return 932; /* *concatsidi3_2 */
    8939              : 
    8940              :             case 2:
    8941              :               if (!(
    8942              : #line 14457 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8943              : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) && 
    8944              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8945              : (!TARGET_64BIT)))
    8946              :                 return -1;
    8947              :               return 950; /* *concatsidi3_4 */
    8948              : 
    8949              :             case 3:
    8950              :               if (!(
    8951              : #line 14457 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8952              : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) && 
    8953              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8954              : (!TARGET_64BIT)))
    8955              :                 return -1;
    8956              :               return 953; /* *concatsidi3_4 */
    8957              : 
    8958              :             default:
    8959              :               return -1;
    8960              :             }
    8961              : 
    8962              :         case MINUS:
    8963              :           if (pnum_clobbers == NULL
    8964              :               || pattern629 (x5) != 0)
    8965              :             return -1;
    8966              :           x7 = XEXP (x3, 1);
    8967              :           if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 63]
    8968              :               || !register_operand (operands[0], E_DImode))
    8969              :             return -1;
    8970              :           x9 = XEXP (x5, 1);
    8971              :           x10 = XEXP (x9, 0);
    8972              :           x11 = XEXP (x10, 0);
    8973              :           operands[1] = x11;
    8974              :           if (!nonimmediate_operand (operands[1], E_DImode)
    8975              :               || !
    8976              : #line 21681 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8977              : (!TARGET_LZCNT && TARGET_64BIT && ix86_pre_reload_split ()))
    8978              :             return -1;
    8979              :           *pnum_clobbers = 1;
    8980              :           return 1563; /* *bsr_rex64u_2 */
    8981              : 
    8982              :         default:
    8983              :           return -1;
    8984              :         }
    8985              : 
    8986              :     case SIGN_EXTEND:
    8987              :       if (pnum_clobbers == NULL
    8988              :           || GET_MODE (x4) != E_DImode)
    8989              :         return -1;
    8990              :       x5 = XEXP (x4, 0);
    8991              :       if (GET_CODE (x5) != MINUS
    8992              :           || pattern629 (x5) != 0)
    8993              :         return -1;
    8994              :       x7 = XEXP (x3, 1);
    8995              :       if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 63]
    8996              :           || !register_operand (operands[0], E_DImode)
    8997              :           || GET_MODE (x3) != E_DImode)
    8998              :         return -1;
    8999              :       x9 = XEXP (x5, 1);
    9000              :       x10 = XEXP (x9, 0);
    9001              :       x11 = XEXP (x10, 0);
    9002              :       operands[1] = x11;
    9003              :       if (!nonimmediate_operand (operands[1], E_DImode)
    9004              :           || !
    9005              : #line 21681 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9006              : (!TARGET_LZCNT && TARGET_64BIT && ix86_pre_reload_split ()))
    9007              :         return -1;
    9008              :       *pnum_clobbers = 1;
    9009              :       return 1562; /* *bsr_rex64_2 */
    9010              : 
    9011              :     case PLUS:
    9012              :       if (pnum_clobbers == NULL)
    9013              :         return -1;
    9014              :       x6 = XEXP (x4, 1);
    9015              :       if (GET_CODE (x6) != CONST_INT)
    9016              :         return -1;
    9017              :       x5 = XEXP (x4, 0);
    9018              :       operands[1] = x5;
    9019              :       x7 = XEXP (x3, 1);
    9020              :       if (!rtx_equal_p (x7, operands[1]))
    9021              :         return -1;
    9022              :       switch (XWINT (x6, 0))
    9023              :         {
    9024              :         case -1L:
    9025              :           switch (GET_MODE (operands[0]))
    9026              :             {
    9027              :             case E_SImode:
    9028              :               if (pattern762 (x3, 
    9029              : E_SImode) != 0
    9030              :                   || !
    9031              : #line 22237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9032              : (TARGET_BMI))
    9033              :                 return -1;
    9034              :               *pnum_clobbers = 1;
    9035              :               return 1612; /* *bmi_blsmsk_si */
    9036              : 
    9037              :             case E_DImode:
    9038              :               if (pattern762 (x3, 
    9039              : E_DImode) != 0
    9040              :                   || !(
    9041              : #line 22237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9042              : (TARGET_BMI) && 
    9043              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9044              : (TARGET_64BIT)))
    9045              :                 return -1;
    9046              :               *pnum_clobbers = 1;
    9047              :               return 1613; /* *bmi_blsmsk_di */
    9048              : 
    9049              :             default:
    9050              :               return -1;
    9051              :             }
    9052              : 
    9053              :         case 1L:
    9054              :           switch (GET_MODE (operands[0]))
    9055              :             {
    9056              :             case E_SImode:
    9057              :               if (pattern762 (x3, 
    9058              : E_SImode) != 0
    9059              :                   || !
    9060              : #line 22583 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9061              : (TARGET_TBM))
    9062              :                 return -1;
    9063              :               *pnum_clobbers = 1;
    9064              :               return 1646; /* *tbm_blcmsk_si */
    9065              : 
    9066              :             case E_DImode:
    9067              :               if (pattern762 (x3, 
    9068              : E_DImode) != 0
    9069              :                   || !(
    9070              : #line 22583 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9071              : (TARGET_TBM) && 
    9072              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9073              : (TARGET_64BIT)))
    9074              :                 return -1;
    9075              :               *pnum_clobbers = 1;
    9076              :               return 1647; /* *tbm_blcmsk_di */
    9077              : 
    9078              :             default:
    9079              :               return -1;
    9080              :             }
    9081              : 
    9082              :         default:
    9083              :           return -1;
    9084              :         }
    9085              : 
    9086              :     default:
    9087              :       return -1;
    9088              :     }
    9089              : }
    9090              : 
    9091              :  int
    9092              : recog_99 (rtx x1 ATTRIBUTE_UNUSED,
    9093              :         rtx_insn *insn ATTRIBUTE_UNUSED,
    9094              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
    9095              : {
    9096              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    9097              :   rtx x2;
    9098              :   int res ATTRIBUTE_UNUSED;
    9099              :   if (register_operand (operands[2], E_SImode)
    9100              :       && register_operand (operands[0], E_SImode))
    9101              :     {
    9102              :       x2 = XEXP (x1, 1);
    9103              :       if (GET_MODE (x2) == E_SImode
    9104              :           && nonimmediate_operand (operands[1], E_SImode)
    9105              :           && 
    9106              : #line 16238 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9107              : (TARGET_BMI2))
    9108              :         return 1118; /* *bmi2_ashlsi3_1 */
    9109              :     }
    9110              :   switch (GET_MODE (operands[0]))
    9111              :     {
    9112              :     case E_DImode:
    9113              :       x2 = XEXP (x1, 1);
    9114              :       if (GET_MODE (x2) != E_DImode)
    9115              :         return -1;
    9116              :       if (register_operand (operands[0], E_DImode))
    9117              :         {
    9118              :           if (pnum_clobbers != NULL
    9119              :               && reg_or_pm1_operand (operands[1], E_DImode)
    9120              :               && nonmemory_operand (operands[2], E_QImode)
    9121              :               && 
    9122              : #line 1196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9123              : (!TARGET_64BIT))
    9124              :             {
    9125              :               *pnum_clobbers = 1;
    9126              :               return 1088; /* ashldi3_doubleword */
    9127              :             }
    9128              :           if (nonimmediate_operand (operands[1], E_DImode)
    9129              :               && register_operand (operands[2], E_DImode)
    9130              :               && (
    9131              : #line 16238 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9132              : (TARGET_BMI2) && 
    9133              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9134              : (TARGET_64BIT)))
    9135              :             return 1119; /* *bmi2_ashldi3_1 */
    9136              :         }
    9137              :       if (!nonimmediate_operand (operands[0], E_DImode)
    9138              :           || !nonimmediate_operand (operands[1], E_DImode)
    9139              :           || !nonmemory_operand (operands[2], E_QImode))
    9140              :         return -1;
    9141              :       if ((
    9142              : #line 16247 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9143              : (ix86_binary_operator_ok (ASHIFT, DImode, operands, TARGET_APX_NDD)
    9144              :    && TARGET_APX_NF) && 
    9145              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9146              : (TARGET_64BIT)))
    9147              :         return 1122; /* *ashldi3_1_nf */
    9148              :       if (pnum_clobbers == NULL
    9149              :           || !(
    9150              : #line 16247 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9151              : (ix86_binary_operator_ok (ASHIFT, DImode, operands, TARGET_APX_NDD)
    9152              :    && true) && 
    9153              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9154              : (TARGET_64BIT)))
    9155              :         return -1;
    9156              :       *pnum_clobbers = 1;
    9157              :       return 1123; /* *ashldi3_1 */
    9158              : 
    9159              :     case E_SImode:
    9160              :       x2 = XEXP (x1, 1);
    9161              :       if (pattern635 (x2, 
    9162              : E_SImode) != 0)
    9163              :         return -1;
    9164              :       if (
    9165              : #line 16247 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9166              : (ix86_binary_operator_ok (ASHIFT, SImode, operands, TARGET_APX_NDD)
    9167              :    && TARGET_APX_NF))
    9168              :         return 1120; /* *ashlsi3_1_nf */
    9169              :       if (pnum_clobbers == NULL
    9170              :           || !
    9171              : #line 16247 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9172              : (ix86_binary_operator_ok (ASHIFT, SImode, operands, TARGET_APX_NDD)
    9173              :    && true))
    9174              :         return -1;
    9175              :       *pnum_clobbers = 1;
    9176              :       return 1121; /* *ashlsi3_1 */
    9177              : 
    9178              :     default:
    9179              :       return -1;
    9180              :     }
    9181              : }
    9182              : 
    9183              :  int
    9184              : recog_106 (rtx x1 ATTRIBUTE_UNUSED,
    9185              :         rtx_insn *insn ATTRIBUTE_UNUSED,
    9186              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
    9187              : {
    9188              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    9189              :   rtx x2, x3;
    9190              :   int res ATTRIBUTE_UNUSED;
    9191              :   switch (pattern18 (x1, pnum_clobbers))
    9192              :     {
    9193              :     case 0:
    9194              :       if (!
    9195              : #line 18532 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9196              : (ix86_binary_operator_ok (ROTATE, SImode, operands)
    9197              :    && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
    9198              :       == GET_MODE_BITSIZE (SImode)-1
    9199              :    && ix86_pre_reload_split ()))
    9200              :         return -1;
    9201              :       *pnum_clobbers = 1;
    9202              :       return 1328; /* *rotlsi3_mask_1 */
    9203              : 
    9204              :     case 1:
    9205              :       if (!(
    9206              : #line 18532 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9207              : (ix86_binary_operator_ok (ROTATE, DImode, operands)
    9208              :    && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
    9209              :       == GET_MODE_BITSIZE (DImode)-1
    9210              :    && ix86_pre_reload_split ()) && 
    9211              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9212              : (TARGET_64BIT)))
    9213              :         return -1;
    9214              :       *pnum_clobbers = 1;
    9215              :       return 1330; /* *rotldi3_mask_1 */
    9216              : 
    9217              :     case 2:
    9218              :       if (!
    9219              : #line 18613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9220              : (ix86_binary_operator_ok (ROTATE, SImode, operands)
    9221              :    && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
    9222              :    && ix86_pre_reload_split ()))
    9223              :         return -1;
    9224              :       *pnum_clobbers = 1;
    9225              :       return 1344; /* *rotlsi3_add_1 */
    9226              : 
    9227              :     case 3:
    9228              :       if (!(
    9229              : #line 18613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9230              : (ix86_binary_operator_ok (ROTATE, DImode, operands)
    9231              :    && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
    9232              :    && ix86_pre_reload_split ()) && 
    9233              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9234              : (TARGET_64BIT)))
    9235              :         return -1;
    9236              :       *pnum_clobbers = 1;
    9237              :       return 1346; /* *rotldi3_add_1 */
    9238              : 
    9239              :     case 4:
    9240              :       if (!
    9241              : #line 18682 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9242              : (ix86_binary_operator_ok (ROTATE, SImode, operands)
    9243              :    && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
    9244              :    && ix86_pre_reload_split ()))
    9245              :         return -1;
    9246              :       *pnum_clobbers = 1;
    9247              :       return 1360; /* *rotlsi3_sub_1 */
    9248              : 
    9249              :     case 5:
    9250              :       if (!(
    9251              : #line 18682 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9252              : (ix86_binary_operator_ok (ROTATE, DImode, operands)
    9253              :    && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
    9254              :    && ix86_pre_reload_split ()) && 
    9255              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9256              : (TARGET_64BIT)))
    9257              :         return -1;
    9258              :       *pnum_clobbers = 1;
    9259              :       return 1362; /* *rotldi3_sub_1 */
    9260              : 
    9261              :     case 6:
    9262              :       x2 = XEXP (x1, 1);
    9263              :       x3 = XEXP (x2, 1);
    9264              :       switch (GET_CODE (x3))
    9265              :         {
    9266              :         case SUBREG:
    9267              :           switch (pattern454 (x2, pnum_clobbers))
    9268              :             {
    9269              :             case 0:
    9270              :               if (
    9271              : #line 18484 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9272              : (ix86_binary_operator_ok (ROTATE, SImode, operands)
    9273              :    && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
    9274              :       == GET_MODE_BITSIZE (SImode)-1
    9275              :    && ix86_pre_reload_split ()))
    9276              :                 {
    9277              :                   *pnum_clobbers = 1;
    9278              :                   return 1320; /* *rotlsi3_mask */
    9279              :                 }
    9280              :               break;
    9281              : 
    9282              :             case 1:
    9283              :               if ((
    9284              : #line 18484 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9285              : (ix86_binary_operator_ok (ROTATE, DImode, operands)
    9286              :    && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
    9287              :       == GET_MODE_BITSIZE (DImode)-1
    9288              :    && ix86_pre_reload_split ()) && 
    9289              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9290              : (TARGET_64BIT)))
    9291              :                 {
    9292              :                   *pnum_clobbers = 1;
    9293              :                   return 1322; /* *rotldi3_mask */
    9294              :                 }
    9295              :               break;
    9296              : 
    9297              :             case 2:
    9298              :               if (
    9299              : #line 18577 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9300              : (ix86_binary_operator_ok (ROTATE, SImode, operands)
    9301              :    && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
    9302              :    && ix86_pre_reload_split ()))
    9303              :                 {
    9304              :                   *pnum_clobbers = 1;
    9305              :                   return 1336; /* *rotlsi3_add */
    9306              :                 }
    9307              :               break;
    9308              : 
    9309              :             case 3:
    9310              :               if ((
    9311              : #line 18577 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9312              : (ix86_binary_operator_ok (ROTATE, DImode, operands)
    9313              :    && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
    9314              :    && ix86_pre_reload_split ()) && 
    9315              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9316              : (TARGET_64BIT)))
    9317              :                 {
    9318              :                   *pnum_clobbers = 1;
    9319              :                   return 1338; /* *rotldi3_add */
    9320              :                 }
    9321              :               break;
    9322              : 
    9323              :             case 4:
    9324              :               if (
    9325              : #line 18646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9326              : (ix86_binary_operator_ok (ROTATE, SImode, operands)
    9327              :    && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
    9328              :    && ix86_pre_reload_split ()))
    9329              :                 {
    9330              :                   *pnum_clobbers = 1;
    9331              :                   return 1352; /* *rotlsi3_sub */
    9332              :                 }
    9333              :               break;
    9334              : 
    9335              :             case 5:
    9336              :               if ((
    9337              : #line 18646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9338              : (ix86_binary_operator_ok (ROTATE, DImode, operands)
    9339              :    && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
    9340              :    && ix86_pre_reload_split ()) && 
    9341              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9342              : (TARGET_64BIT)))
    9343              :                 {
    9344              :                   *pnum_clobbers = 1;
    9345              :                   return 1354; /* *rotldi3_sub */
    9346              :                 }
    9347              :               break;
    9348              : 
    9349              :             default:
    9350              :               break;
    9351              :             }
    9352              :           break;
    9353              : 
    9354              :         case CONST_INT:
    9355              :           if (pnum_clobbers != NULL)
    9356              :             {
    9357              :               operands[2] = x3;
    9358              :               if (const_1_to_31_operand (operands[2], E_QImode)
    9359              :                   && register_operand (operands[0], E_DImode)
    9360              :                   && GET_MODE (x2) == E_DImode
    9361              :                   && register_operand (operands[1], E_DImode)
    9362              :                   && 
    9363              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9364              : (!TARGET_64BIT))
    9365              :                 {
    9366              :                   *pnum_clobbers = 2;
    9367              :                   return 1364; /* ix86_rotldi3_doubleword */
    9368              :                 }
    9369              :             }
    9370              :           if (XWINT (x3, 0) == 32L
    9371              :               && register_operand (operands[0], E_DImode)
    9372              :               && GET_MODE (x2) == E_DImode
    9373              :               && register_operand (operands[1], E_DImode)
    9374              :               && 
    9375              : #line 18787 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9376              : (!TARGET_64BIT))
    9377              :             return 1368; /* rotl32di2_doubleword */
    9378              :           break;
    9379              : 
    9380              :         default:
    9381              :           break;
    9382              :         }
    9383              :       operands[2] = x3;
    9384              :       if (!nonmemory_operand (operands[2], E_QImode))
    9385              :         return -1;
    9386              :       switch (pattern14 (x2))
    9387              :         {
    9388              :         case 0:
    9389              :           if (
    9390              : #line 18838 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9391              : (ix86_binary_operator_ok (ROTATE, SImode, operands, TARGET_APX_NDD)
    9392              :    && TARGET_APX_NF))
    9393              :             return 1374; /* *rotlsi3_1_nf */
    9394              :           if (pnum_clobbers == NULL
    9395              :               || !
    9396              : #line 18838 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9397              : (ix86_binary_operator_ok (ROTATE, SImode, operands, TARGET_APX_NDD)
    9398              :    && true))
    9399              :             return -1;
    9400              :           *pnum_clobbers = 1;
    9401              :           return 1375; /* *rotlsi3_1 */
    9402              : 
    9403              :         case 1:
    9404              :           if ((
    9405              : #line 18838 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9406              : (ix86_binary_operator_ok (ROTATE, DImode, operands, TARGET_APX_NDD)
    9407              :    && TARGET_APX_NF) && 
    9408              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9409              : (TARGET_64BIT)))
    9410              :             return 1378; /* *rotldi3_1_nf */
    9411              :           if (pnum_clobbers == NULL
    9412              :               || !(
    9413              : #line 18838 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9414              : (ix86_binary_operator_ok (ROTATE, DImode, operands, TARGET_APX_NDD)
    9415              :    && true) && 
    9416              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9417              : (TARGET_64BIT)))
    9418              :             return -1;
    9419              :           *pnum_clobbers = 1;
    9420              :           return 1379; /* *rotldi3_1 */
    9421              : 
    9422              :         default:
    9423              :           return -1;
    9424              :         }
    9425              : 
    9426              :     default:
    9427              :       return -1;
    9428              :     }
    9429              : }
    9430              : 
    9431              :  int
    9432              : recog_114 (rtx x1 ATTRIBUTE_UNUSED,
    9433              :         rtx_insn *insn ATTRIBUTE_UNUSED,
    9434              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
    9435              : {
    9436              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    9437              :   rtx x2, x3, x4, x5, x6, x7;
    9438              :   int res ATTRIBUTE_UNUSED;
    9439              :   x2 = XEXP (x1, 1);
    9440              :   switch (XVECLEN (x2, 0))
    9441              :     {
    9442              :     case 2:
    9443              :       return recog_113 (x1, insn, pnum_clobbers);
    9444              : 
    9445              :     case 1:
    9446              :       return recog_112 (x1, insn, pnum_clobbers);
    9447              : 
    9448              :     case 4:
    9449              :       if (pnum_clobbers == NULL)
    9450              :         return -1;
    9451              :       x3 = XVECEXP (x2, 0, 3);
    9452              :       if (GET_CODE (x3) != REG
    9453              :           || REGNO (x3) != 7
    9454              :           || GET_MODE (x3) != E_SImode)
    9455              :         return -1;
    9456              :       x4 = XEXP (x1, 0);
    9457              :       operands[0] = x4;
    9458              :       if (!register_operand (operands[0], E_SImode)
    9459              :           || GET_MODE (x2) != E_SImode)
    9460              :         return -1;
    9461              :       x5 = XVECEXP (x2, 0, 0);
    9462              :       operands[1] = x5;
    9463              :       x6 = XVECEXP (x2, 0, 1);
    9464              :       operands[2] = x6;
    9465              :       x7 = XVECEXP (x2, 0, 2);
    9466              :       operands[3] = x7;
    9467              :       switch (XINT (x2, 1))
    9468              :         {
    9469              :         case 21:
    9470              :           if (!register_operand (operands[1], E_SImode)
    9471              :               || !tls_symbolic_operand (operands[2], E_VOIDmode)
    9472              :               || !constant_call_address_operand (operands[3], E_VOIDmode)
    9473              :               || !
    9474              : #line 23308 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9475              : (!TARGET_64BIT && TARGET_GNU_TLS))
    9476              :             return -1;
    9477              :           *pnum_clobbers = 3;
    9478              :           return 1683; /* *tls_global_dynamic_32_gnu */
    9479              : 
    9480              :         case 23:
    9481              :           if (!tls_symbolic_operand (operands[1], E_VOIDmode)
    9482              :               || !register_operand (operands[2], E_SImode)
    9483              :               || !register_operand (operands[3], E_SImode)
    9484              :               || !
    9485              : #line 23671 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9486              : (!TARGET_64BIT && TARGET_GNU2_TLS))
    9487              :             return -1;
    9488              :           *pnum_clobbers = 1;
    9489              :           return 1699; /* *tls_dynamic_gnu2_call_32 */
    9490              : 
    9491              :         default:
    9492              :           return -1;
    9493              :         }
    9494              : 
    9495              :     case 3:
    9496              :       x4 = XEXP (x1, 0);
    9497              :       operands[0] = x4;
    9498              :       switch (XINT (x2, 1))
    9499              :         {
    9500              :         case 22:
    9501              :           if (pnum_clobbers == NULL
    9502              :               || GET_MODE (x2) != E_SImode)
    9503              :             return -1;
    9504              :           x7 = XVECEXP (x2, 0, 2);
    9505              :           if (GET_CODE (x7) != REG
    9506              :               || REGNO (x7) != 7
    9507              :               || GET_MODE (x7) != E_SImode
    9508              :               || !register_operand (operands[0], E_SImode))
    9509              :             return -1;
    9510              :           x5 = XVECEXP (x2, 0, 0);
    9511              :           operands[1] = x5;
    9512              :           if (!register_operand (operands[1], E_SImode))
    9513              :             return -1;
    9514              :           x6 = XVECEXP (x2, 0, 1);
    9515              :           operands[2] = x6;
    9516              :           if (!constant_call_address_operand (operands[2], E_VOIDmode)
    9517              :               || !
    9518              : #line 23436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9519              : (!TARGET_64BIT && TARGET_GNU_TLS))
    9520              :             return -1;
    9521              :           *pnum_clobbers = 3;
    9522              :           return 1687; /* *tls_local_dynamic_base_32_gnu */
    9523              : 
    9524              :         case 23:
    9525              :           if (pnum_clobbers == NULL)
    9526              :             return -1;
    9527              :           x7 = XVECEXP (x2, 0, 2);
    9528              :           if (GET_CODE (x7) != REG
    9529              :               || REGNO (x7) != 7)
    9530              :             return -1;
    9531              :           x5 = XVECEXP (x2, 0, 0);
    9532              :           operands[1] = x5;
    9533              :           if (!tls_symbolic_operand (operands[1], E_VOIDmode))
    9534              :             return -1;
    9535              :           x6 = XVECEXP (x2, 0, 1);
    9536              :           operands[2] = x6;
    9537              :           switch (GET_MODE (operands[0]))
    9538              :             {
    9539              :             case E_SImode:
    9540              :               if (pattern1219 (x2, 
    9541              : E_SImode) != 0
    9542              :                   || !(
    9543              : #line 23734 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9544              : (TARGET_64BIT && TARGET_GNU2_TLS) && 
    9545              : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9546              : (ptr_mode == SImode)))
    9547              :                 return -1;
    9548              :               *pnum_clobbers = 1;
    9549              :               return 1703; /* *tls_dynamic_gnu2_call_64_si */
    9550              : 
    9551              :             case E_DImode:
    9552              :               if (pattern1219 (x2, 
    9553              : E_DImode) != 0
    9554              :                   || !(
    9555              : #line 23734 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9556              : (TARGET_64BIT && TARGET_GNU2_TLS) && 
    9557              : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9558              : (ptr_mode == DImode)))
    9559              :                 return -1;
    9560              :               *pnum_clobbers = 1;
    9561              :               return 1704; /* *tls_dynamic_gnu2_call_64_di */
    9562              : 
    9563              :             default:
    9564              :               return -1;
    9565              :             }
    9566              : 
    9567              :         case 60:
    9568              :           switch (pattern305 (x2))
    9569              :             {
    9570              :             case 0:
    9571              :               x7 = XVECEXP (x2, 0, 2);
    9572              :               operands[3] = x7;
    9573              :               x6 = XVECEXP (x2, 0, 1);
    9574              :               operands[2] = x6;
    9575              :               switch (pattern24 (x2))
    9576              :                 {
    9577              :                 case 0:
    9578              :                   switch (GET_MODE (operands[1]))
    9579              :                     {
    9580              :                     case E_V32HFmode:
    9581              :                       if (register_operand (operands[1], E_V32HFmode)
    9582              :                           && nonimmediate_operand (operands[2], E_V32HFmode)
    9583              :                           && const_0_to_31_operand (operands[3], E_SImode)
    9584              :                           && (
    9585              : #line 4621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9586              : (TARGET_AVX512F && 1) && 
    9587              : #line 320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9588              : (TARGET_AVX512FP16)))
    9589              :                         return 3337; /* avx512bw_cmpv32hf3 */
    9590              :                       break;
    9591              : 
    9592              :                     case E_V32QImode:
    9593              :                       if (const_0_to_7_operand (operands[3], E_SImode))
    9594              :                         {
    9595              :                           if (register_operand (operands[1], E_V32QImode)
    9596              :                               && nonimmediate_operand (operands[2], E_V32QImode)
    9597              :                               && (
    9598              : #line 4815 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9599              : (TARGET_AVX512BW) && 
    9600              : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9601              : (TARGET_AVX512VL)))
    9602              :                             return 3485; /* avx512vl_cmpv32qi3 */
    9603              :                           if (general_operand (operands[1], E_V32QImode)
    9604              :                               && general_operand (operands[2], E_V32QImode)
    9605              :                               && (
    9606              : #line 4907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9607              : (TARGET_AVX512F && ix86_pre_reload_split ()
    9608              :    && rtx_equal_p (operands[1], operands[2])
    9609              :    && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) && 
    9610              : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9611              : (TARGET_AVX512VL && TARGET_AVX512BW)))
    9612              :                             return 3543; /* *avx512vl_cmpv32qi3_dup_op */
    9613              :                         }
    9614              :                       break;
    9615              : 
    9616              :                     case E_V32HImode:
    9617              :                       if (const_0_to_7_operand (operands[3], E_SImode))
    9618              :                         {
    9619              :                           if (register_operand (operands[1], E_V32HImode)
    9620              :                               && nonimmediate_operand (operands[2], E_V32HImode)
    9621              :                               && 
    9622              : #line 4815 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9623              : (TARGET_AVX512BW))
    9624              :                             return 3487; /* avx512bw_cmpv32hi3 */
    9625              :                           if (general_operand (operands[1], E_V32HImode)
    9626              :                               && general_operand (operands[2], E_V32HImode)
    9627              :                               && (
    9628              : #line 4907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9629              : (TARGET_AVX512F && ix86_pre_reload_split ()
    9630              :    && rtx_equal_p (operands[1], operands[2])
    9631              :    && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) && 
    9632              : #line 503 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9633              : (TARGET_AVX512BW)))
    9634              :                             return 3547; /* *avx512bw_cmpv32hi3_dup_op */
    9635              :                         }
    9636              :                       break;
    9637              : 
    9638              :                     case E_V32BFmode:
    9639              :                       if (register_operand (operands[1], E_V32BFmode)
    9640              :                           && nonimmediate_operand (operands[2], E_V32BFmode)
    9641              :                           && const_0_to_31_operand (operands[3], E_VOIDmode)
    9642              :                           && 
    9643              : #line 33167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9644              : (TARGET_AVX10_2))
    9645              :                         return 10797; /* avx10_2_cmpbf16_v32bf */
    9646              :                       break;
    9647              : 
    9648              :                     default:
    9649              :                       break;
    9650              :                     }
    9651              :                   break;
    9652              : 
    9653              :                 case 1:
    9654              :                   if (const_0_to_7_operand (operands[3], E_SImode))
    9655              :                     {
    9656              :                       if (register_operand (operands[1], E_V64QImode)
    9657              :                           && nonimmediate_operand (operands[2], E_V64QImode)
    9658              :                           && 
    9659              : #line 4815 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9660              : (TARGET_AVX512BW))
    9661              :                         return 3481; /* avx512bw_cmpv64qi3 */
    9662              :                       if (general_operand (operands[1], E_V64QImode)
    9663              :                           && general_operand (operands[2], E_V64QImode)
    9664              :                           && (
    9665              : #line 4907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9666              : (TARGET_AVX512F && ix86_pre_reload_split ()
    9667              :    && rtx_equal_p (operands[1], operands[2])
    9668              :    && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) && 
    9669              : #line 500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9670              : (TARGET_AVX512BW)))
    9671              :                         return 3541; /* *avx512bw_cmpv64qi3_dup_op */
    9672              :                     }
    9673              :                   break;
    9674              : 
    9675              :                 default:
    9676              :                   break;
    9677              :                 }
    9678              :               if (XWINT (x7, 0) != 0L)
    9679              :                 return -1;
    9680              :               operands[2] = x6;
    9681              :               switch (pattern994 (x2))
    9682              :                 {
    9683              :                 case 0:
    9684              :                   if (!
    9685              : #line 4935 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9686              : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    9687              :                     return -1;
    9688              :                   return 3565; /* *avx512bw_eqv64qi3_1 */
    9689              : 
    9690              :                 case 1:
    9691              :                   if (!(
    9692              : #line 4935 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9693              : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
    9694              : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9695              : (TARGET_AVX512VL)))
    9696              :                     return -1;
    9697              :                   return 3573; /* *avx512vl_eqv32qi3_1 */
    9698              : 
    9699              :                 case 2:
    9700              :                   if (!
    9701              : #line 4935 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9702              : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    9703              :                     return -1;
    9704              :                   return 3577; /* *avx512bw_eqv32hi3_1 */
    9705              : 
    9706              :                 default:
    9707              :                   return -1;
    9708              :                 }
    9709              : 
    9710              :             case 1:
    9711              :               if (!
    9712              : #line 5143 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9713              : (TARGET_AVX512BW && ix86_pre_reload_split ()
    9714              :   && ix86_binary_operator_ok (US_MINUS, V64QImode, operands)
    9715              :   && (INTVAL (operands[4]) & 3) == 0))
    9716              :                 return -1;
    9717              :               return 3715; /* *avx512bw_ucmpv64qi3_1 */
    9718              : 
    9719              :             case 2:
    9720              :               if (!(
    9721              : #line 5143 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9722              : (TARGET_AVX512BW && ix86_pre_reload_split ()
    9723              :   && ix86_binary_operator_ok (US_MINUS, V32QImode, operands)
    9724              :   && (INTVAL (operands[4]) & 3) == 0) && 
    9725              : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9726              : (TARGET_AVX512VL)))
    9727              :                 return -1;
    9728              :               return 3719; /* *avx512vl_ucmpv32qi3_1 */
    9729              : 
    9730              :             case 3:
    9731              :               if (!
    9732              : #line 5143 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9733              : (TARGET_AVX512BW && ix86_pre_reload_split ()
    9734              :   && ix86_binary_operator_ok (US_MINUS, V32HImode, operands)
    9735              :   && (INTVAL (operands[4]) & 3) == 0))
    9736              :                 return -1;
    9737              :               return 3721; /* *avx512bw_ucmpv32hi3_1 */
    9738              : 
    9739              :             default:
    9740              :               return -1;
    9741              :             }
    9742              : 
    9743              :         case 158:
    9744              :           switch (pattern305 (x2))
    9745              :             {
    9746              :             case 0:
    9747              :               x7 = XVECEXP (x2, 0, 2);
    9748              :               operands[3] = x7;
    9749              :               if (const_0_to_7_operand (operands[3], E_SImode))
    9750              :                 {
    9751              :                   x6 = XVECEXP (x2, 0, 1);
    9752              :                   operands[2] = x6;
    9753              :                   switch (GET_MODE (operands[0]))
    9754              :                     {
    9755              :                     case E_DImode:
    9756              :                       if (pattern596 (x2) == 0
    9757              :                           && (
    9758              : #line 4907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9759              : (TARGET_AVX512F && ix86_pre_reload_split ()
    9760              :    && rtx_equal_p (operands[1], operands[2])
    9761              :    && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) && 
    9762              : #line 500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9763              : (TARGET_AVX512BW)))
    9764              :                         return 3542; /* *avx512bw_cmpv64qi3_dup_op */
    9765              :                       break;
    9766              : 
    9767              :                     case E_SImode:
    9768              :                       switch (pattern597 (x2))
    9769              :                         {
    9770              :                         case 0:
    9771              :                           if ((
    9772              : #line 4907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9773              : (TARGET_AVX512F && ix86_pre_reload_split ()
    9774              :    && rtx_equal_p (operands[1], operands[2])
    9775              :    && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) && 
    9776              : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9777              : (TARGET_AVX512VL && TARGET_AVX512BW)))
    9778              :                             return 3544; /* *avx512vl_cmpv32qi3_dup_op */
    9779              :                           break;
    9780              : 
    9781              :                         case 1:
    9782              :                           if ((
    9783              : #line 4907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9784              : (TARGET_AVX512F && ix86_pre_reload_split ()
    9785              :    && rtx_equal_p (operands[1], operands[2])
    9786              :    && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) && 
    9787              : #line 503 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9788              : (TARGET_AVX512BW)))
    9789              :                             return 3548; /* *avx512bw_cmpv32hi3_dup_op */
    9790              :                           break;
    9791              : 
    9792              :                         default:
    9793              :                           break;
    9794              :                         }
    9795              :                       break;
    9796              : 
    9797              :                     default:
    9798              :                       break;
    9799              :                     }
    9800              :                 }
    9801              :               x6 = XVECEXP (x2, 0, 1);
    9802              :               operands[2] = x6;
    9803              :               if (XWINT (x7, 0) == 0L)
    9804              :                 {
    9805              :                   switch (pattern994 (x2))
    9806              :                     {
    9807              :                     case 0:
    9808              :                       if (
    9809              : #line 4935 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9810              : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    9811              :                         return 3567; /* *avx512bw_eqv64qi3_1 */
    9812              :                       break;
    9813              : 
    9814              :                     case 1:
    9815              :                       if ((
    9816              : #line 4935 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9817              : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
    9818              : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9819              : (TARGET_AVX512VL)))
    9820              :                         return 3575; /* *avx512vl_eqv32qi3_1 */
    9821              :                       break;
    9822              : 
    9823              :                     case 2:
    9824              :                       if (
    9825              : #line 4935 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9826              : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    9827              :                         return 3579; /* *avx512bw_eqv32hi3_1 */
    9828              :                       break;
    9829              : 
    9830              :                     default:
    9831              :                       break;
    9832              :                     }
    9833              :                 }
    9834              :               operands[3] = x7;
    9835              :               if (!const_0_to_7_operand (operands[3], E_SImode))
    9836              :                 return -1;
    9837              :               switch (pattern301 (x2))
    9838              :                 {
    9839              :                 case 0:
    9840              :                   if (!
    9841              : #line 4950 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9842              : (TARGET_AVX512BW))
    9843              :                     return -1;
    9844              :                   return 3589; /* avx512bw_ucmpv64qi3 */
    9845              : 
    9846              :                 case 1:
    9847              :                   if (!(
    9848              : #line 4950 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9849              : (TARGET_AVX512BW) && 
    9850              : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9851              : (TARGET_AVX512VL)))
    9852              :                     return -1;
    9853              :                   return 3593; /* avx512vl_ucmpv32qi3 */
    9854              : 
    9855              :                 case 2:
    9856              :                   if (!
    9857              : #line 4950 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9858              : (TARGET_AVX512BW))
    9859              :                     return -1;
    9860              :                   return 3595; /* avx512bw_ucmpv32hi3 */
    9861              : 
    9862              :                 default:
    9863              :                   return -1;
    9864              :                 }
    9865              : 
    9866              :             case 1:
    9867              :               if (!
    9868              : #line 5143 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9869              : (TARGET_AVX512BW && ix86_pre_reload_split ()
    9870              :   && ix86_binary_operator_ok (US_MINUS, V64QImode, operands)
    9871              :   && (INTVAL (operands[4]) & 1) == 0))
    9872              :                 return -1;
    9873              :               return 3716; /* *avx512bw_ucmpv64qi3_1 */
    9874              : 
    9875              :             case 2:
    9876              :               if (!(
    9877              : #line 5143 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9878              : (TARGET_AVX512BW && ix86_pre_reload_split ()
    9879              :   && ix86_binary_operator_ok (US_MINUS, V32QImode, operands)
    9880              :   && (INTVAL (operands[4]) & 1) == 0) && 
    9881              : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9882              : (TARGET_AVX512VL)))
    9883              :                 return -1;
    9884              :               return 3720; /* *avx512vl_ucmpv32qi3_1 */
    9885              : 
    9886              :             case 3:
    9887              :               if (!
    9888              : #line 5143 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9889              : (TARGET_AVX512BW && ix86_pre_reload_split ()
    9890              :   && ix86_binary_operator_ok (US_MINUS, V32HImode, operands)
    9891              :   && (INTVAL (operands[4]) & 1) == 0))
    9892              :                 return -1;
    9893              :               return 3722; /* *avx512bw_ucmpv32hi3_1 */
    9894              : 
    9895              :             default:
    9896              :               return -1;
    9897              :             }
    9898              : 
    9899              :         case 122:
    9900              :           if (pattern306 (x2) != 0
    9901              :               || !
    9902              : #line 23625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9903              : ((TARGET_MMX || TARGET_MMX_WITH_SSE) && TARGET_SSSE3))
    9904              :             return -1;
    9905              :           return 8690; /* ssse3_palignrdi */
    9906              : 
    9907              :         default:
    9908              :           return -1;
    9909              :         }
    9910              : 
    9911              :     default:
    9912              :       return -1;
    9913              :     }
    9914              : }
    9915              : 
    9916              :  int
    9917              : recog_132 (rtx x1 ATTRIBUTE_UNUSED,
    9918              :         rtx_insn *insn ATTRIBUTE_UNUSED,
    9919              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
    9920              : {
    9921              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    9922              :   rtx x2, x3, x4, x5, x6, x7;
    9923              :   int res ATTRIBUTE_UNUSED;
    9924              :   x2 = XEXP (x1, 1);
    9925              :   x3 = XEXP (x2, 0);
    9926              :   x4 = XVECEXP (x3, 0, 0);
    9927              :   operands[1] = x4;
    9928              :   x5 = XVECEXP (x3, 0, 1);
    9929              :   operands[2] = x5;
    9930              :   x6 = XEXP (x2, 1);
    9931              :   operands[3] = x6;
    9932              :   x7 = XEXP (x2, 2);
    9933              :   operands[4] = x7;
    9934              :   switch (GET_MODE (operands[0]))
    9935              :     {
    9936              :     case E_V8SImode:
    9937              :       if (pattern1117 (x2, 
    9938              : E_QImode, 
    9939              : E_V8SImode) != 0
    9940              :           || !(
    9941              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    9942              : (TARGET_AVX512F) && 
    9943              : #line 28004 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9944              : (TARGET_AVX2 && (32 == 64 || TARGET_AVX512VL))))
    9945              :         return -1;
    9946              :       return 9169; /* avx2_permvarv8si_mask */
    9947              : 
    9948              :     case E_V8SFmode:
    9949              :       if (pattern1118 (x2, 
    9950              : E_QImode, 
    9951              : E_V8SFmode, 
    9952              : E_V8SImode) != 0
    9953              :           || !(
    9954              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    9955              : (TARGET_AVX512F) && 
    9956              : #line 28004 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9957              : (TARGET_AVX2 && (32 == 64 || TARGET_AVX512VL))))
    9958              :         return -1;
    9959              :       return 9171; /* avx2_permvarv8sf_mask */
    9960              : 
    9961              :     case E_V16SImode:
    9962              :       if (pattern1117 (x2, 
    9963              : E_HImode, 
    9964              : E_V16SImode) != 0
    9965              :           || !(
    9966              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    9967              : (TARGET_AVX512F) && (
    9968              : #line 28004 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9969              : (TARGET_AVX2 && (64 == 64 || TARGET_AVX512VL)) && 
    9970              : #line 982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9971              : (TARGET_AVX512F))))
    9972              :         return -1;
    9973              :       return 9173; /* avx512f_permvarv16si_mask */
    9974              : 
    9975              :     case E_V16SFmode:
    9976              :       if (pattern1118 (x2, 
    9977              : E_HImode, 
    9978              : E_V16SFmode, 
    9979              : E_V16SImode) != 0
    9980              :           || !(
    9981              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    9982              : (TARGET_AVX512F) && (
    9983              : #line 28004 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9984              : (TARGET_AVX2 && (64 == 64 || TARGET_AVX512VL)) && 
    9985              : #line 982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9986              : (TARGET_AVX512F))))
    9987              :         return -1;
    9988              :       return 9175; /* avx512f_permvarv16sf_mask */
    9989              : 
    9990              :     case E_V8DImode:
    9991              :       if (pattern1117 (x2, 
    9992              : E_QImode, 
    9993              : E_V8DImode) != 0
    9994              :           || !(
    9995              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    9996              : (TARGET_AVX512F) && (
    9997              : #line 28004 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9998              : (TARGET_AVX2 && (64 == 64 || TARGET_AVX512VL)) && 
    9999              : #line 983 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10000              : (TARGET_AVX512F))))
   10001              :         return -1;
   10002              :       return 9177; /* avx512f_permvarv8di_mask */
   10003              : 
   10004              :     case E_V8DFmode:
   10005              :       if (pattern1118 (x2, 
   10006              : E_QImode, 
   10007              : E_V8DFmode, 
   10008              : E_V8DImode) != 0
   10009              :           || !(
   10010              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10011              : (TARGET_AVX512F) && (
   10012              : #line 28004 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10013              : (TARGET_AVX2 && (64 == 64 || TARGET_AVX512VL)) && 
   10014              : #line 983 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10015              : (TARGET_AVX512F))))
   10016              :         return -1;
   10017              :       return 9179; /* avx512f_permvarv8df_mask */
   10018              : 
   10019              :     case E_V4DImode:
   10020              :       if (pattern1117 (x2, 
   10021              : E_QImode, 
   10022              : E_V4DImode) != 0
   10023              :           || !(
   10024              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10025              : (TARGET_AVX512F) && (
   10026              : #line 28004 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10027              : (TARGET_AVX2 && (32 == 64 || TARGET_AVX512VL)) && 
   10028              : #line 984 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10029              : (TARGET_AVX512VL))))
   10030              :         return -1;
   10031              :       return 9181; /* avx2_permvarv4di_mask */
   10032              : 
   10033              :     case E_V4DFmode:
   10034              :       if (pattern1118 (x2, 
   10035              : E_QImode, 
   10036              : E_V4DFmode, 
   10037              : E_V4DImode) != 0
   10038              :           || !(
   10039              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10040              : (TARGET_AVX512F) && (
   10041              : #line 28004 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10042              : (TARGET_AVX2 && (32 == 64 || TARGET_AVX512VL)) && 
   10043              : #line 984 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10044              : (TARGET_AVX512VL))))
   10045              :         return -1;
   10046              :       return 9183; /* avx2_permvarv4df_mask */
   10047              : 
   10048              :     case E_V64QImode:
   10049              :       if (pattern1117 (x2, 
   10050              : E_DImode, 
   10051              : E_V64QImode) != 0
   10052              :           || !(
   10053              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10054              : (TARGET_AVX512F) && 
   10055              : #line 28023 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10056              : (TARGET_AVX512VBMI && (64 == 64 || TARGET_AVX512VL))))
   10057              :         return -1;
   10058              :       return 9185; /* avx512bw_permvarv64qi_mask */
   10059              : 
   10060              :     case E_V16QImode:
   10061              :       if (pattern1117 (x2, 
   10062              : E_HImode, 
   10063              : E_V16QImode) != 0
   10064              :           || !(
   10065              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10066              : (TARGET_AVX512F) && (
   10067              : #line 28023 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10068              : (TARGET_AVX512VBMI && (16 == 64 || TARGET_AVX512VL)) && 
   10069              : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10070              : (TARGET_AVX512VL))))
   10071              :         return -1;
   10072              :       return 9187; /* avx512vl_permvarv16qi_mask */
   10073              : 
   10074              :     case E_V32QImode:
   10075              :       if (pattern1117 (x2, 
   10076              : E_SImode, 
   10077              : E_V32QImode) != 0
   10078              :           || !(
   10079              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10080              : (TARGET_AVX512F) && (
   10081              : #line 28023 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10082              : (TARGET_AVX512VBMI && (32 == 64 || TARGET_AVX512VL)) && 
   10083              : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10084              : (TARGET_AVX512VL))))
   10085              :         return -1;
   10086              :       return 9189; /* avx512vl_permvarv32qi_mask */
   10087              : 
   10088              :     case E_V8HImode:
   10089              :       if (pattern1117 (x2, 
   10090              : E_QImode, 
   10091              : E_V8HImode) != 0
   10092              :           || !(
   10093              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10094              : (TARGET_AVX512F) && (
   10095              : #line 28035 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10096              : (TARGET_AVX512BW && (16 == 64 || TARGET_AVX512VL)) && 
   10097              : #line 682 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10098              : (TARGET_AVX512VL))))
   10099              :         return -1;
   10100              :       return 9191; /* avx512vl_permvarv8hi_mask */
   10101              : 
   10102              :     case E_V16HImode:
   10103              :       if (pattern1117 (x2, 
   10104              : E_HImode, 
   10105              : E_V16HImode) != 0
   10106              :           || !(
   10107              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10108              : (TARGET_AVX512F) && (
   10109              : #line 28035 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10110              : (TARGET_AVX512BW && (32 == 64 || TARGET_AVX512VL)) && 
   10111              : #line 682 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10112              : (TARGET_AVX512VL))))
   10113              :         return -1;
   10114              :       return 9193; /* avx512vl_permvarv16hi_mask */
   10115              : 
   10116              :     case E_V32HImode:
   10117              :       if (pattern1117 (x2, 
   10118              : E_SImode, 
   10119              : E_V32HImode) != 0
   10120              :           || !(
   10121              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10122              : (TARGET_AVX512F) && 
   10123              : #line 28035 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10124              : (TARGET_AVX512BW && (64 == 64 || TARGET_AVX512VL))))
   10125              :         return -1;
   10126              :       return 9195; /* avx512bw_permvarv32hi_mask */
   10127              : 
   10128              :     case E_V8HFmode:
   10129              :       if (pattern1118 (x2, 
   10130              : E_QImode, 
   10131              : E_V8HFmode, 
   10132              : E_V8HImode) != 0
   10133              :           || !(
   10134              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10135              : (TARGET_AVX512F) && (
   10136              : #line 28035 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10137              : (TARGET_AVX512BW && (16 == 64 || TARGET_AVX512VL)) && 
   10138              : #line 683 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10139              : (TARGET_AVX512VL))))
   10140              :         return -1;
   10141              :       return 9197; /* avx512fp16_permvarv8hf_mask */
   10142              : 
   10143              :     case E_V16HFmode:
   10144              :       if (pattern1118 (x2, 
   10145              : E_HImode, 
   10146              : E_V16HFmode, 
   10147              : E_V16HImode) != 0
   10148              :           || !(
   10149              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10150              : (TARGET_AVX512F) && (
   10151              : #line 28035 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10152              : (TARGET_AVX512BW && (32 == 64 || TARGET_AVX512VL)) && 
   10153              : #line 683 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10154              : (TARGET_AVX512VL))))
   10155              :         return -1;
   10156              :       return 9199; /* avx512vl_permvarv16hf_mask */
   10157              : 
   10158              :     case E_V32HFmode:
   10159              :       if (pattern1118 (x2, 
   10160              : E_SImode, 
   10161              : E_V32HFmode, 
   10162              : E_V32HImode) != 0
   10163              :           || !(
   10164              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10165              : (TARGET_AVX512F) && 
   10166              : #line 28035 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10167              : (TARGET_AVX512BW && (64 == 64 || TARGET_AVX512VL))))
   10168              :         return -1;
   10169              :       return 9201; /* avx512bw_permvarv32hf_mask */
   10170              : 
   10171              :     case E_V8BFmode:
   10172              :       if (pattern1118 (x2, 
   10173              : E_QImode, 
   10174              : E_V8BFmode, 
   10175              : E_V8HImode) != 0
   10176              :           || !(
   10177              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10178              : (TARGET_AVX512F) && (
   10179              : #line 28035 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10180              : (TARGET_AVX512BW && (16 == 64 || TARGET_AVX512VL)) && 
   10181              : #line 684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10182              : (TARGET_AVX512VL))))
   10183              :         return -1;
   10184              :       return 9203; /* avx512vl_permvarv8bf_mask */
   10185              : 
   10186              :     case E_V16BFmode:
   10187              :       if (pattern1118 (x2, 
   10188              : E_HImode, 
   10189              : E_V16BFmode, 
   10190              : E_V16HImode) != 0
   10191              :           || !(
   10192              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10193              : (TARGET_AVX512F) && (
   10194              : #line 28035 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10195              : (TARGET_AVX512BW && (32 == 64 || TARGET_AVX512VL)) && 
   10196              : #line 684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10197              : (TARGET_AVX512VL))))
   10198              :         return -1;
   10199              :       return 9205; /* avx512vl_permvarv16bf_mask */
   10200              : 
   10201              :     case E_V32BFmode:
   10202              :       if (pattern1118 (x2, 
   10203              : E_SImode, 
   10204              : E_V32BFmode, 
   10205              : E_V32HImode) != 0
   10206              :           || !(
   10207              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10208              : (TARGET_AVX512F) && 
   10209              : #line 28035 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10210              : (TARGET_AVX512BW && (64 == 64 || TARGET_AVX512VL))))
   10211              :         return -1;
   10212              :       return 9207; /* avx512bw_permvarv32bf_mask */
   10213              : 
   10214              :     default:
   10215              :       return -1;
   10216              :     }
   10217              : }
   10218              : 
   10219              :  int
   10220              : recog_144 (rtx x1 ATTRIBUTE_UNUSED,
   10221              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   10222              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   10223              : {
   10224              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   10225              :   rtx x2, x3, x4, x5, x6, x7, x8;
   10226              :   int res ATTRIBUTE_UNUSED;
   10227              :   x2 = XEXP (x1, 1);
   10228              :   x3 = XEXP (x2, 0);
   10229              :   x4 = XVECEXP (x3, 0, 0);
   10230              :   operands[1] = x4;
   10231              :   x5 = XVECEXP (x3, 0, 1);
   10232              :   operands[2] = x5;
   10233              :   x6 = XVECEXP (x3, 0, 2);
   10234              :   operands[3] = x6;
   10235              :   if (!const_0_to_255_operand (operands[3], E_SImode))
   10236              :     return -1;
   10237              :   x7 = XEXP (x2, 1);
   10238              :   operands[4] = x7;
   10239              :   x8 = XEXP (x2, 2);
   10240              :   operands[5] = x8;
   10241              :   switch (GET_MODE (operands[0]))
   10242              :     {
   10243              :     case E_V16SImode:
   10244              :       if (pattern480 (x2, 
   10245              : E_V16SImode, 
   10246              : E_HImode) != 0
   10247              :           || !
   10248              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10249              : (TARGET_AVX512F))
   10250              :         return -1;
   10251              :       return 7104; /* avx512f_alignv16si_mask */
   10252              : 
   10253              :     case E_V8SImode:
   10254              :       if (pattern480 (x2, 
   10255              : E_V8SImode, 
   10256              : E_QImode) != 0
   10257              :           || !(
   10258              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10259              : (TARGET_AVX512F) && (
   10260              : #line 14381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10261              : (TARGET_AVX512F) && 
   10262              : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10263              : (TARGET_AVX512VL))))
   10264              :         return -1;
   10265              :       return 7106; /* avx512vl_alignv8si_mask */
   10266              : 
   10267              :     case E_V4SImode:
   10268              :       if (pattern480 (x2, 
   10269              : E_V4SImode, 
   10270              : E_QImode) != 0
   10271              :           || !(
   10272              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10273              : (TARGET_AVX512F) && (
   10274              : #line 14381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10275              : (TARGET_AVX512F) && 
   10276              : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10277              : (TARGET_AVX512VL))))
   10278              :         return -1;
   10279              :       return 7108; /* avx512vl_alignv4si_mask */
   10280              : 
   10281              :     case E_V8DImode:
   10282              :       if (pattern480 (x2, 
   10283              : E_V8DImode, 
   10284              : E_QImode) != 0
   10285              :           || !
   10286              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10287              : (TARGET_AVX512F))
   10288              :         return -1;
   10289              :       return 7110; /* avx512f_alignv8di_mask */
   10290              : 
   10291              :     case E_V4DImode:
   10292              :       if (pattern480 (x2, 
   10293              : E_V4DImode, 
   10294              : E_QImode) != 0
   10295              :           || !(
   10296              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10297              : (TARGET_AVX512F) && (
   10298              : #line 14381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10299              : (TARGET_AVX512F) && 
   10300              : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10301              : (TARGET_AVX512VL))))
   10302              :         return -1;
   10303              :       return 7112; /* avx512vl_alignv4di_mask */
   10304              : 
   10305              :     case E_V2DImode:
   10306              :       if (pattern480 (x2, 
   10307              : E_V2DImode, 
   10308              : E_QImode) != 0
   10309              :           || !(
   10310              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10311              : (TARGET_AVX512F) && (
   10312              : #line 14381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10313              : (TARGET_AVX512F) && 
   10314              : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10315              : (TARGET_AVX512VL))))
   10316              :         return -1;
   10317              :       return 7114; /* avx512vl_alignv2di_mask */
   10318              : 
   10319              :     default:
   10320              :       return -1;
   10321              :     }
   10322              : }
   10323              : 
   10324              :  int
   10325              : recog_151 (rtx x1 ATTRIBUTE_UNUSED,
   10326              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   10327              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   10328              : {
   10329              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   10330              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   10331              :   rtx x10, x11, x12;
   10332              :   int res ATTRIBUTE_UNUSED;
   10333              :   x2 = XEXP (x1, 1);
   10334              :   x3 = XEXP (x2, 0);
   10335              :   x4 = XEXP (x3, 0);
   10336              :   switch (XVECLEN (x4, 0))
   10337              :     {
   10338              :     case 1:
   10339              :       x5 = XEXP (x2, 2);
   10340              :       if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   10341              :         return -1;
   10342              :       x6 = XVECEXP (x4, 0, 0);
   10343              :       operands[1] = x6;
   10344              :       x7 = XEXP (x3, 1);
   10345              :       operands[3] = x7;
   10346              :       x8 = XEXP (x3, 2);
   10347              :       operands[4] = x8;
   10348              :       if (!register_operand (operands[4], E_QImode))
   10349              :         return -1;
   10350              :       x9 = XEXP (x2, 1);
   10351              :       operands[2] = x9;
   10352              :       switch (XINT (x4, 1))
   10353              :         {
   10354              :         case 55:
   10355              :           if (pattern1290 (x2) != 0
   10356              :               || !(
   10357              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10358              : (TARGET_AVX512F) && 
   10359              : #line 3002 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10360              : (TARGET_AVX512FP16)))
   10361              :             return -1;
   10362              :           return 2948; /* avx512fp16_vmrcpv8hf2_mask */
   10363              : 
   10364              :         case 162:
   10365              :           switch (GET_MODE (operands[0]))
   10366              :             {
   10367              :             case E_V4SFmode:
   10368              :               if (pattern1382 (x2, 
   10369              : E_V4SFmode) != 0
   10370              :                   || !
   10371              : #line 3058 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10372              : (TARGET_AVX512F))
   10373              :                 return -1;
   10374              :               return 2964; /* srcp14v4sf_mask */
   10375              : 
   10376              :             case E_V2DFmode:
   10377              :               if (pattern1382 (x2, 
   10378              : E_V2DFmode) != 0
   10379              :                   || !(
   10380              : #line 3058 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10381              : (TARGET_AVX512F) && 
   10382              : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10383              : (TARGET_SSE2)))
   10384              :                 return -1;
   10385              :               return 2965; /* srcp14v2df_mask */
   10386              : 
   10387              :             default:
   10388              :               return -1;
   10389              :             }
   10390              : 
   10391              :         case 163:
   10392              :           switch (GET_MODE (operands[0]))
   10393              :             {
   10394              :             case E_V4SFmode:
   10395              :               if (pattern1382 (x2, 
   10396              : E_V4SFmode) != 0
   10397              :                   || !
   10398              : #line 3212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10399              : (TARGET_AVX512F))
   10400              :                 return -1;
   10401              :               return 3036; /* rsqrt14_v4sf_mask */
   10402              : 
   10403              :             case E_V2DFmode:
   10404              :               if (pattern1382 (x2, 
   10405              : E_V2DFmode) != 0
   10406              :                   || !(
   10407              : #line 3212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10408              : (TARGET_AVX512F) && 
   10409              : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10410              : (TARGET_SSE2)))
   10411              :                 return -1;
   10412              :               return 3037; /* rsqrt14_v2df_mask */
   10413              : 
   10414              :             default:
   10415              :               return -1;
   10416              :             }
   10417              : 
   10418              :         case 56:
   10419              :           if (pattern1290 (x2) != 0
   10420              :               || !(
   10421              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10422              : (TARGET_AVX512F) && 
   10423              : #line 3260 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10424              : (TARGET_AVX512FP16)))
   10425              :             return -1;
   10426              :           return 3041; /* avx512fp16_vmrsqrtv8hf2_mask */
   10427              : 
   10428              :         default:
   10429              :           return -1;
   10430              :         }
   10431              : 
   10432              :     case 2:
   10433              :       x5 = XEXP (x2, 2);
   10434              :       if (GET_CODE (x5) != CONST_INT)
   10435              :         return -1;
   10436              :       switch (XINT (x4, 1))
   10437              :         {
   10438              :         case 64:
   10439              :           switch (pattern774 (x2))
   10440              :             {
   10441              :             case 0:
   10442              :               if (!(
   10443              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10444              : (TARGET_AVX512F) && (
   10445              : #line 3555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10446              : (TARGET_SSE) && 
   10447              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10448              : (TARGET_AVX512FP16))))
   10449              :                 return -1;
   10450              :               return 3192; /* avx512fp16_ieee_vmmaxv8hf3_mask */
   10451              : 
   10452              :             case 1:
   10453              :               if (!(
   10454              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10455              : (TARGET_AVX512F) && 
   10456              : #line 3555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10457              : (TARGET_SSE)))
   10458              :                 return -1;
   10459              :               return 3200; /* sse_ieee_vmmaxv4sf3_mask */
   10460              : 
   10461              :             case 2:
   10462              :               if (!(
   10463              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10464              : (TARGET_AVX512F) && (
   10465              : #line 3555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10466              : (TARGET_SSE) && 
   10467              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10468              : (TARGET_SSE2))))
   10469              :                 return -1;
   10470              :               return 3208; /* sse2_ieee_vmmaxv2df3_mask */
   10471              : 
   10472              :             default:
   10473              :               return -1;
   10474              :             }
   10475              : 
   10476              :         case 63:
   10477              :           switch (pattern774 (x2))
   10478              :             {
   10479              :             case 0:
   10480              :               if (!(
   10481              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10482              : (TARGET_AVX512F) && (
   10483              : #line 3555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10484              : (TARGET_SSE) && 
   10485              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10486              : (TARGET_AVX512FP16))))
   10487              :                 return -1;
   10488              :               return 3196; /* avx512fp16_ieee_vmminv8hf3_mask */
   10489              : 
   10490              :             case 1:
   10491              :               if (!(
   10492              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10493              : (TARGET_AVX512F) && 
   10494              : #line 3555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10495              : (TARGET_SSE)))
   10496              :                 return -1;
   10497              :               return 3204; /* sse_ieee_vmminv4sf3_mask */
   10498              : 
   10499              :             case 2:
   10500              :               if (!(
   10501              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10502              : (TARGET_AVX512F) && (
   10503              : #line 3555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10504              : (TARGET_SSE) && 
   10505              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10506              : (TARGET_SSE2))))
   10507              :                 return -1;
   10508              :               return 3212; /* sse2_ieee_vmminv2df3_mask */
   10509              : 
   10510              :             default:
   10511              :               return -1;
   10512              :             }
   10513              : 
   10514              :         case 222:
   10515              :           if (pattern775 (x2) != 0
   10516              :               || !(
   10517              : #line 389 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10518              : (TARGET_AVX512F) && 
   10519              : #line 7869 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10520              : (TARGET_AVX512FP16)))
   10521              :             return -1;
   10522              :           return 4439; /* avx512fp16_fmulcsh_v8hf_mask */
   10523              : 
   10524              :         case 223:
   10525              :           if (pattern775 (x2) != 0
   10526              :               || !(
   10527              : #line 389 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10528              : (TARGET_AVX512F) && 
   10529              : #line 7869 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10530              : (TARGET_AVX512FP16)))
   10531              :             return -1;
   10532              :           return 4443; /* avx512fp16_fcmulcsh_v8hf_mask */
   10533              : 
   10534              :         case 59:
   10535              :           switch (pattern774 (x2))
   10536              :             {
   10537              :             case 0:
   10538              :               if (!(
   10539              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10540              : (TARGET_AVX512F) && (
   10541              : #line 13937 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10542              : (TARGET_AVX512F) && 
   10543              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10544              : (TARGET_AVX512FP16))))
   10545              :                 return -1;
   10546              :               return 5431; /* avx512f_vmscalefv8hf_mask */
   10547              : 
   10548              :             case 1:
   10549              :               if (!
   10550              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10551              : (TARGET_AVX512F))
   10552              :                 return -1;
   10553              :               return 5435; /* avx512f_vmscalefv4sf_mask */
   10554              : 
   10555              :             case 2:
   10556              :               if (!(
   10557              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10558              : (TARGET_AVX512F) && (
   10559              : #line 13937 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10560              : (TARGET_AVX512F) && 
   10561              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10562              : (TARGET_SSE2))))
   10563              :                 return -1;
   10564              :               return 5439; /* avx512f_vmscalefv2df_mask */
   10565              : 
   10566              :             default:
   10567              :               return -1;
   10568              :             }
   10569              : 
   10570              :         case 166:
   10571              :           switch (pattern774 (x2))
   10572              :             {
   10573              :             case 0:
   10574              :               if (!(
   10575              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10576              : (TARGET_AVX512F) && (
   10577              : #line 14370 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10578              : (TARGET_AVX512F) && 
   10579              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10580              : (TARGET_AVX512FP16))))
   10581              :                 return -1;
   10582              :               return 7092; /* avx512f_sgetexpv8hf_mask */
   10583              : 
   10584              :             case 1:
   10585              :               if (!
   10586              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10587              : (TARGET_AVX512F))
   10588              :                 return -1;
   10589              :               return 7096; /* avx512f_sgetexpv4sf_mask */
   10590              : 
   10591              :             case 2:
   10592              :               if (!(
   10593              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10594              : (TARGET_AVX512F) && (
   10595              : #line 14370 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10596              : (TARGET_AVX512F) && 
   10597              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10598              : (TARGET_SSE2))))
   10599              :                 return -1;
   10600              :               return 7100; /* avx512f_sgetexpv2df_mask */
   10601              : 
   10602              :             default:
   10603              :               return -1;
   10604              :             }
   10605              : 
   10606              :         case 95:
   10607              :           if (XWINT (x5, 0) != 1L)
   10608              :             return -1;
   10609              :           x6 = XVECEXP (x4, 0, 0);
   10610              :           operands[2] = x6;
   10611              :           x10 = XVECEXP (x4, 0, 1);
   10612              :           operands[3] = x10;
   10613              :           if (!const_0_to_255_operand (operands[3], E_SImode))
   10614              :             return -1;
   10615              :           x7 = XEXP (x3, 1);
   10616              :           operands[4] = x7;
   10617              :           x8 = XEXP (x3, 2);
   10618              :           operands[5] = x8;
   10619              :           if (!register_operand (operands[5], E_QImode))
   10620              :             return -1;
   10621              :           x9 = XEXP (x2, 1);
   10622              :           operands[1] = x9;
   10623              :           switch (GET_MODE (operands[0]))
   10624              :             {
   10625              :             case E_V8HFmode:
   10626              :               if (pattern1551 (x2, 
   10627              : E_V8HFmode) != 0
   10628              :                   || !(
   10629              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10630              : (TARGET_AVX512F) && (
   10631              : #line 14564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10632              : (TARGET_AVX512F) && 
   10633              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10634              : (TARGET_AVX512FP16))))
   10635              :                 return -1;
   10636              :               return 7208; /* avx512f_rndscalev8hf_mask */
   10637              : 
   10638              :             case E_V4SFmode:
   10639              :               if (pattern1551 (x2, 
   10640              : E_V4SFmode) != 0
   10641              :                   || !
   10642              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10643              : (TARGET_AVX512F))
   10644              :                 return -1;
   10645              :               return 7212; /* avx512f_rndscalev4sf_mask */
   10646              : 
   10647              :             case E_V2DFmode:
   10648              :               if (pattern1551 (x2, 
   10649              : E_V2DFmode) != 0
   10650              :                   || !(
   10651              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10652              : (TARGET_AVX512F) && (
   10653              : #line 14564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10654              : (TARGET_AVX512F) && 
   10655              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10656              : (TARGET_SSE2))))
   10657              :                 return -1;
   10658              :               return 7216; /* avx512f_rndscalev2df_mask */
   10659              : 
   10660              :             default:
   10661              :               return -1;
   10662              :             }
   10663              : 
   10664              :         default:
   10665              :           return -1;
   10666              :         }
   10667              : 
   10668              :     case 3:
   10669              :       x5 = XEXP (x2, 2);
   10670              :       if (GET_CODE (x5) != CONST_INT)
   10671              :         return -1;
   10672              :       x6 = XVECEXP (x4, 0, 0);
   10673              :       operands[1] = x6;
   10674              :       x10 = XVECEXP (x4, 0, 1);
   10675              :       operands[2] = x10;
   10676              :       x11 = XVECEXP (x4, 0, 2);
   10677              :       operands[3] = x11;
   10678              :       switch (XINT (x4, 1))
   10679              :         {
   10680              :         case 193:
   10681              :           switch (pattern1124 (x2))
   10682              :             {
   10683              :             case 0:
   10684              :               if (!(
   10685              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10686              : (TARGET_AVX512F) && (
   10687              : #line 4269 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10688              : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V8HFmode))) && 
   10689              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10690              : (TARGET_AVX512FP16))))
   10691              :                 return -1;
   10692              :               return 3266; /* reducesv8hf_mask */
   10693              : 
   10694              :             case 1:
   10695              :               if (!(
   10696              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10697              : (TARGET_AVX512F) && 
   10698              : #line 4269 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10699              : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V4SFmode)))))
   10700              :                 return -1;
   10701              :               return 3270; /* reducesv4sf_mask */
   10702              : 
   10703              :             case 2:
   10704              :               if (!(
   10705              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10706              : (TARGET_AVX512F) && (
   10707              : #line 4269 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10708              : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V2DFmode))) && 
   10709              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10710              : (TARGET_SSE2))))
   10711              :                 return -1;
   10712              :               return 3274; /* reducesv2df_mask */
   10713              : 
   10714              :             default:
   10715              :               return -1;
   10716              :             }
   10717              : 
   10718              :         case 218:
   10719              :           switch (pattern1125 (x2))
   10720              :             {
   10721              :             case 0:
   10722              :               if (!(
   10723              : #line 371 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10724              : (TARGET_AVX512F) && 
   10725              : #line 7834 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10726              : (TARGET_AVX512FP16)))
   10727              :                 return -1;
   10728              :               return 4426; /* avx512fp16_fma_fmaddcsh_v8hf_maskz */
   10729              : 
   10730              :             case 1:
   10731              :               if (!
   10732              : #line 7854 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10733              : (TARGET_AVX512FP16))
   10734              :                 return -1;
   10735              :               return 4433; /* avx512fp16_fmaddcsh_v8hf_mask */
   10736              : 
   10737              :             default:
   10738              :               return -1;
   10739              :             }
   10740              : 
   10741              :         case 220:
   10742              :           switch (pattern1125 (x2))
   10743              :             {
   10744              :             case 0:
   10745              :               if (!(
   10746              : #line 371 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10747              : (TARGET_AVX512F) && 
   10748              : #line 7834 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10749              : (TARGET_AVX512FP16)))
   10750              :                 return -1;
   10751              :               return 4430; /* avx512fp16_fma_fcmaddcsh_v8hf_maskz */
   10752              : 
   10753              :             case 1:
   10754              :               if (!
   10755              : #line 7854 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10756              : (TARGET_AVX512FP16))
   10757              :                 return -1;
   10758              :               return 4435; /* avx512fp16_fcmaddcsh_v8hf_mask */
   10759              : 
   10760              :             default:
   10761              :               return -1;
   10762              :             }
   10763              : 
   10764              :         case 195:
   10765              :           if (XWINT (x5, 0) != 1L
   10766              :               || !const_0_to_15_operand (operands[3], E_SImode))
   10767              :             return -1;
   10768              :           x7 = XEXP (x3, 1);
   10769              :           operands[4] = x7;
   10770              :           x8 = XEXP (x3, 2);
   10771              :           operands[5] = x8;
   10772              :           if (!register_operand (operands[5], E_QImode))
   10773              :             return -1;
   10774              :           x9 = XEXP (x2, 1);
   10775              :           if (!rtx_equal_p (x9, operands[1]))
   10776              :             return -1;
   10777              :           switch (GET_MODE (operands[0]))
   10778              :             {
   10779              :             case E_V4SFmode:
   10780              :               if (pattern1122 (x2, 
   10781              : E_V4SFmode) != 0
   10782              :                   || !(
   10783              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10784              : (TARGET_AVX512F) && 
   10785              : #line 30536 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10786              : (TARGET_AVX512DQ)))
   10787              :                 return -1;
   10788              :               return 10048; /* avx512dq_rangesv4sf_mask */
   10789              : 
   10790              :             case E_V2DFmode:
   10791              :               if (pattern1122 (x2, 
   10792              : E_V2DFmode) != 0
   10793              :                   || !(
   10794              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10795              : (TARGET_AVX512F) && (
   10796              : #line 30536 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10797              : (TARGET_AVX512DQ) && 
   10798              : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10799              : (TARGET_SSE2))))
   10800              :                 return -1;
   10801              :               return 10052; /* avx512dq_rangesv2df_mask */
   10802              : 
   10803              :             default:
   10804              :               return -1;
   10805              :             }
   10806              : 
   10807              :         case 167:
   10808              :           if (XWINT (x5, 0) != 1L
   10809              :               || !const_0_to_15_operand (operands[3], E_SImode))
   10810              :             return -1;
   10811              :           switch (pattern1123 (x2))
   10812              :             {
   10813              :             case 0:
   10814              :               if (!(
   10815              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10816              : (TARGET_AVX512F) && (
   10817              : #line 30604 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10818              : (TARGET_AVX512F) && 
   10819              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10820              : (TARGET_AVX512FP16))))
   10821              :                 return -1;
   10822              :               return 10116; /* avx512f_vgetmantv8hf_mask */
   10823              : 
   10824              :             case 1:
   10825              :               if (!
   10826              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10827              : (TARGET_AVX512F))
   10828              :                 return -1;
   10829              :               return 10120; /* avx512f_vgetmantv4sf_mask */
   10830              : 
   10831              :             case 2:
   10832              :               if (!(
   10833              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10834              : (TARGET_AVX512F) && (
   10835              : #line 30604 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10836              : (TARGET_AVX512F) && 
   10837              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10838              : (TARGET_SSE2))))
   10839              :                 return -1;
   10840              :               return 10124; /* avx512f_vgetmantv2df_mask */
   10841              : 
   10842              :             default:
   10843              :               return -1;
   10844              :             }
   10845              : 
   10846              :         case 279:
   10847              :           switch (pattern1124 (x2))
   10848              :             {
   10849              :             case 0:
   10850              :               if (!(
   10851              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10852              : (TARGET_AVX512F) && (
   10853              : #line 33376 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10854              : (TARGET_AVX10_2) && 
   10855              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10856              : (TARGET_AVX512FP16))))
   10857              :                 return -1;
   10858              :               return 11014; /* avx10_2_minmaxsv8hf_mask */
   10859              : 
   10860              :             case 1:
   10861              :               if (!(
   10862              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10863              : (TARGET_AVX512F) && 
   10864              : #line 33376 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10865              : (TARGET_AVX10_2)))
   10866              :                 return -1;
   10867              :               return 11018; /* avx10_2_minmaxsv4sf_mask */
   10868              : 
   10869              :             case 2:
   10870              :               if (!(
   10871              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10872              : (TARGET_AVX512F) && (
   10873              : #line 33376 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10874              : (TARGET_AVX10_2) && 
   10875              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10876              : (TARGET_SSE2))))
   10877              :                 return -1;
   10878              :               return 11022; /* avx10_2_minmaxsv2df_mask */
   10879              : 
   10880              :             default:
   10881              :               return -1;
   10882              :             }
   10883              : 
   10884              :         default:
   10885              :           return -1;
   10886              :         }
   10887              : 
   10888              :     case 4:
   10889              :       if (XINT (x4, 1) != 164)
   10890              :         return -1;
   10891              :       x6 = XVECEXP (x4, 0, 0);
   10892              :       operands[1] = x6;
   10893              :       x10 = XVECEXP (x4, 0, 1);
   10894              :       operands[2] = x10;
   10895              :       x11 = XVECEXP (x4, 0, 2);
   10896              :       operands[3] = x11;
   10897              :       x12 = XVECEXP (x4, 0, 3);
   10898              :       operands[4] = x12;
   10899              :       if (!const_0_to_255_operand (operands[4], E_SImode))
   10900              :         return -1;
   10901              :       x7 = XEXP (x3, 1);
   10902              :       switch (GET_CODE (x7))
   10903              :         {
   10904              :         case CONST_INT:
   10905              :         case CONST_DOUBLE:
   10906              :         case CONST_VECTOR:
   10907              :           operands[5] = x7;
   10908              :           x5 = XEXP (x2, 2);
   10909              :           if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   10910              :             return -1;
   10911              :           x8 = XEXP (x3, 2);
   10912              :           operands[6] = x8;
   10913              :           if (!register_operand (operands[6], E_QImode))
   10914              :             return -1;
   10915              :           x9 = XEXP (x2, 1);
   10916              :           if (!rtx_equal_p (x9, operands[2]))
   10917              :             return -1;
   10918              :           switch (GET_MODE (operands[0]))
   10919              :             {
   10920              :             case E_V4SFmode:
   10921              :               if (pattern1654 (x2, 
   10922              : E_V4SFmode, 
   10923              : E_V4SImode) != 0
   10924              :                   || !
   10925              : #line 154 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10926              : (TARGET_AVX512F))
   10927              :                 return -1;
   10928              :               return 7161; /* avx512f_sfixupimmv4sf_maskz_1 */
   10929              : 
   10930              :             case E_V2DFmode:
   10931              :               if (pattern1654 (x2, 
   10932              : E_V2DFmode, 
   10933              : E_V2DImode) != 0
   10934              :                   || !(
   10935              : #line 154 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10936              : (TARGET_AVX512F) && (
   10937              : #line 14519 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10938              : (TARGET_AVX512F) && 
   10939              : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10940              : (TARGET_SSE2))))
   10941              :                 return -1;
   10942              :               return 7165; /* avx512f_sfixupimmv2df_maskz_1 */
   10943              : 
   10944              :             default:
   10945              :               return -1;
   10946              :             }
   10947              : 
   10948              :         case REG:
   10949              :         case SUBREG:
   10950              :           if (!rtx_equal_p (x7, operands[2]))
   10951              :             return -1;
   10952              :           x8 = XEXP (x3, 2);
   10953              :           if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   10954              :             return -1;
   10955              :           x5 = XEXP (x2, 2);
   10956              :           operands[5] = x5;
   10957              :           if (!register_operand (operands[5], E_QImode))
   10958              :             return -1;
   10959              :           x9 = XEXP (x2, 1);
   10960              :           if (!rtx_equal_p (x9, operands[1]))
   10961              :             return -1;
   10962              :           switch (GET_MODE (operands[0]))
   10963              :             {
   10964              :             case E_V4SFmode:
   10965              :               if (pattern1655 (x2, 
   10966              : E_V4SImode, 
   10967              : E_V4SFmode) != 0
   10968              :                   || !
   10969              : #line 14538 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10970              : (TARGET_AVX512F))
   10971              :                 return -1;
   10972              :               return 7167; /* avx512f_sfixupimmv4sf_mask */
   10973              : 
   10974              :             case E_V2DFmode:
   10975              :               if (pattern1655 (x2, 
   10976              : E_V2DImode, 
   10977              : E_V2DFmode) != 0
   10978              :                   || !(
   10979              : #line 14538 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10980              : (TARGET_AVX512F) && 
   10981              : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10982              : (TARGET_SSE2)))
   10983              :                 return -1;
   10984              :               return 7169; /* avx512f_sfixupimmv2df_mask */
   10985              : 
   10986              :             default:
   10987              :               return -1;
   10988              :             }
   10989              : 
   10990              :         default:
   10991              :           return -1;
   10992              :         }
   10993              : 
   10994              :     default:
   10995              :       return -1;
   10996              :     }
   10997              : }
   10998              : 
   10999              :  int
   11000              : recog_164 (rtx x1 ATTRIBUTE_UNUSED,
   11001              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   11002              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   11003              : {
   11004              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   11005              :   rtx x2, x3, x4, x5, x6;
   11006              :   int res ATTRIBUTE_UNUSED;
   11007              :   x2 = XEXP (x1, 1);
   11008              :   x3 = XEXP (x2, 0);
   11009              :   x4 = XEXP (x3, 0);
   11010              :   x5 = XEXP (x4, 0);
   11011              :   operands[1] = x5;
   11012              :   switch (pattern650 (x2))
   11013              :     {
   11014              :     case 0:
   11015              :       if (pattern1396 (x2, 
   11016              : E_V32HFmode, 
   11017              : E_SImode) != 0
   11018              :           || !(
   11019              : #line 6498 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11020              : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && 1) && 
   11021              : #line 6276 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11022              : (TARGET_AVX512FP16)))
   11023              :         return -1;
   11024              :       return 4002; /* fma_fnmadd_v32hf_maskz_1 */
   11025              : 
   11026              :     case 1:
   11027              :       if (pattern1396 (x2, 
   11028              : E_V16HFmode, 
   11029              : E_HImode) != 0
   11030              :           || !(
   11031              : #line 6498 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11032              : (TARGET_AVX512F && (32 == 64 || TARGET_AVX512VL) && 1) && 
   11033              : #line 6277 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11034              : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
   11035              :         return -1;
   11036              :       return 4006; /* fma_fnmadd_v16hf_maskz_1 */
   11037              : 
   11038              :     case 2:
   11039              :       if (pattern1396 (x2, 
   11040              : E_V8HFmode, 
   11041              : E_QImode) != 0
   11042              :           || !(
   11043              : #line 6498 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11044              : (TARGET_AVX512F && (16 == 64 || TARGET_AVX512VL) && 1) && 
   11045              : #line 6278 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11046              : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
   11047              :         return -1;
   11048              :       return 4008; /* fma_fnmadd_v8hf_maskz_1 */
   11049              : 
   11050              :     case 3:
   11051              :       if (pattern1396 (x2, 
   11052              : E_V16SFmode, 
   11053              : E_HImode) != 0
   11054              :           || !
   11055              : #line 6498 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11056              : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && 1))
   11057              :         return -1;
   11058              :       return 4012; /* fma_fnmadd_v16sf_maskz_1 */
   11059              : 
   11060              :     case 4:
   11061              :       if (pattern1396 (x2, 
   11062              : E_V8SFmode, 
   11063              : E_QImode) != 0
   11064              :           || !(
   11065              : #line 6498 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11066              : (TARGET_AVX512F && (32 == 64 || TARGET_AVX512VL) && 1) && 
   11067              : #line 6280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11068              : (TARGET_AVX512VL)))
   11069              :         return -1;
   11070              :       return 4016; /* fma_fnmadd_v8sf_maskz_1 */
   11071              : 
   11072              :     case 5:
   11073              :       if (pattern1396 (x2, 
   11074              : E_V4SFmode, 
   11075              : E_QImode) != 0
   11076              :           || !(
   11077              : #line 6498 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11078              : (TARGET_AVX512F && (16 == 64 || TARGET_AVX512VL) && 1) && 
   11079              : #line 6280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11080              : (TARGET_AVX512VL)))
   11081              :         return -1;
   11082              :       return 4018; /* fma_fnmadd_v4sf_maskz_1 */
   11083              : 
   11084              :     case 6:
   11085              :       if (pattern1396 (x2, 
   11086              : E_V8DFmode, 
   11087              : E_QImode) != 0
   11088              :           || !
   11089              : #line 6498 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11090              : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && 1))
   11091              :         return -1;
   11092              :       return 4021; /* fma_fnmadd_v8df_maskz_1 */
   11093              : 
   11094              :     case 7:
   11095              :       if (pattern1396 (x2, 
   11096              : E_V4DFmode, 
   11097              : E_QImode) != 0
   11098              :           || !(
   11099              : #line 6498 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11100              : (TARGET_AVX512F && (32 == 64 || TARGET_AVX512VL) && 1) && 
   11101              : #line 6281 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11102              : (TARGET_AVX512VL)))
   11103              :         return -1;
   11104              :       return 4025; /* fma_fnmadd_v4df_maskz_1 */
   11105              : 
   11106              :     case 8:
   11107              :       if (pattern1396 (x2, 
   11108              : E_V2DFmode, 
   11109              : E_QImode) != 0
   11110              :           || !(
   11111              : #line 6498 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11112              : (TARGET_AVX512F && (16 == 64 || TARGET_AVX512VL) && 1) && 
   11113              : #line 6281 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11114              : (TARGET_AVX512VL)))
   11115              :         return -1;
   11116              :       return 4027; /* fma_fnmadd_v2df_maskz_1 */
   11117              : 
   11118              :     case 9:
   11119              :       if (pattern1397 (x2, 
   11120              : E_SImode, 
   11121              : E_V32BFmode) != 0
   11122              :           || !
   11123              : #line 32919 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11124              : (TARGET_AVX10_2))
   11125              :         return -1;
   11126              :       return 10714; /* avx10_2_fnmaddbf16_v32bf_maskz_1 */
   11127              : 
   11128              :     case 10:
   11129              :       if (pattern1397 (x2, 
   11130              : E_HImode, 
   11131              : E_V16BFmode) != 0
   11132              :           || !
   11133              : #line 32919 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11134              : (TARGET_AVX10_2))
   11135              :         return -1;
   11136              :       return 10716; /* avx10_2_fnmaddbf16_v16bf_maskz_1 */
   11137              : 
   11138              :     case 11:
   11139              :       if (pattern1397 (x2, 
   11140              : E_QImode, 
   11141              : E_V8BFmode) != 0
   11142              :           || !
   11143              : #line 32919 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11144              : (TARGET_AVX10_2))
   11145              :         return -1;
   11146              :       return 10718; /* avx10_2_fnmaddbf16_v8bf_maskz_1 */
   11147              : 
   11148              :     case 12:
   11149              :       if (pattern1398 (x2, 
   11150              : E_V4SFmode) != 0
   11151              :           || !
   11152              : #line 7334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11153              : (TARGET_FMA4))
   11154              :         return -1;
   11155              :       return 4357; /* *fma4i_vmfnmadd_v4sf */
   11156              : 
   11157              :     case 13:
   11158              :       if (pattern1398 (x2, 
   11159              : E_V2DFmode) != 0
   11160              :           || !(
   11161              : #line 7334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11162              : (TARGET_FMA4) && 
   11163              : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11164              : (TARGET_SSE2)))
   11165              :         return -1;
   11166              :       return 4358; /* *fma4i_vmfnmadd_v2df */
   11167              : 
   11168              :     case 14:
   11169              :       if (pattern1301 (x2, 
   11170              : E_V32HFmode, 
   11171              : E_SImode) != 0)
   11172              :         return -1;
   11173              :       if (nonimmediate_operand (operands[1], E_V32HFmode)
   11174              :           && vector_operand (operands[3], E_V32HFmode))
   11175              :         {
   11176              :           x6 = XEXP (x2, 1);
   11177              :           if (rtx_equal_p (x6, operands[1])
   11178              :               && (
   11179              : #line 6541 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11180              : (TARGET_AVX512F && 1) && 
   11181              : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11182              : (TARGET_AVX512FP16)))
   11183              :             return 4028; /* avx512bw_fnmadd_v32hf_mask */
   11184              :         }
   11185              :       if (!vector_operand (operands[1], E_V32HFmode)
   11186              :           || !nonimmediate_operand (operands[3], E_V32HFmode))
   11187              :         return -1;
   11188              :       x6 = XEXP (x2, 1);
   11189              :       if (!rtx_equal_p (x6, operands[3])
   11190              :           || !(
   11191              : #line 6559 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11192              : (TARGET_AVX512F && 1) && 
   11193              : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11194              : (TARGET_AVX512FP16)))
   11195              :         return -1;
   11196              :       return 4040; /* avx512bw_fnmadd_v32hf_mask3 */
   11197              : 
   11198              :     case 15:
   11199              :       if (pattern1301 (x2, 
   11200              : E_V16HFmode, 
   11201              : E_HImode) != 0)
   11202              :         return -1;
   11203              :       if (nonimmediate_operand (operands[1], E_V16HFmode)
   11204              :           && vector_operand (operands[3], E_V16HFmode))
   11205              :         {
   11206              :           x6 = XEXP (x2, 1);
   11207              :           if (rtx_equal_p (x6, operands[1])
   11208              :               && (
   11209              : #line 6541 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11210              : (TARGET_AVX512F && 1) && 
   11211              : #line 515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11212              : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
   11213              :             return 4030; /* avx512vl_fnmadd_v16hf_mask */
   11214              :         }
   11215              :       if (!vector_operand (operands[1], E_V16HFmode)
   11216              :           || !nonimmediate_operand (operands[3], E_V16HFmode))
   11217              :         return -1;
   11218              :       x6 = XEXP (x2, 1);
   11219              :       if (!rtx_equal_p (x6, operands[3])
   11220              :           || !(
   11221              : #line 6559 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11222              : (TARGET_AVX512F && 1) && 
   11223              : #line 515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11224              : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
   11225              :         return -1;
   11226              :       return 4042; /* avx512vl_fnmadd_v16hf_mask3 */
   11227              : 
   11228              :     case 16:
   11229              :       if (pattern1301 (x2, 
   11230              : E_V8HFmode, 
   11231              : E_QImode) != 0)
   11232              :         return -1;
   11233              :       if (nonimmediate_operand (operands[1], E_V8HFmode)
   11234              :           && vector_operand (operands[3], E_V8HFmode))
   11235              :         {
   11236              :           x6 = XEXP (x2, 1);
   11237              :           if (rtx_equal_p (x6, operands[1])
   11238              :               && (
   11239              : #line 6541 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11240              : (TARGET_AVX512F && 1) && 
   11241              : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11242              : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
   11243              :             return 4031; /* avx512fp16_fnmadd_v8hf_mask */
   11244              :         }
   11245              :       if (!vector_operand (operands[1], E_V8HFmode)
   11246              :           || !nonimmediate_operand (operands[3], E_V8HFmode))
   11247              :         return -1;
   11248              :       x6 = XEXP (x2, 1);
   11249              :       if (!rtx_equal_p (x6, operands[3])
   11250              :           || !(
   11251              : #line 6559 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11252              : (TARGET_AVX512F && 1) && 
   11253              : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11254              : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
   11255              :         return -1;
   11256              :       return 4043; /* avx512fp16_fnmadd_v8hf_mask3 */
   11257              : 
   11258              :     case 17:
   11259              :       if (pattern1301 (x2, 
   11260              : E_V16SFmode, 
   11261              : E_HImode) != 0)
   11262              :         return -1;
   11263              :       if (nonimmediate_operand (operands[1], E_V16SFmode)
   11264              :           && vector_operand (operands[3], E_V16SFmode))
   11265              :         {
   11266              :           x6 = XEXP (x2, 1);
   11267              :           if (rtx_equal_p (x6, operands[1])
   11268              :               && 
   11269              : #line 6541 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11270              : (TARGET_AVX512F && 1))
   11271              :             return 4032; /* avx512f_fnmadd_v16sf_mask */
   11272              :         }
   11273              :       if (!vector_operand (operands[1], E_V16SFmode)
   11274              :           || !nonimmediate_operand (operands[3], E_V16SFmode))
   11275              :         return -1;
   11276              :       x6 = XEXP (x2, 1);
   11277              :       if (!rtx_equal_p (x6, operands[3])
   11278              :           || !
   11279              : #line 6559 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11280              : (TARGET_AVX512F && 1))
   11281              :         return -1;
   11282              :       return 4044; /* avx512f_fnmadd_v16sf_mask3 */
   11283              : 
   11284              :     case 18:
   11285              :       if (pattern1301 (x2, 
   11286              : E_V8SFmode, 
   11287              : E_QImode) != 0)
   11288              :         return -1;
   11289              :       if (nonimmediate_operand (operands[1], E_V8SFmode)
   11290              :           && vector_operand (operands[3], E_V8SFmode))
   11291              :         {
   11292              :           x6 = XEXP (x2, 1);
   11293              :           if (rtx_equal_p (x6, operands[1])
   11294              :               && (
   11295              : #line 6541 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11296              : (TARGET_AVX512F && 1) && 
   11297              : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11298              : (TARGET_AVX512VL)))
   11299              :             return 4034; /* avx512vl_fnmadd_v8sf_mask */
   11300              :         }
   11301              :       if (!vector_operand (operands[1], E_V8SFmode)
   11302              :           || !nonimmediate_operand (operands[3], E_V8SFmode))
   11303              :         return -1;
   11304              :       x6 = XEXP (x2, 1);
   11305              :       if (!rtx_equal_p (x6, operands[3])
   11306              :           || !(
   11307              : #line 6559 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11308              : (TARGET_AVX512F && 1) && 
   11309              : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11310              : (TARGET_AVX512VL)))
   11311              :         return -1;
   11312              :       return 4046; /* avx512vl_fnmadd_v8sf_mask3 */
   11313              : 
   11314              :     case 19:
   11315              :       if (pattern1301 (x2, 
   11316              : E_V4SFmode, 
   11317              : E_QImode) != 0)
   11318              :         return -1;
   11319              :       if (nonimmediate_operand (operands[1], E_V4SFmode)
   11320              :           && vector_operand (operands[3], E_V4SFmode))
   11321              :         {
   11322              :           x6 = XEXP (x2, 1);
   11323              :           if (rtx_equal_p (x6, operands[1])
   11324              :               && (
   11325              : #line 6541 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11326              : (TARGET_AVX512F && 1) && 
   11327              : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11328              : (TARGET_AVX512VL)))
   11329              :             return 4035; /* avx512vl_fnmadd_v4sf_mask */
   11330              :         }
   11331              :       if (!vector_operand (operands[1], E_V4SFmode)
   11332              :           || !nonimmediate_operand (operands[3], E_V4SFmode))
   11333              :         return -1;
   11334              :       x6 = XEXP (x2, 1);
   11335              :       if (!rtx_equal_p (x6, operands[3])
   11336              :           || !(
   11337              : #line 6559 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11338              : (TARGET_AVX512F && 1) && 
   11339              : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11340              : (TARGET_AVX512VL)))
   11341              :         return -1;
   11342              :       return 4047; /* avx512vl_fnmadd_v4sf_mask3 */
   11343              : 
   11344              :     case 20:
   11345              :       if (pattern1301 (x2, 
   11346              : E_V8DFmode, 
   11347              : E_QImode) != 0)
   11348              :         return -1;
   11349              :       if (nonimmediate_operand (operands[1], E_V8DFmode)
   11350              :           && vector_operand (operands[3], E_V8DFmode))
   11351              :         {
   11352              :           x6 = XEXP (x2, 1);
   11353              :           if (rtx_equal_p (x6, operands[1])
   11354              :               && 
   11355              : #line 6541 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11356              : (TARGET_AVX512F && 1))
   11357              :             return 4036; /* avx512f_fnmadd_v8df_mask */
   11358              :         }
   11359              :       if (!vector_operand (operands[1], E_V8DFmode)
   11360              :           || !nonimmediate_operand (operands[3], E_V8DFmode))
   11361              :         return -1;
   11362              :       x6 = XEXP (x2, 1);
   11363              :       if (!rtx_equal_p (x6, operands[3])
   11364              :           || !
   11365              : #line 6559 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11366              : (TARGET_AVX512F && 1))
   11367              :         return -1;
   11368              :       return 4048; /* avx512f_fnmadd_v8df_mask3 */
   11369              : 
   11370              :     case 21:
   11371              :       if (pattern1301 (x2, 
   11372              : E_V4DFmode, 
   11373              : E_QImode) != 0)
   11374              :         return -1;
   11375              :       if (nonimmediate_operand (operands[1], E_V4DFmode)
   11376              :           && vector_operand (operands[3], E_V4DFmode))
   11377              :         {
   11378              :           x6 = XEXP (x2, 1);
   11379              :           if (rtx_equal_p (x6, operands[1])
   11380              :               && (
   11381              : #line 6541 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11382              : (TARGET_AVX512F && 1) && 
   11383              : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11384              : (TARGET_AVX512VL)))
   11385              :             return 4038; /* avx512vl_fnmadd_v4df_mask */
   11386              :         }
   11387              :       if (!vector_operand (operands[1], E_V4DFmode)
   11388              :           || !nonimmediate_operand (operands[3], E_V4DFmode))
   11389              :         return -1;
   11390              :       x6 = XEXP (x2, 1);
   11391              :       if (!rtx_equal_p (x6, operands[3])
   11392              :           || !(
   11393              : #line 6559 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11394              : (TARGET_AVX512F && 1) && 
   11395              : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11396              : (TARGET_AVX512VL)))
   11397              :         return -1;
   11398              :       return 4050; /* avx512vl_fnmadd_v4df_mask3 */
   11399              : 
   11400              :     case 22:
   11401              :       if (pattern1301 (x2, 
   11402              : E_V2DFmode, 
   11403              : E_QImode) != 0)
   11404              :         return -1;
   11405              :       if (nonimmediate_operand (operands[1], E_V2DFmode)
   11406              :           && vector_operand (operands[3], E_V2DFmode))
   11407              :         {
   11408              :           x6 = XEXP (x2, 1);
   11409              :           if (rtx_equal_p (x6, operands[1])
   11410              :               && (
   11411              : #line 6541 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11412              : (TARGET_AVX512F && 1) && 
   11413              : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11414              : (TARGET_AVX512VL)))
   11415              :             return 4039; /* avx512vl_fnmadd_v2df_mask */
   11416              :         }
   11417              :       if (!vector_operand (operands[1], E_V2DFmode)
   11418              :           || !nonimmediate_operand (operands[3], E_V2DFmode))
   11419              :         return -1;
   11420              :       x6 = XEXP (x2, 1);
   11421              :       if (!rtx_equal_p (x6, operands[3])
   11422              :           || !(
   11423              : #line 6559 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11424              : (TARGET_AVX512F && 1) && 
   11425              : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11426              : (TARGET_AVX512VL)))
   11427              :         return -1;
   11428              :       return 4051; /* avx512vl_fnmadd_v2df_mask3 */
   11429              : 
   11430              :     case 23:
   11431              :       if (pattern1302 (x2, 
   11432              : E_SImode, 
   11433              : E_V32BFmode) != 0)
   11434              :         return -1;
   11435              :       x6 = XEXP (x2, 1);
   11436              :       if (rtx_equal_p (x6, operands[1])
   11437              :           && 
   11438              : #line 32938 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11439              : (TARGET_AVX10_2))
   11440              :         return 10719; /* avx10_2_fnmaddbf16_v32bf_mask */
   11441              :       if (!rtx_equal_p (x6, operands[3])
   11442              :           || !
   11443              : #line 32956 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11444              : (TARGET_AVX10_2))
   11445              :         return -1;
   11446              :       return 10722; /* avx10_2_fnmaddbf16_v32bf_mask3 */
   11447              : 
   11448              :     case 24:
   11449              :       if (pattern1302 (x2, 
   11450              : E_HImode, 
   11451              : E_V16BFmode) != 0)
   11452              :         return -1;
   11453              :       x6 = XEXP (x2, 1);
   11454              :       if (rtx_equal_p (x6, operands[1])
   11455              :           && 
   11456              : #line 32938 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11457              : (TARGET_AVX10_2))
   11458              :         return 10720; /* avx10_2_fnmaddbf16_v16bf_mask */
   11459              :       if (!rtx_equal_p (x6, operands[3])
   11460              :           || !
   11461              : #line 32956 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11462              : (TARGET_AVX10_2))
   11463              :         return -1;
   11464              :       return 10723; /* avx10_2_fnmaddbf16_v16bf_mask3 */
   11465              : 
   11466              :     case 25:
   11467              :       if (pattern1302 (x2, 
   11468              : E_QImode, 
   11469              : E_V8BFmode) != 0)
   11470              :         return -1;
   11471              :       x6 = XEXP (x2, 1);
   11472              :       if (rtx_equal_p (x6, operands[1])
   11473              :           && 
   11474              : #line 32938 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11475              : (TARGET_AVX10_2))
   11476              :         return 10721; /* avx10_2_fnmaddbf16_v8bf_mask */
   11477              :       if (!rtx_equal_p (x6, operands[3])
   11478              :           || !
   11479              : #line 32956 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11480              : (TARGET_AVX10_2))
   11481              :         return -1;
   11482              :       return 10724; /* avx10_2_fnmaddbf16_v8bf_mask3 */
   11483              : 
   11484              :     case 26:
   11485              :       if (pattern1399 (x2, 
   11486              : E_V8HFmode) != 0
   11487              :           || !(
   11488              : #line 6979 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11489              : (TARGET_FMA || TARGET_AVX512F) && 
   11490              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11491              : (TARGET_AVX512FP16)))
   11492              :         return -1;
   11493              :       return 4269; /* *fmai_fnmadd_v8hf */
   11494              : 
   11495              :     case 27:
   11496              :       if (pattern1399 (x2, 
   11497              : E_V4SFmode) != 0
   11498              :           || !
   11499              : #line 6979 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11500              : (TARGET_FMA || TARGET_AVX512F))
   11501              :         return -1;
   11502              :       return 4271; /* *fmai_fnmadd_v4sf */
   11503              : 
   11504              :     case 28:
   11505              :       if (pattern1399 (x2, 
   11506              : E_V2DFmode) != 0
   11507              :           || !(
   11508              : #line 6979 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11509              : (TARGET_FMA || TARGET_AVX512F) && 
   11510              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11511              : (TARGET_SSE2)))
   11512              :         return -1;
   11513              :       return 4273; /* *fmai_fnmadd_v2df */
   11514              : 
   11515              :     case 29:
   11516              :       return recog_163 (x1, insn, pnum_clobbers);
   11517              : 
   11518              :     default:
   11519              :       return -1;
   11520              :     }
   11521              : }
   11522              : 
   11523              :  int
   11524              : recog_168 (rtx x1 ATTRIBUTE_UNUSED,
   11525              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   11526              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   11527              : {
   11528              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   11529              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   11530              :   rtx x10;
   11531              :   int res ATTRIBUTE_UNUSED;
   11532              :   x2 = XEXP (x1, 1);
   11533              :   x3 = XEXP (x2, 0);
   11534              :   x4 = XEXP (x3, 0);
   11535              :   x5 = XEXP (x4, 1);
   11536              :   operands[2] = x5;
   11537              :   x6 = XEXP (x2, 1);
   11538              :   operands[3] = x6;
   11539              :   x7 = XEXP (x2, 2);
   11540              :   operands[4] = x7;
   11541              :   if (!register_operand (operands[4], E_QImode))
   11542              :     return -1;
   11543              :   x8 = XEXP (x3, 1);
   11544              :   x9 = XVECEXP (x8, 0, 0);
   11545              :   switch (XWINT (x9, 0))
   11546              :     {
   11547              :     case 1L:
   11548              :       x10 = XVECEXP (x8, 0, 1);
   11549              :       if (XWINT (x10, 0) != 3L)
   11550              :         return -1;
   11551              :       switch (GET_MODE (operands[0]))
   11552              :         {
   11553              :         case E_V2DFmode:
   11554              :           if (pattern1593 (x2, 
   11555              : E_V2DFmode, 
   11556              : E_V4DFmode) != 0
   11557              :               || !
   11558              : #line 13709 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11559              : (TARGET_AVX512VL))
   11560              :             return -1;
   11561              :           return 5417; /* avx512vl_unpckhpd128_mask */
   11562              : 
   11563              :         case E_V2DImode:
   11564              :           if (pattern1594 (x2, 
   11565              : E_V2DImode, 
   11566              : E_V4DImode) != 0
   11567              :               || !(
   11568              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11569              : (TARGET_AVX512F) && 
   11570              : #line 14820 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11571              : (TARGET_SSE2 && TARGET_AVX512VL)))
   11572              :             return -1;
   11573              :           return 7237; /* vec_interleave_highv2di_mask */
   11574              : 
   11575              :         default:
   11576              :           return -1;
   11577              :         }
   11578              : 
   11579              :     case 0L:
   11580              :       x10 = XVECEXP (x8, 0, 1);
   11581              :       if (XWINT (x10, 0) != 2L)
   11582              :         return -1;
   11583              :       switch (GET_MODE (operands[0]))
   11584              :         {
   11585              :         case E_V2DFmode:
   11586              :           if (pattern1593 (x2, 
   11587              : E_V2DFmode, 
   11588              : E_V4DFmode) != 0
   11589              :               || !
   11590              : #line 13852 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11591              : (TARGET_AVX512VL))
   11592              :             return -1;
   11593              :           return 5427; /* avx512vl_unpcklpd128_mask */
   11594              : 
   11595              :         case E_V2DImode:
   11596              :           if (pattern1594 (x2, 
   11597              : E_V2DImode, 
   11598              : E_V4DImode) != 0
   11599              :               || !(
   11600              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11601              : (TARGET_AVX512F) && 
   11602              : #line 14870 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11603              : (TARGET_SSE2 && TARGET_AVX512VL)))
   11604              :             return -1;
   11605              :           return 7243; /* vec_interleave_lowv2di_mask */
   11606              : 
   11607              :         default:
   11608              :           return -1;
   11609              :         }
   11610              : 
   11611              :     default:
   11612              :       return -1;
   11613              :     }
   11614              : }
   11615              : 
   11616              :  int
   11617              : recog_171 (rtx x1 ATTRIBUTE_UNUSED,
   11618              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   11619              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   11620              : {
   11621              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   11622              :   rtx x2, x3, x4, x5, x6, x7, x8;
   11623              :   int res ATTRIBUTE_UNUSED;
   11624              :   x2 = XEXP (x1, 1);
   11625              :   x3 = XEXP (x2, 0);
   11626              :   x4 = XEXP (x3, 1);
   11627              :   x5 = XVECEXP (x4, 0, 0);
   11628              :   if (GET_CODE (x5) != CONST_INT)
   11629              :     return -1;
   11630              :   operands[2] = x5;
   11631              :   if (const_0_to_7_operand (operands[2], E_VOIDmode))
   11632              :     {
   11633              :       x6 = XVECEXP (x4, 0, 1);
   11634              :       operands[3] = x6;
   11635              :       if (const_0_to_7_operand (operands[3], E_VOIDmode))
   11636              :         {
   11637              :           x7 = XEXP (x2, 1);
   11638              :           operands[4] = x7;
   11639              :           x8 = XEXP (x2, 2);
   11640              :           operands[5] = x8;
   11641              :           if (register_operand (operands[5], E_QImode))
   11642              :             {
   11643              :               switch (GET_MODE (operands[0]))
   11644              :                 {
   11645              :                 case E_V2DFmode:
   11646              :                   if (pattern1556 (x2, 
   11647              : E_V2DFmode, 
   11648              : E_V8DFmode) == 0
   11649              :                       && 
   11650              : #line 12762 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11651              : (TARGET_AVX512DQ
   11652              :    && INTVAL (operands[2]) % 2 == 0
   11653              :    && INTVAL (operands[2]) == INTVAL (operands[3]) - 1
   11654              :    && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[4]))))
   11655              :                     return 5349; /* avx512dq_vextractf64x2_1_mask */
   11656              :                   break;
   11657              : 
   11658              :                 case E_V2DImode:
   11659              :                   if (pattern1556 (x2, 
   11660              : E_V2DImode, 
   11661              : E_V8DImode) == 0
   11662              :                       && 
   11663              : #line 12762 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11664              : (TARGET_AVX512DQ
   11665              :    && INTVAL (operands[2]) % 2 == 0
   11666              :    && INTVAL (operands[2]) == INTVAL (operands[3]) - 1
   11667              :    && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[4]))))
   11668              :                     return 5350; /* avx512dq_vextracti64x2_1_mask */
   11669              :                   break;
   11670              : 
   11671              :                 default:
   11672              :                   break;
   11673              :                 }
   11674              :             }
   11675              :         }
   11676              :     }
   11677              :   x6 = XVECEXP (x4, 0, 1);
   11678              :   if (GET_CODE (x6) != CONST_INT)
   11679              :     return -1;
   11680              :   x7 = XEXP (x2, 1);
   11681              :   operands[2] = x7;
   11682              :   x8 = XEXP (x2, 2);
   11683              :   operands[3] = x8;
   11684              :   if (!register_operand (operands[3], E_QImode))
   11685              :     return -1;
   11686              :   switch (XWINT (x5, 0))
   11687              :     {
   11688              :     case 0L:
   11689              :       if (XWINT (x6, 0) != 1L)
   11690              :         return -1;
   11691              :       switch (GET_MODE (operands[0]))
   11692              :         {
   11693              :         case E_V2DImode:
   11694              :           if (!nonimmediate_operand (operands[0], E_V2DImode)
   11695              :               || pattern1557 (x2, 
   11696              : E_V2DImode, 
   11697              : E_V4DImode) != 0
   11698              :               || !
   11699              : #line 13190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11700              : (TARGET_AVX512DQ
   11701              :    && TARGET_AVX512VL
   11702              :    && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[2]))))
   11703              :             return -1;
   11704              :           return 5373; /* vec_extract_lo_v4di_mask */
   11705              : 
   11706              :         case E_V2DFmode:
   11707              :           if (!nonimmediate_operand (operands[0], E_V2DFmode)
   11708              :               || pattern1557 (x2, 
   11709              : E_V2DFmode, 
   11710              : E_V4DFmode) != 0
   11711              :               || !
   11712              : #line 13190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11713              : (TARGET_AVX512DQ
   11714              :    && TARGET_AVX512VL
   11715              :    && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[2]))))
   11716              :             return -1;
   11717              :           return 5374; /* vec_extract_lo_v4df_mask */
   11718              : 
   11719              :         default:
   11720              :           return -1;
   11721              :         }
   11722              : 
   11723              :     case 2L:
   11724              :       if (XWINT (x6, 0) != 3L)
   11725              :         return -1;
   11726              :       switch (GET_MODE (operands[0]))
   11727              :         {
   11728              :         case E_V2DImode:
   11729              :           if (!nonimmediate_operand (operands[0], E_V2DImode)
   11730              :               || pattern1557 (x2, 
   11731              : E_V2DImode, 
   11732              : E_V4DImode) != 0
   11733              :               || !
   11734              : #line 13227 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11735              : (TARGET_AVX512DQ
   11736              :    && TARGET_AVX512VL
   11737              :    && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[2]))))
   11738              :             return -1;
   11739              :           return 5377; /* vec_extract_hi_v4di_mask */
   11740              : 
   11741              :         case E_V2DFmode:
   11742              :           if (!nonimmediate_operand (operands[0], E_V2DFmode)
   11743              :               || pattern1557 (x2, 
   11744              : E_V2DFmode, 
   11745              : E_V4DFmode) != 0
   11746              :               || !
   11747              : #line 13227 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11748              : (TARGET_AVX512DQ
   11749              :    && TARGET_AVX512VL
   11750              :    && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[2]))))
   11751              :             return -1;
   11752              :           return 5378; /* vec_extract_hi_v4df_mask */
   11753              : 
   11754              :         default:
   11755              :           return -1;
   11756              :         }
   11757              : 
   11758              :     default:
   11759              :       return -1;
   11760              :     }
   11761              : }
   11762              : 
   11763              :  int
   11764              : recog_176 (rtx x1 ATTRIBUTE_UNUSED,
   11765              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   11766              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   11767              : {
   11768              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   11769              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   11770              :   rtx x10;
   11771              :   int res ATTRIBUTE_UNUSED;
   11772              :   x2 = XEXP (x1, 1);
   11773              :   x3 = XEXP (x2, 0);
   11774              :   x4 = XEXP (x3, 1);
   11775              :   x5 = XVECEXP (x4, 0, 4);
   11776              :   if (GET_CODE (x5) != CONST_INT)
   11777              :     return -1;
   11778              :   operands[6] = x5;
   11779              :   res = recog_175 (x1, insn, pnum_clobbers);
   11780              :   if (res >= 0)
   11781              :     return res;
   11782              :   if (XWINT (x5, 0) != 4L)
   11783              :     return -1;
   11784              :   x6 = XVECEXP (x4, 0, 5);
   11785              :   if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
   11786              :     return -1;
   11787              :   x7 = XVECEXP (x4, 0, 6);
   11788              :   if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
   11789              :     return -1;
   11790              :   x8 = XVECEXP (x4, 0, 7);
   11791              :   if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
   11792              :       || pattern1306 (x2, 
   11793              : E_V8HImode) != 0
   11794              :       || pattern1022 (x4) != 0)
   11795              :     return -1;
   11796              :   x9 = XEXP (x2, 1);
   11797              :   operands[6] = x9;
   11798              :   if (!nonimm_or_0_operand (operands[6], E_V8HImode))
   11799              :     return -1;
   11800              :   x10 = XEXP (x2, 2);
   11801              :   operands[7] = x10;
   11802              :   if (!register_operand (operands[7], E_QImode)
   11803              :       || !(
   11804              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11805              : (TARGET_AVX512F) && 
   11806              : #line 21186 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11807              : (TARGET_SSE2 && TARGET_AVX512BW && TARGET_AVX512VL)))
   11808              :     return -1;
   11809              :   return 8492; /* sse2_pshuflw_1_mask */
   11810              : }
   11811              : 
   11812              :  int
   11813              : recog_180 (rtx x1 ATTRIBUTE_UNUSED,
   11814              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   11815              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   11816              : {
   11817              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   11818              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   11819              :   rtx x10, x11, x12, x13, x14;
   11820              :   int res ATTRIBUTE_UNUSED;
   11821              :   x2 = XEXP (x1, 1);
   11822              :   x3 = XEXP (x2, 0);
   11823              :   x4 = XEXP (x3, 1);
   11824              :   x5 = XVECEXP (x4, 0, 0);
   11825              :   if (GET_CODE (x5) != CONST_INT)
   11826              :     return -1;
   11827              :   operands[2] = x5;
   11828              :   res = recog_179 (x1, insn, pnum_clobbers);
   11829              :   if (res >= 0)
   11830              :     return res;
   11831              :   if (XWINT (x5, 0) != 0L)
   11832              :     return -1;
   11833              :   x6 = XVECEXP (x4, 0, 1);
   11834              :   if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   11835              :     return -1;
   11836              :   x7 = XVECEXP (x4, 0, 2);
   11837              :   if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
   11838              :     return -1;
   11839              :   x8 = XVECEXP (x4, 0, 3);
   11840              :   if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 3]
   11841              :       || pattern1307 (x4, 
   11842              : 11, 
   11843              : 10, 
   11844              : 9, 
   11845              : 8) != 0
   11846              :       || pattern762 (x2, 
   11847              : E_V16HImode) != 0
   11848              :       || pattern1558 (x4) != 0)
   11849              :     return -1;
   11850              :   x9 = XVECEXP (x4, 0, 12);
   11851              :   operands[6] = x9;
   11852              :   if (!const_12_to_15_operand (operands[6], E_VOIDmode))
   11853              :     return -1;
   11854              :   x10 = XVECEXP (x4, 0, 13);
   11855              :   operands[7] = x10;
   11856              :   if (!const_12_to_15_operand (operands[7], E_VOIDmode))
   11857              :     return -1;
   11858              :   x11 = XVECEXP (x4, 0, 14);
   11859              :   operands[8] = x11;
   11860              :   if (!const_12_to_15_operand (operands[8], E_VOIDmode))
   11861              :     return -1;
   11862              :   x12 = XVECEXP (x4, 0, 15);
   11863              :   operands[9] = x12;
   11864              :   if (!const_12_to_15_operand (operands[9], E_VOIDmode))
   11865              :     return -1;
   11866              :   x13 = XEXP (x2, 1);
   11867              :   operands[10] = x13;
   11868              :   if (!nonimm_or_0_operand (operands[10], E_V16HImode))
   11869              :     return -1;
   11870              :   x14 = XEXP (x2, 2);
   11871              :   operands[11] = x14;
   11872              :   if (!register_operand (operands[11], E_HImode)
   11873              :       || !(
   11874              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11875              : (TARGET_AVX512F) && 
   11876              : #line 21277 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11877              : (TARGET_AVX2
   11878              :    && TARGET_AVX512BW && TARGET_AVX512VL
   11879              :    && INTVAL (operands[2]) + 8 == INTVAL (operands[6])
   11880              :    && INTVAL (operands[3]) + 8 == INTVAL (operands[7])
   11881              :    && INTVAL (operands[4]) + 8 == INTVAL (operands[8])
   11882              :    && INTVAL (operands[5]) + 8 == INTVAL (operands[9]))))
   11883              :     return -1;
   11884              :   return 8496; /* avx2_pshufhw_1_mask */
   11885              : }
   11886              : 
   11887              :  int
   11888              : recog_187 (rtx x1 ATTRIBUTE_UNUSED,
   11889              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   11890              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   11891              : {
   11892              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   11893              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   11894              :   rtx x10, x11, x12, x13, x14, x15, x16, x17;
   11895              :   rtx x18, x19, x20, x21, x22;
   11896              :   int res ATTRIBUTE_UNUSED;
   11897              :   x2 = XEXP (x1, 1);
   11898              :   x3 = XEXP (x2, 0);
   11899              :   x4 = XEXP (x3, 0);
   11900              :   switch (GET_CODE (x4))
   11901              :     {
   11902              :     case SS_TRUNCATE:
   11903              :       x5 = XEXP (x3, 1);
   11904              :       if (GET_CODE (x5) != SS_TRUNCATE)
   11905              :         return -1;
   11906              :       x6 = XEXP (x4, 0);
   11907              :       operands[1] = x6;
   11908              :       x7 = XEXP (x5, 0);
   11909              :       operands[2] = x7;
   11910              :       x8 = XEXP (x2, 1);
   11911              :       operands[3] = x8;
   11912              :       x9 = XEXP (x2, 2);
   11913              :       operands[4] = x9;
   11914              :       switch (GET_MODE (operands[0]))
   11915              :         {
   11916              :         case E_V16QImode:
   11917              :           if (pattern1135 (x2, 
   11918              : E_HImode, 
   11919              : E_V16QImode, 
   11920              : E_V8HImode, 
   11921              : E_V8QImode) != 0
   11922              :               || !(
   11923              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11924              : (TARGET_AVX512F) && 
   11925              : #line 19550 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11926              : (TARGET_SSE2 && TARGET_AVX512VL && TARGET_AVX512BW)))
   11927              :             return -1;
   11928              :           return 8346; /* sse2_packsswb_mask */
   11929              : 
   11930              :         case E_V8HImode:
   11931              :           if (pattern1135 (x2, 
   11932              : E_QImode, 
   11933              : E_V8HImode, 
   11934              : E_V4SImode, 
   11935              : E_V4HImode) != 0
   11936              :               || !(
   11937              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11938              : (TARGET_AVX512F) && 
   11939              : #line 19644 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11940              : (TARGET_SSE2 && TARGET_AVX512VL && TARGET_AVX512BW)))
   11941              :             return -1;
   11942              :           return 8352; /* sse2_packssdw_mask */
   11943              : 
   11944              :         default:
   11945              :           return -1;
   11946              :         }
   11947              : 
   11948              :     case REG:
   11949              :     case SUBREG:
   11950              :     case MEM:
   11951              :       operands[2] = x4;
   11952              :       x5 = XEXP (x3, 1);
   11953              :       if (GET_CODE (x5) != VEC_SELECT)
   11954              :         return -1;
   11955              :       x10 = XEXP (x5, 1);
   11956              :       if (GET_CODE (x10) != PARALLEL)
   11957              :         return -1;
   11958              :       x7 = XEXP (x5, 0);
   11959              :       operands[1] = x7;
   11960              :       x8 = XEXP (x2, 1);
   11961              :       operands[3] = x8;
   11962              :       x9 = XEXP (x2, 2);
   11963              :       operands[4] = x9;
   11964              :       switch (XVECLEN (x10, 0))
   11965              :         {
   11966              :         case 8:
   11967              :           x11 = XVECEXP (x10, 0, 0);
   11968              :           if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
   11969              :             return -1;
   11970              :           x12 = XVECEXP (x10, 0, 1);
   11971              :           if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 9])
   11972              :             return -1;
   11973              :           x13 = XVECEXP (x10, 0, 2);
   11974              :           if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 10]
   11975              :               || pattern1424 (x10, 
   11976              : 15, 
   11977              : 14, 
   11978              : 13, 
   11979              : 12, 
   11980              : 11) != 0
   11981              :               || !register_operand (operands[4], E_HImode))
   11982              :             return -1;
   11983              :           switch (GET_MODE (operands[0]))
   11984              :             {
   11985              :             case E_V16SFmode:
   11986              :               if (pattern1527 (x2, 
   11987              : E_V16SFmode, 
   11988              : E_V8SFmode) != 0
   11989              :                   || !(
   11990              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11991              : (TARGET_AVX512F) && 
   11992              : #line 20433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11993              : (TARGET_AVX512DQ)))
   11994              :                 return -1;
   11995              :               return 8442; /* vec_set_lo_v16sf_mask */
   11996              : 
   11997              :             case E_V16SImode:
   11998              :               if (pattern1527 (x2, 
   11999              : E_V16SImode, 
   12000              : E_V8SImode) != 0
   12001              :                   || !(
   12002              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12003              : (TARGET_AVX512F) && 
   12004              : #line 20433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12005              : (TARGET_AVX512DQ)))
   12006              :                 return -1;
   12007              :               return 8444; /* vec_set_lo_v16si_mask */
   12008              : 
   12009              :             default:
   12010              :               return -1;
   12011              :             }
   12012              : 
   12013              :         case 4:
   12014              :           if (pattern1227 (x10, 
   12015              : 7, 
   12016              : 6, 
   12017              : 5, 
   12018              : 4) != 0
   12019              :               || !register_operand (operands[4], E_QImode))
   12020              :             return -1;
   12021              :           switch (GET_MODE (operands[0]))
   12022              :             {
   12023              :             case E_V8DFmode:
   12024              :               if (pattern1527 (x2, 
   12025              : E_V8DFmode, 
   12026              : E_V4DFmode) != 0
   12027              :                   || !
   12028              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12029              : (TARGET_AVX512F))
   12030              :                 return -1;
   12031              :               return 8450; /* vec_set_lo_v8df_mask */
   12032              : 
   12033              :             case E_V8DImode:
   12034              :               if (pattern1527 (x2, 
   12035              : E_V8DImode, 
   12036              : E_V4DImode) != 0
   12037              :                   || !
   12038              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12039              : (TARGET_AVX512F))
   12040              :                 return -1;
   12041              :               return 8452; /* vec_set_lo_v8di_mask */
   12042              : 
   12043              :             case E_V8SImode:
   12044              :               if (pattern1527 (x2, 
   12045              : E_V8SImode, 
   12046              : E_V4SImode) != 0
   12047              :                   || !(
   12048              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12049              : (TARGET_AVX512F) && 
   12050              : #line 29184 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12051              : (TARGET_AVX)))
   12052              :                 return -1;
   12053              :               return 9544; /* vec_set_lo_v8si_mask */
   12054              : 
   12055              :             case E_V8SFmode:
   12056              :               if (pattern1527 (x2, 
   12057              : E_V8SFmode, 
   12058              : E_V4SFmode) != 0
   12059              :                   || !(
   12060              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12061              : (TARGET_AVX512F) && 
   12062              : #line 29184 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12063              : (TARGET_AVX)))
   12064              :                 return -1;
   12065              :               return 9546; /* vec_set_lo_v8sf_mask */
   12066              : 
   12067              :             default:
   12068              :               return -1;
   12069              :             }
   12070              : 
   12071              :         case 2:
   12072              :           x11 = XVECEXP (x10, 0, 0);
   12073              :           if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
   12074              :             return -1;
   12075              :           x12 = XVECEXP (x10, 0, 1);
   12076              :           if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 3]
   12077              :               || !register_operand (operands[4], E_QImode))
   12078              :             return -1;
   12079              :           switch (GET_MODE (operands[0]))
   12080              :             {
   12081              :             case E_V4DImode:
   12082              :               if (pattern1527 (x2, 
   12083              : E_V4DImode, 
   12084              : E_V2DImode) != 0
   12085              :                   || !(
   12086              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12087              : (TARGET_AVX512F) && 
   12088              : #line 29135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12089              : (TARGET_AVX && TARGET_AVX512DQ)))
   12090              :                 return -1;
   12091              :               return 9536; /* vec_set_lo_v4di_mask */
   12092              : 
   12093              :             case E_V4DFmode:
   12094              :               if (pattern1527 (x2, 
   12095              : E_V4DFmode, 
   12096              : E_V2DFmode) != 0
   12097              :                   || !(
   12098              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12099              : (TARGET_AVX512F) && 
   12100              : #line 29135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12101              : (TARGET_AVX && TARGET_AVX512DQ)))
   12102              :                 return -1;
   12103              :               return 9538; /* vec_set_lo_v4df_mask */
   12104              : 
   12105              :             default:
   12106              :               return -1;
   12107              :             }
   12108              : 
   12109              :         default:
   12110              :           return -1;
   12111              :         }
   12112              : 
   12113              :     case VEC_SELECT:
   12114              :       x14 = XEXP (x4, 1);
   12115              :       if (GET_CODE (x14) != PARALLEL)
   12116              :         return -1;
   12117              :       x6 = XEXP (x4, 0);
   12118              :       operands[1] = x6;
   12119              :       x5 = XEXP (x3, 1);
   12120              :       operands[2] = x5;
   12121              :       x8 = XEXP (x2, 1);
   12122              :       operands[3] = x8;
   12123              :       x9 = XEXP (x2, 2);
   12124              :       operands[4] = x9;
   12125              :       switch (XVECLEN (x14, 0))
   12126              :         {
   12127              :         case 8:
   12128              :           if (pattern651 (x14) != 0)
   12129              :             return -1;
   12130              :           x15 = XVECEXP (x14, 0, 4);
   12131              :           if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
   12132              :             return -1;
   12133              :           x16 = XVECEXP (x14, 0, 5);
   12134              :           if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
   12135              :             return -1;
   12136              :           x17 = XVECEXP (x14, 0, 6);
   12137              :           if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
   12138              :             return -1;
   12139              :           x18 = XVECEXP (x14, 0, 7);
   12140              :           if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
   12141              :               || !register_operand (operands[4], E_HImode))
   12142              :             return -1;
   12143              :           switch (GET_MODE (operands[0]))
   12144              :             {
   12145              :             case E_V16SFmode:
   12146              :               if (pattern1483 (x2, 
   12147              : E_V16SFmode, 
   12148              : E_V8SFmode) != 0
   12149              :                   || !(
   12150              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12151              : (TARGET_AVX512F) && 
   12152              : #line 20450 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12153              : (TARGET_AVX512DQ)))
   12154              :                 return -1;
   12155              :               return 8446; /* vec_set_hi_v16sf_mask */
   12156              : 
   12157              :             case E_V16SImode:
   12158              :               if (pattern1483 (x2, 
   12159              : E_V16SImode, 
   12160              : E_V8SImode) != 0
   12161              :                   || !(
   12162              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12163              : (TARGET_AVX512F) && 
   12164              : #line 20450 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12165              : (TARGET_AVX512DQ)))
   12166              :                 return -1;
   12167              :               return 8448; /* vec_set_hi_v16si_mask */
   12168              : 
   12169              :             default:
   12170              :               return -1;
   12171              :             }
   12172              : 
   12173              :         case 4:
   12174              :           if (pattern651 (x14) != 0
   12175              :               || !register_operand (operands[4], E_QImode))
   12176              :             return -1;
   12177              :           switch (GET_MODE (operands[0]))
   12178              :             {
   12179              :             case E_V8DFmode:
   12180              :               if (pattern1483 (x2, 
   12181              : E_V8DFmode, 
   12182              : E_V4DFmode) != 0
   12183              :                   || !
   12184              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12185              : (TARGET_AVX512F))
   12186              :                 return -1;
   12187              :               return 8454; /* vec_set_hi_v8df_mask */
   12188              : 
   12189              :             case E_V8DImode:
   12190              :               if (pattern1483 (x2, 
   12191              : E_V8DImode, 
   12192              : E_V4DImode) != 0
   12193              :                   || !
   12194              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12195              : (TARGET_AVX512F))
   12196              :                 return -1;
   12197              :               return 8456; /* vec_set_hi_v8di_mask */
   12198              : 
   12199              :             case E_V8SImode:
   12200              :               if (pattern1483 (x2, 
   12201              : E_V8SImode, 
   12202              : E_V4SImode) != 0
   12203              :                   || !(
   12204              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12205              : (TARGET_AVX512F) && 
   12206              : #line 29207 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12207              : (TARGET_AVX)))
   12208              :                 return -1;
   12209              :               return 9548; /* vec_set_hi_v8si_mask */
   12210              : 
   12211              :             case E_V8SFmode:
   12212              :               if (pattern1483 (x2, 
   12213              : E_V8SFmode, 
   12214              : E_V4SFmode) != 0
   12215              :                   || !(
   12216              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12217              : (TARGET_AVX512F) && 
   12218              : #line 29207 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12219              : (TARGET_AVX)))
   12220              :                 return -1;
   12221              :               return 9550; /* vec_set_hi_v8sf_mask */
   12222              : 
   12223              :             default:
   12224              :               return -1;
   12225              :             }
   12226              : 
   12227              :         case 2:
   12228              :           x19 = XVECEXP (x14, 0, 0);
   12229              :           if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   12230              :             return -1;
   12231              :           x20 = XVECEXP (x14, 0, 1);
   12232              :           if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
   12233              :               || !register_operand (operands[4], E_QImode))
   12234              :             return -1;
   12235              :           switch (GET_MODE (operands[0]))
   12236              :             {
   12237              :             case E_V4DImode:
   12238              :               if (pattern1483 (x2, 
   12239              : E_V4DImode, 
   12240              : E_V2DImode) != 0
   12241              :                   || !(
   12242              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12243              : (TARGET_AVX512F) && 
   12244              : #line 29159 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12245              : (TARGET_AVX && TARGET_AVX512DQ)))
   12246              :                 return -1;
   12247              :               return 9540; /* vec_set_hi_v4di_mask */
   12248              : 
   12249              :             case E_V4DFmode:
   12250              :               if (pattern1483 (x2, 
   12251              : E_V4DFmode, 
   12252              : E_V2DFmode) != 0
   12253              :                   || !(
   12254              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12255              : (TARGET_AVX512F) && 
   12256              : #line 29159 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12257              : (TARGET_AVX && TARGET_AVX512DQ)))
   12258              :                 return -1;
   12259              :               return 9542; /* vec_set_hi_v4df_mask */
   12260              : 
   12261              :             default:
   12262              :               return -1;
   12263              :             }
   12264              : 
   12265              :         default:
   12266              :           return -1;
   12267              :         }
   12268              : 
   12269              :     case UNSPEC:
   12270              :       if (XVECLEN (x4, 0) != 2
   12271              :           || XINT (x4, 1) != 151
   12272              :           || GET_MODE (x4) != E_V4HImode
   12273              :           || !register_operand (operands[0], E_V8HImode)
   12274              :           || GET_MODE (x2) != E_V8HImode
   12275              :           || GET_MODE (x3) != E_V8HImode)
   12276              :         return -1;
   12277              :       x21 = XVECEXP (x4, 0, 0);
   12278              :       operands[1] = x21;
   12279              :       if (!register_operand (operands[1], E_V4SFmode))
   12280              :         return -1;
   12281              :       x22 = XVECEXP (x4, 0, 1);
   12282              :       operands[2] = x22;
   12283              :       if (!const_0_to_255_operand (operands[2], E_SImode))
   12284              :         return -1;
   12285              :       x5 = XEXP (x3, 1);
   12286              :       operands[3] = x5;
   12287              :       if (!const0_operand (operands[3], E_V4HImode))
   12288              :         return -1;
   12289              :       x8 = XEXP (x2, 1);
   12290              :       operands[4] = x8;
   12291              :       if (!nonimm_or_0_operand (operands[4], E_V8HImode))
   12292              :         return -1;
   12293              :       x9 = XEXP (x2, 2);
   12294              :       operands[5] = x9;
   12295              :       if (!register_operand (operands[5], E_QImode)
   12296              :           || !(
   12297              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12298              : (TARGET_AVX512F) && 
   12299              : #line 29846 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12300              : ((TARGET_F16C || TARGET_AVX512VL) && TARGET_AVX512VL)))
   12301              :         return -1;
   12302              :       return 9731; /* *vcvtps2ph_mask */
   12303              : 
   12304              :     case FLOAT_TRUNCATE:
   12305              :       x5 = XEXP (x3, 1);
   12306              :       if (GET_CODE (x5) != FLOAT_TRUNCATE)
   12307              :         return -1;
   12308              :       x6 = XEXP (x4, 0);
   12309              :       operands[2] = x6;
   12310              :       x7 = XEXP (x5, 0);
   12311              :       operands[1] = x7;
   12312              :       x8 = XEXP (x2, 1);
   12313              :       operands[3] = x8;
   12314              :       x9 = XEXP (x2, 2);
   12315              :       operands[4] = x9;
   12316              :       switch (GET_MODE (operands[0]))
   12317              :         {
   12318              :         case E_V32BFmode:
   12319              :           if (pattern1137 (x2, 
   12320              : E_SImode, 
   12321              : E_V32BFmode, 
   12322              : E_V16SFmode, 
   12323              : E_V16BFmode) != 0
   12324              :               || !(
   12325              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12326              : (TARGET_AVX512F) && 
   12327              : #line 31725 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12328              : (TARGET_AVX512BF16)))
   12329              :             return -1;
   12330              :           return 10412; /* avx512f_cvtne2ps2bf16_v32bf_mask */
   12331              : 
   12332              :         case E_V16BFmode:
   12333              :           if (pattern1137 (x2, 
   12334              : E_HImode, 
   12335              : E_V16BFmode, 
   12336              : E_V8SFmode, 
   12337              : E_V8BFmode) != 0
   12338              :               || !(
   12339              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12340              : (TARGET_AVX512F) && (
   12341              : #line 31725 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12342              : (TARGET_AVX512BF16) && 
   12343              : #line 31691 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12344              : (TARGET_AVX512VL))))
   12345              :             return -1;
   12346              :           return 10414; /* avx512f_cvtne2ps2bf16_v16bf_mask */
   12347              : 
   12348              :         case E_V8BFmode:
   12349              :           if (pattern1137 (x2, 
   12350              : E_QImode, 
   12351              : E_V8BFmode, 
   12352              : E_V4SFmode, 
   12353              : E_V4BFmode) != 0
   12354              :               || !(
   12355              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12356              : (TARGET_AVX512F) && (
   12357              : #line 31725 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12358              : (TARGET_AVX512BF16) && 
   12359              : #line 31691 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12360              : (TARGET_AVX512VL))))
   12361              :             return -1;
   12362              :           return 10416; /* avx512f_cvtne2ps2bf16_v8bf_mask */
   12363              : 
   12364              :         case E_V32HFmode:
   12365              :           if (pattern1138 (x2, 
   12366              : E_SImode, 
   12367              : E_V32HFmode, 
   12368              : E_V16SFmode, 
   12369              : E_V16HFmode) != 0
   12370              :               || !(
   12371              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12372              : (TARGET_AVX512F) && 
   12373              : #line 32424 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12374              : (TARGET_AVX10_2 && 1)))
   12375              :             return -1;
   12376              :           return 10512; /* avx10_2_cvt2ps2phx_v32hf_mask */
   12377              : 
   12378              :         case E_V16HFmode:
   12379              :           if (pattern1138 (x2, 
   12380              : E_HImode, 
   12381              : E_V16HFmode, 
   12382              : E_V8SFmode, 
   12383              : E_V8HFmode) != 0
   12384              :               || !(
   12385              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12386              : (TARGET_AVX512F) && (
   12387              : #line 32424 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12388              : (TARGET_AVX10_2 && 1) && 
   12389              : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12390              : (TARGET_AVX512VL))))
   12391              :             return -1;
   12392              :           return 10515; /* avx10_2_cvt2ps2phx_v16hf_mask */
   12393              : 
   12394              :         case E_V8HFmode:
   12395              :           if (pattern1138 (x2, 
   12396              : E_QImode, 
   12397              : E_V8HFmode, 
   12398              : E_V4SFmode, 
   12399              : E_V4HFmode) != 0
   12400              :               || !(
   12401              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12402              : (TARGET_AVX512F) && (
   12403              : #line 32424 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12404              : (TARGET_AVX10_2 && 1) && 
   12405              : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12406              : (TARGET_AVX512VL))))
   12407              :             return -1;
   12408              :           return 10517; /* avx10_2_cvt2ps2phx_v8hf_mask */
   12409              : 
   12410              :         default:
   12411              :           return -1;
   12412              :         }
   12413              : 
   12414              :     default:
   12415              :       return -1;
   12416              :     }
   12417              : }
   12418              : 
   12419              :  int
   12420              : recog_193 (rtx x1 ATTRIBUTE_UNUSED,
   12421              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   12422              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   12423              : {
   12424              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   12425              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   12426              :   rtx x10;
   12427              :   int res ATTRIBUTE_UNUSED;
   12428              :   x2 = XEXP (x1, 1);
   12429              :   x3 = XEXP (x2, 0);
   12430              :   x4 = XEXP (x3, 0);
   12431              :   switch (GET_CODE (x4))
   12432              :     {
   12433              :     case REG:
   12434              :     case SUBREG:
   12435              :     case MEM:
   12436              :       operands[1] = x4;
   12437              :       x5 = XEXP (x2, 1);
   12438              :       operands[2] = x5;
   12439              :       x6 = XEXP (x2, 2);
   12440              :       operands[3] = x6;
   12441              :       switch (GET_MODE (operands[0]))
   12442              :         {
   12443              :         case E_V8DFmode:
   12444              :           if (pattern142 (x2, 
   12445              : E_V8DFmode, 
   12446              : E_QImode) != 0)
   12447              :             return -1;
   12448              :           switch (GET_MODE (operands[1]))
   12449              :             {
   12450              :             case E_V8HFmode:
   12451              :               if (!vector_operand (operands[1], E_V8HFmode)
   12452              :                   || !(
   12453              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12454              : (TARGET_AVX512F) && 
   12455              : #line 8365 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12456              : (TARGET_AVX512FP16)))
   12457              :                 return -1;
   12458              :               return 4757; /* avx512fp16_float_extend_phv8df2_mask */
   12459              : 
   12460              :             case E_V8SFmode:
   12461              :               if (!vector_operand (operands[1], E_V8SFmode)
   12462              :                   || !(
   12463              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12464              : (TARGET_AVX512F) && (
   12465              : #line 10550 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12466              : (TARGET_AVX && (64 == 64 || TARGET_AVX512VL) && 1) && 
   12467              : #line 466 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12468              : (TARGET_AVX512F))))
   12469              :                 return -1;
   12470              :               return 5202; /* avx512f_cvtps2pd512_mask */
   12471              : 
   12472              :             default:
   12473              :               return -1;
   12474              :             }
   12475              : 
   12476              :         case E_V16SFmode:
   12477              :           if (pattern141 (x2, 
   12478              : E_V16SFmode, 
   12479              : E_HImode, 
   12480              : E_V16HFmode) != 0
   12481              :               || !(
   12482              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12483              : (TARGET_AVX512F) && 
   12484              : #line 8365 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12485              : (TARGET_AVX512FP16)))
   12486              :             return -1;
   12487              :           return 4761; /* avx512fp16_float_extend_phv16sf2_mask */
   12488              : 
   12489              :         case E_V8SFmode:
   12490              :           if (pattern141 (x2, 
   12491              : E_V8SFmode, 
   12492              : E_QImode, 
   12493              : E_V8HFmode) != 0
   12494              :               || !(
   12495              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12496              : (TARGET_AVX512F) && (
   12497              : #line 8365 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12498              : (TARGET_AVX512FP16) && 
   12499              : #line 986 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12500              : (TARGET_AVX512VL))))
   12501              :             return -1;
   12502              :           return 4765; /* avx512fp16_float_extend_phv8sf2_mask */
   12503              : 
   12504              :         case E_V4DFmode:
   12505              :           if (pattern142 (x2, 
   12506              : E_V4DFmode, 
   12507              : E_QImode) != 0)
   12508              :             return -1;
   12509              :           switch (GET_MODE (operands[1]))
   12510              :             {
   12511              :             case E_V4HFmode:
   12512              :               if (!memory_operand (operands[1], E_V4HFmode)
   12513              :                   || !(
   12514              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12515              : (TARGET_AVX512F) && 
   12516              : #line 8404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12517              : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
   12518              :                 return -1;
   12519              :               return 4772; /* *avx512fp16_float_extend_phv4df2_load_mask */
   12520              : 
   12521              :             case E_V4SFmode:
   12522              :               if (!vector_operand (operands[1], E_V4SFmode)
   12523              :                   || !(
   12524              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12525              : (TARGET_AVX512F) && 
   12526              : #line 10550 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12527              : (TARGET_AVX && (32 == 64 || TARGET_AVX512VL) && 1)))
   12528              :                 return -1;
   12529              :               return 5205; /* avx_cvtps2pd256_mask */
   12530              : 
   12531              :             default:
   12532              :               return -1;
   12533              :             }
   12534              : 
   12535              :         case E_V4SFmode:
   12536              :           if (pattern156 (x2, 
   12537              : E_V4SFmode, 
   12538              : E_V4HFmode) != 0
   12539              :               || !(
   12540              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12541              : (TARGET_AVX512F) && 
   12542              : #line 8404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12543              : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
   12544              :             return -1;
   12545              :           return 4774; /* *avx512fp16_float_extend_phv4sf2_load_mask */
   12546              : 
   12547              :         case E_V2DFmode:
   12548              :           if (pattern142 (x2, 
   12549              : E_V2DFmode, 
   12550              : E_QImode) != 0)
   12551              :             return -1;
   12552              :           switch (GET_MODE (operands[1]))
   12553              :             {
   12554              :             case E_V2HFmode:
   12555              :               if (!memory_operand (operands[1], E_V2HFmode)
   12556              :                   || !(
   12557              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12558              : (TARGET_AVX512F) && 
   12559              : #line 8443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12560              : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
   12561              :                 return -1;
   12562              :               return 4778; /* *avx512fp16_float_extend_phv2df2_load_mask */
   12563              : 
   12564              :             case E_V2SFmode:
   12565              :               if (!memory_operand (operands[1], E_V2SFmode)
   12566              :                   || !(
   12567              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12568              : (TARGET_AVX512F) && 
   12569              : #line 10732 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12570              : (TARGET_SSE2 && TARGET_AVX512VL)))
   12571              :                 return -1;
   12572              :               return 5253; /* sse2_cvtps2pd_mask_1 */
   12573              : 
   12574              :             default:
   12575              :               return -1;
   12576              :             }
   12577              : 
   12578              :         default:
   12579              :           return -1;
   12580              :         }
   12581              : 
   12582              :     case VEC_SELECT:
   12583              :       x7 = XEXP (x4, 1);
   12584              :       if (GET_CODE (x7) != PARALLEL)
   12585              :         return -1;
   12586              :       switch (XVECLEN (x7, 0))
   12587              :         {
   12588              :         case 4:
   12589              :           if (pattern651 (x7) != 0
   12590              :               || GET_MODE (x4) != E_V4HFmode)
   12591              :             return -1;
   12592              :           x8 = XEXP (x4, 0);
   12593              :           operands[1] = x8;
   12594              :           if (!register_operand (operands[1], E_V8HFmode))
   12595              :             return -1;
   12596              :           x5 = XEXP (x2, 1);
   12597              :           operands[2] = x5;
   12598              :           x6 = XEXP (x2, 2);
   12599              :           operands[3] = x6;
   12600              :           if (!register_operand (operands[3], E_QImode))
   12601              :             return -1;
   12602              :           switch (GET_MODE (operands[0]))
   12603              :             {
   12604              :             case E_V4DFmode:
   12605              :               if (pattern143 (x2, 
   12606              : E_V4DFmode) != 0
   12607              :                   || !(
   12608              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12609              : (TARGET_AVX512F) && 
   12610              : #line 8394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12611              : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
   12612              :                 return -1;
   12613              :               return 4768; /* avx512fp16_float_extend_phv4df2_mask */
   12614              : 
   12615              :             case E_V4SFmode:
   12616              :               if (pattern143 (x2, 
   12617              : E_V4SFmode) != 0
   12618              :                   || !(
   12619              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12620              : (TARGET_AVX512F) && 
   12621              : #line 8394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12622              : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
   12623              :                 return -1;
   12624              :               return 4770; /* avx512fp16_float_extend_phv4sf2_mask */
   12625              : 
   12626              :             default:
   12627              :               return -1;
   12628              :             }
   12629              : 
   12630              :         case 2:
   12631              :           x9 = XVECEXP (x7, 0, 0);
   12632              :           if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   12633              :             return -1;
   12634              :           x10 = XVECEXP (x7, 0, 1);
   12635              :           if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
   12636              :               || !register_operand (operands[0], E_V2DFmode)
   12637              :               || GET_MODE (x2) != E_V2DFmode
   12638              :               || GET_MODE (x3) != E_V2DFmode)
   12639              :             return -1;
   12640              :           x6 = XEXP (x2, 2);
   12641              :           switch (GET_CODE (x6))
   12642              :             {
   12643              :             case REG:
   12644              :             case SUBREG:
   12645              :               operands[3] = x6;
   12646              :               if (!register_operand (operands[3], E_QImode))
   12647              :                 return -1;
   12648              :               x8 = XEXP (x4, 0);
   12649              :               operands[1] = x8;
   12650              :               x5 = XEXP (x2, 1);
   12651              :               operands[2] = x5;
   12652              :               if (!nonimm_or_0_operand (operands[2], E_V2DFmode))
   12653              :                 return -1;
   12654              :               switch (GET_MODE (x4))
   12655              :                 {
   12656              :                 case E_V2HFmode:
   12657              :                   if (!register_operand (operands[1], E_V8HFmode)
   12658              :                       || !(
   12659              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12660              : (TARGET_AVX512F) && 
   12661              : #line 8433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12662              : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
   12663              :                     return -1;
   12664              :                   return 4776; /* avx512fp16_float_extend_phv2df2_mask */
   12665              : 
   12666              :                 case E_V2SFmode:
   12667              :                   if (!register_operand (operands[1], E_V4SFmode)
   12668              :                       || !(
   12669              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12670              : (TARGET_AVX512F) && 
   12671              : #line 10718 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12672              : (TARGET_SSE2 && TARGET_AVX512VL)))
   12673              :                     return -1;
   12674              :                   return 5251; /* sse2_cvtps2pd_mask */
   12675              : 
   12676              :                 default:
   12677              :                   return -1;
   12678              :                 }
   12679              : 
   12680              :             case CONST_INT:
   12681              :               if (XWINT (x6, 0) != 1L
   12682              :                   || GET_MODE (x4) != E_V2SFmode)
   12683              :                 return -1;
   12684              :               x8 = XEXP (x4, 0);
   12685              :               operands[2] = x8;
   12686              :               if (!nonimmediate_operand (operands[2], E_V4SFmode))
   12687              :                 return -1;
   12688              :               x5 = XEXP (x2, 1);
   12689              :               operands[1] = x5;
   12690              :               if (!register_operand (operands[1], E_V2DFmode)
   12691              :                   || !
   12692              : #line 10377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12693              : (TARGET_SSE2))
   12694              :                 return -1;
   12695              :               return 5185; /* sse2_cvtss2sd */
   12696              : 
   12697              :             default:
   12698              :               return -1;
   12699              :             }
   12700              : 
   12701              :         default:
   12702              :           return -1;
   12703              :         }
   12704              : 
   12705              :     default:
   12706              :       return -1;
   12707              :     }
   12708              : }
   12709              : 
   12710              :  int
   12711              : recog_200 (rtx x1 ATTRIBUTE_UNUSED,
   12712              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   12713              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   12714              : {
   12715              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   12716              :   rtx x2;
   12717              :   int res ATTRIBUTE_UNUSED;
   12718              :   x2 = XEXP (x1, 1);
   12719              :   switch (pattern139 (x2))
   12720              :     {
   12721              :     case 0:
   12722              :       if (!(
   12723              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12724              : (TARGET_AVX512F) && (
   12725              : #line 3329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12726              : (TARGET_SSE
   12727              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))
   12728              :    && (64 == 64 || TARGET_AVX512VL)
   12729              :    && 1) && 
   12730              : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12731              : (TARGET_AVX512FP16))))
   12732              :         return -1;
   12733              :       return 3046; /* *smaxv32hf3_mask */
   12734              : 
   12735              :     case 1:
   12736              :       if (!(
   12737              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12738              : (TARGET_AVX512F) && (
   12739              : #line 3329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12740              : (TARGET_SSE
   12741              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))
   12742              :    && (32 == 64 || TARGET_AVX512VL)
   12743              :    && 1) && 
   12744              : #line 394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12745              : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
   12746              :         return -1;
   12747              :       return 3053; /* *smaxv16hf3_mask */
   12748              : 
   12749              :     case 2:
   12750              :       if (!(
   12751              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12752              : (TARGET_AVX512F) && (
   12753              : #line 3329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12754              : (TARGET_SSE
   12755              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))
   12756              :    && (16 == 64 || TARGET_AVX512VL)
   12757              :    && 1) && 
   12758              : #line 395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12759              : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
   12760              :         return -1;
   12761              :       return 3057; /* *smaxv8hf3_mask */
   12762              : 
   12763              :     case 3:
   12764              :       if (!(
   12765              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12766              : (TARGET_AVX512F) && (
   12767              : #line 3329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12768              : (TARGET_SSE
   12769              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))
   12770              :    && (64 == 64 || TARGET_AVX512VL)
   12771              :    && 1) && 
   12772              : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12773              : (TARGET_AVX512F))))
   12774              :         return -1;
   12775              :       return 3062; /* *smaxv16sf3_mask */
   12776              : 
   12777              :     case 4:
   12778              :       if (!(
   12779              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12780              : (TARGET_AVX512F) && (
   12781              : #line 3329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12782              : (TARGET_SSE
   12783              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))
   12784              :    && (32 == 64 || TARGET_AVX512VL)
   12785              :    && 1) && 
   12786              : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12787              : (TARGET_AVX))))
   12788              :         return -1;
   12789              :       return 3069; /* *smaxv8sf3_mask */
   12790              : 
   12791              :     case 5:
   12792              :       if (!(
   12793              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12794              : (TARGET_AVX512F) && 
   12795              : #line 3329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12796              : (TARGET_SSE
   12797              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))
   12798              :    && (16 == 64 || TARGET_AVX512VL)
   12799              :    && 1)))
   12800              :         return -1;
   12801              :       return 3073; /* *smaxv4sf3_mask */
   12802              : 
   12803              :     case 6:
   12804              :       if (!(
   12805              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12806              : (TARGET_AVX512F) && (
   12807              : #line 3329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12808              : (TARGET_SSE
   12809              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))
   12810              :    && (64 == 64 || TARGET_AVX512VL)
   12811              :    && 1) && 
   12812              : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12813              : (TARGET_AVX512F))))
   12814              :         return -1;
   12815              :       return 3078; /* *smaxv8df3_mask */
   12816              : 
   12817              :     case 7:
   12818              :       if (!(
   12819              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12820              : (TARGET_AVX512F) && (
   12821              : #line 3329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12822              : (TARGET_SSE
   12823              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))
   12824              :    && (32 == 64 || TARGET_AVX512VL)
   12825              :    && 1) && 
   12826              : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12827              : (TARGET_AVX))))
   12828              :         return -1;
   12829              :       return 3085; /* *smaxv4df3_mask */
   12830              : 
   12831              :     case 8:
   12832              :       if (!(
   12833              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12834              : (TARGET_AVX512F) && (
   12835              : #line 3329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12836              : (TARGET_SSE
   12837              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))
   12838              :    && (16 == 64 || TARGET_AVX512VL)
   12839              :    && 1) && 
   12840              : #line 398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12841              : (TARGET_SSE2))))
   12842              :         return -1;
   12843              :       return 3089; /* *smaxv2df3_mask */
   12844              : 
   12845              :     case 9:
   12846              :       if (!(
   12847              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12848              : (TARGET_AVX512F) && 
   12849              : #line 18033 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12850              : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
   12851              :         return -1;
   12852              :       return 7807; /* *avx512f_smaxv16si3_mask */
   12853              : 
   12854              :     case 10:
   12855              :       if (!(
   12856              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12857              : (TARGET_AVX512F) && (
   12858              : #line 18033 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12859              : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
   12860              : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12861              : (TARGET_AVX512VL))))
   12862              :         return -1;
   12863              :       return 7815; /* *avx512f_smaxv8si3_mask */
   12864              : 
   12865              :     case 11:
   12866              :       if (nonimmediate_operand (operands[1], E_V4SImode)
   12867              :           && nonimmediate_operand (operands[2], E_V4SImode)
   12868              :           && (
   12869              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12870              : (TARGET_AVX512F) && (
   12871              : #line 18033 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12872              : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
   12873              : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12874              : (TARGET_AVX512VL))))
   12875              :         return 7823; /* *avx512f_smaxv4si3_mask */
   12876              :       if (!vector_operand (operands[1], E_V4SImode)
   12877              :           || !vector_operand (operands[2], E_V4SImode)
   12878              :           || !(
   12879              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12880              : (TARGET_AVX512F) && 
   12881              : #line 18136 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12882              : (TARGET_SSE4_1
   12883              :    && (16 == 64 || TARGET_AVX512VL)
   12884              :    && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
   12885              :         return -1;
   12886              :       return 7907; /* *sse4_1_smaxv4si3_mask */
   12887              : 
   12888              :     case 12:
   12889              :       if (!(
   12890              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12891              : (TARGET_AVX512F) && 
   12892              : #line 18033 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12893              : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
   12894              :         return -1;
   12895              :       return 7831; /* *avx512f_smaxv8di3_mask */
   12896              : 
   12897              :     case 13:
   12898              :       if (!(
   12899              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12900              : (TARGET_AVX512F) && (
   12901              : #line 18033 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12902              : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
   12903              : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12904              : (TARGET_AVX512VL))))
   12905              :         return -1;
   12906              :       return 7839; /* *avx512f_smaxv4di3_mask */
   12907              : 
   12908              :     case 14:
   12909              :       if (!(
   12910              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12911              : (TARGET_AVX512F) && (
   12912              : #line 18033 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12913              : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
   12914              : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12915              : (TARGET_AVX512VL))))
   12916              :         return -1;
   12917              :       return 7847; /* *avx512f_smaxv2di3_mask */
   12918              : 
   12919              :     case 15:
   12920              :       if (!(
   12921              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12922              : (TARGET_AVX512F) && 
   12923              : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12924              : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
   12925              :         return -1;
   12926              :       return 7855; /* *avx512bw_smaxv64qi3_mask */
   12927              : 
   12928              :     case 16:
   12929              :       if (nonimmediate_operand (operands[1], E_V16QImode)
   12930              :           && nonimmediate_operand (operands[2], E_V16QImode)
   12931              :           && (
   12932              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12933              : (TARGET_AVX512F) && (
   12934              : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12935              : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
   12936              : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12937              : (TARGET_AVX512VL))))
   12938              :         return 7863; /* *avx512bw_smaxv16qi3_mask */
   12939              :       if (!vector_operand (operands[1], E_V16QImode)
   12940              :           || !vector_operand (operands[2], E_V16QImode)
   12941              :           || !(
   12942              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12943              : (TARGET_AVX512F) && 
   12944              : #line 18136 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12945              : (TARGET_SSE4_1
   12946              :    && (16 == 64 || TARGET_AVX512VL)
   12947              :    && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
   12948              :         return -1;
   12949              :       return 7903; /* *sse4_1_smaxv16qi3_mask */
   12950              : 
   12951              :     case 17:
   12952              :       if (!(
   12953              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12954              : (TARGET_AVX512F) && (
   12955              : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12956              : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
   12957              : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12958              : (TARGET_AVX512VL))))
   12959              :         return -1;
   12960              :       return 7871; /* *avx512bw_smaxv32qi3_mask */
   12961              : 
   12962              :     case 18:
   12963              :       if (!(
   12964              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12965              : (TARGET_AVX512F) && 
   12966              : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12967              : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
   12968              :         return -1;
   12969              :       return 7879; /* *avx512bw_smaxv32hi3_mask */
   12970              : 
   12971              :     case 19:
   12972              :       if (!(
   12973              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12974              : (TARGET_AVX512F) && (
   12975              : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12976              : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
   12977              : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12978              : (TARGET_AVX512VL))))
   12979              :         return -1;
   12980              :       return 7887; /* *avx512bw_smaxv16hi3_mask */
   12981              : 
   12982              :     case 20:
   12983              :       if (!(
   12984              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12985              : (TARGET_AVX512F) && (
   12986              : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12987              : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
   12988              : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12989              : (TARGET_AVX512VL))))
   12990              :         return -1;
   12991              :       return 7895; /* *avx512bw_smaxv8hi3_mask */
   12992              : 
   12993              :     case 21:
   12994              :       if (!(
   12995              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12996              : (TARGET_AVX512F) && 
   12997              : #line 32821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12998              : (TARGET_AVX10_2)))
   12999              :         return -1;
   13000              :       return 10666; /* avx10_2_smaxbf16_v32bf_mask */
   13001              : 
   13002              :     case 22:
   13003              :       if (!(
   13004              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13005              : (TARGET_AVX512F) && 
   13006              : #line 32821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13007              : (TARGET_AVX10_2)))
   13008              :         return -1;
   13009              :       return 10670; /* avx10_2_smaxbf16_v16bf_mask */
   13010              : 
   13011              :     case 23:
   13012              :       if (!(
   13013              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13014              : (TARGET_AVX512F) && 
   13015              : #line 32821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13016              : (TARGET_AVX10_2)))
   13017              :         return -1;
   13018              :       return 10674; /* avx10_2_smaxbf16_v8bf_mask */
   13019              : 
   13020              :     case 24:
   13021              :       if (!(
   13022              : #line 3536 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13023              : (TARGET_SSE) && 
   13024              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13025              : (TARGET_AVX512FP16)))
   13026              :         return -1;
   13027              :       return 3167; /* *avx512fp16_vmsmaxv8hf3 */
   13028              : 
   13029              :     case 25:
   13030              :       if (!
   13031              : #line 3536 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13032              : (TARGET_SSE))
   13033              :         return -1;
   13034              :       return 3175; /* *sse_vmsmaxv4sf3 */
   13035              : 
   13036              :     case 26:
   13037              :       if (!(
   13038              : #line 3536 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13039              : (TARGET_SSE) && 
   13040              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13041              : (TARGET_SSE2)))
   13042              :         return -1;
   13043              :       return 3183; /* *sse2_vmsmaxv2df3 */
   13044              : 
   13045              :     default:
   13046              :       return -1;
   13047              :     }
   13048              : }
   13049              : 
   13050              :  int
   13051              : recog_212 (rtx x1 ATTRIBUTE_UNUSED,
   13052              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   13053              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   13054              : {
   13055              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   13056              :   rtx x2, x3;
   13057              :   int res ATTRIBUTE_UNUSED;
   13058              :   x2 = XEXP (x1, 1);
   13059              :   x3 = XVECEXP (x2, 0, 0);
   13060              :   operands[1] = x3;
   13061              :   switch (GET_MODE (operands[0]))
   13062              :     {
   13063              :     case E_V32HFmode:
   13064              :       if (!register_operand (operands[0], E_V32HFmode)
   13065              :           || GET_MODE (x2) != E_V32HFmode
   13066              :           || !vector_operand (operands[1], E_V32HFmode)
   13067              :           || !(
   13068              : #line 14356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13069              : (TARGET_AVX512F) && 
   13070              : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13071              : (TARGET_AVX512FP16)))
   13072              :         return -1;
   13073              :       return 7055; /* avx512bw_getexpv32hf */
   13074              : 
   13075              :     case E_V16HFmode:
   13076              :       if (!register_operand (operands[0], E_V16HFmode)
   13077              :           || GET_MODE (x2) != E_V16HFmode
   13078              :           || !vector_operand (operands[1], E_V16HFmode)
   13079              :           || !(
   13080              : #line 14356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13081              : (TARGET_AVX512F) && 
   13082              : #line 515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13083              : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
   13084              :         return -1;
   13085              :       return 7059; /* avx512vl_getexpv16hf */
   13086              : 
   13087              :     case E_V8HFmode:
   13088              :       if (!register_operand (operands[0], E_V8HFmode)
   13089              :           || GET_MODE (x2) != E_V8HFmode
   13090              :           || !vector_operand (operands[1], E_V8HFmode)
   13091              :           || !(
   13092              : #line 14356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13093              : (TARGET_AVX512F) && 
   13094              : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13095              : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
   13096              :         return -1;
   13097              :       return 7063; /* avx512fp16_getexpv8hf */
   13098              : 
   13099              :     case E_V16SFmode:
   13100              :       if (!register_operand (operands[0], E_V16SFmode)
   13101              :           || GET_MODE (x2) != E_V16SFmode
   13102              :           || !vector_operand (operands[1], E_V16SFmode)
   13103              :           || !
   13104              : #line 14356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13105              : (TARGET_AVX512F))
   13106              :         return -1;
   13107              :       return 7067; /* avx512f_getexpv16sf */
   13108              : 
   13109              :     case E_V8SFmode:
   13110              :       if (!register_operand (operands[0], E_V8SFmode)
   13111              :           || GET_MODE (x2) != E_V8SFmode
   13112              :           || !vector_operand (operands[1], E_V8SFmode)
   13113              :           || !(
   13114              : #line 14356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13115              : (TARGET_AVX512F) && 
   13116              : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13117              : (TARGET_AVX512VL)))
   13118              :         return -1;
   13119              :       return 7071; /* avx512vl_getexpv8sf */
   13120              : 
   13121              :     case E_V4SFmode:
   13122              :       if (!register_operand (operands[0], E_V4SFmode)
   13123              :           || GET_MODE (x2) != E_V4SFmode
   13124              :           || !vector_operand (operands[1], E_V4SFmode)
   13125              :           || !(
   13126              : #line 14356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13127              : (TARGET_AVX512F) && 
   13128              : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13129              : (TARGET_AVX512VL)))
   13130              :         return -1;
   13131              :       return 7075; /* avx512vl_getexpv4sf */
   13132              : 
   13133              :     case E_V8DFmode:
   13134              :       if (!register_operand (operands[0], E_V8DFmode)
   13135              :           || GET_MODE (x2) != E_V8DFmode
   13136              :           || !vector_operand (operands[1], E_V8DFmode)
   13137              :           || !
   13138              : #line 14356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13139              : (TARGET_AVX512F))
   13140              :         return -1;
   13141              :       return 7079; /* avx512f_getexpv8df */
   13142              : 
   13143              :     case E_V4DFmode:
   13144              :       if (!register_operand (operands[0], E_V4DFmode)
   13145              :           || GET_MODE (x2) != E_V4DFmode
   13146              :           || !vector_operand (operands[1], E_V4DFmode)
   13147              :           || !(
   13148              : #line 14356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13149              : (TARGET_AVX512F) && 
   13150              : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13151              : (TARGET_AVX512VL)))
   13152              :         return -1;
   13153              :       return 7083; /* avx512vl_getexpv4df */
   13154              : 
   13155              :     case E_V2DFmode:
   13156              :       if (!register_operand (operands[0], E_V2DFmode)
   13157              :           || GET_MODE (x2) != E_V2DFmode
   13158              :           || !vector_operand (operands[1], E_V2DFmode)
   13159              :           || !(
   13160              : #line 14356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13161              : (TARGET_AVX512F) && 
   13162              : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13163              : (TARGET_AVX512VL)))
   13164              :         return -1;
   13165              :       return 7087; /* avx512vl_getexpv2df */
   13166              : 
   13167              :     case E_V32BFmode:
   13168              :       if (!register_operand (operands[0], E_V32BFmode)
   13169              :           || GET_MODE (x2) != E_V32BFmode
   13170              :           || !nonimmediate_operand (operands[1], E_V32BFmode)
   13171              :           || !
   13172              : #line 33126 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13173              : (TARGET_AVX10_2))
   13174              :         return -1;
   13175              :       return 10767; /* avx10_2_getexpbf16_v32bf */
   13176              : 
   13177              :     case E_V16BFmode:
   13178              :       if (!register_operand (operands[0], E_V16BFmode)
   13179              :           || GET_MODE (x2) != E_V16BFmode
   13180              :           || !nonimmediate_operand (operands[1], E_V16BFmode)
   13181              :           || !
   13182              : #line 33126 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13183              : (TARGET_AVX10_2))
   13184              :         return -1;
   13185              :       return 10769; /* avx10_2_getexpbf16_v16bf */
   13186              : 
   13187              :     case E_V8BFmode:
   13188              :       if (!register_operand (operands[0], E_V8BFmode)
   13189              :           || GET_MODE (x2) != E_V8BFmode
   13190              :           || !nonimmediate_operand (operands[1], E_V8BFmode)
   13191              :           || !
   13192              : #line 33126 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13193              : (TARGET_AVX10_2))
   13194              :         return -1;
   13195              :       return 10771; /* avx10_2_getexpbf16_v8bf */
   13196              : 
   13197              :     default:
   13198              :       return -1;
   13199              :     }
   13200              : }
   13201              : 
   13202              :  int
   13203              : recog_221 (rtx x1 ATTRIBUTE_UNUSED,
   13204              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   13205              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   13206              : {
   13207              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   13208              :   rtx x2, x3;
   13209              :   int res ATTRIBUTE_UNUSED;
   13210              :   x2 = XEXP (x1, 1);
   13211              :   x3 = XVECEXP (x2, 0, 0);
   13212              :   operands[1] = x3;
   13213              :   switch (GET_MODE (operands[0]))
   13214              :     {
   13215              :     case E_V4SFmode:
   13216              :       if (!register_operand (operands[0], E_V4SFmode)
   13217              :           || GET_MODE (x2) != E_V4SFmode
   13218              :           || !nonimmediate_operand (operands[1], E_V4SFmode)
   13219              :           || !
   13220              : #line 27681 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13221              : (TARGET_XOP))
   13222              :         return -1;
   13223              :       return 9109; /* xop_frczv4sf2 */
   13224              : 
   13225              :     case E_V2DFmode:
   13226              :       if (!register_operand (operands[0], E_V2DFmode)
   13227              :           || GET_MODE (x2) != E_V2DFmode
   13228              :           || !nonimmediate_operand (operands[1], E_V2DFmode)
   13229              :           || !
   13230              : #line 27681 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13231              : (TARGET_XOP))
   13232              :         return -1;
   13233              :       return 9110; /* xop_frczv2df2 */
   13234              : 
   13235              :     case E_V8SFmode:
   13236              :       if (!register_operand (operands[0], E_V8SFmode)
   13237              :           || GET_MODE (x2) != E_V8SFmode
   13238              :           || !nonimmediate_operand (operands[1], E_V8SFmode)
   13239              :           || !
   13240              : #line 27681 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13241              : (TARGET_XOP))
   13242              :         return -1;
   13243              :       return 9111; /* xop_frczv8sf2 */
   13244              : 
   13245              :     case E_V4DFmode:
   13246              :       if (!register_operand (operands[0], E_V4DFmode)
   13247              :           || GET_MODE (x2) != E_V4DFmode
   13248              :           || !nonimmediate_operand (operands[1], E_V4DFmode)
   13249              :           || !
   13250              : #line 27681 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13251              : (TARGET_XOP))
   13252              :         return -1;
   13253              :       return 9112; /* xop_frczv4df2 */
   13254              : 
   13255              :     default:
   13256              :       return -1;
   13257              :     }
   13258              : }
   13259              : 
   13260              :  int
   13261              : recog_227 (rtx x1 ATTRIBUTE_UNUSED,
   13262              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   13263              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   13264              : {
   13265              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   13266              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   13267              :   rtx x10, x11, x12, x13, x14, x15, x16, x17;
   13268              :   rtx x18, x19;
   13269              :   int res ATTRIBUTE_UNUSED;
   13270              :   x2 = XEXP (x1, 1);
   13271              :   x3 = XVECEXP (x2, 0, 0);
   13272              :   x4 = XEXP (x3, 0);
   13273              :   x5 = XEXP (x4, 0);
   13274              :   switch (GET_CODE (x5))
   13275              :     {
   13276              :     case PLUS:
   13277              :       switch (pattern783 (x2))
   13278              :         {
   13279              :         case 0:
   13280              :           if (!(
   13281              : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13282              : (TARGET_AVX512F) && (
   13283              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13284              : (TARGET_AVX512F) && (
   13285              : #line 2733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13286              : (TARGET_SSE) && 
   13287              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13288              : (TARGET_AVX512FP16)))))
   13289              :             return -1;
   13290              :           return 2826; /* avx512fp16_vmaddv8hf3_mask_round */
   13291              : 
   13292              :         case 1:
   13293              :           if (!(
   13294              : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13295              : (TARGET_AVX512F) && (
   13296              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13297              : (TARGET_AVX512F) && 
   13298              : #line 2733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13299              : (TARGET_SSE))))
   13300              :             return -1;
   13301              :           return 2834; /* sse_vmaddv4sf3_mask_round */
   13302              : 
   13303              :         case 2:
   13304              :           if (!(
   13305              : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13306              : (TARGET_AVX512F) && (
   13307              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13308              : (TARGET_AVX512F) && (
   13309              : #line 2733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13310              : (TARGET_SSE) && 
   13311              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13312              : (TARGET_SSE2)))))
   13313              :             return -1;
   13314              :           return 2842; /* sse2_vmaddv2df3_mask_round */
   13315              : 
   13316              :         default:
   13317              :           return -1;
   13318              :         }
   13319              : 
   13320              :     case MINUS:
   13321              :       switch (pattern783 (x2))
   13322              :         {
   13323              :         case 0:
   13324              :           if (!(
   13325              : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13326              : (TARGET_AVX512F) && (
   13327              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13328              : (TARGET_AVX512F) && (
   13329              : #line 2733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13330              : (TARGET_SSE) && 
   13331              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13332              : (TARGET_AVX512FP16)))))
   13333              :             return -1;
   13334              :           return 2830; /* avx512fp16_vmsubv8hf3_mask_round */
   13335              : 
   13336              :         case 1:
   13337              :           if (!(
   13338              : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13339              : (TARGET_AVX512F) && (
   13340              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13341              : (TARGET_AVX512F) && 
   13342              : #line 2733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13343              : (TARGET_SSE))))
   13344              :             return -1;
   13345              :           return 2838; /* sse_vmsubv4sf3_mask_round */
   13346              : 
   13347              :         case 2:
   13348              :           if (!(
   13349              : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13350              : (TARGET_AVX512F) && (
   13351              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13352              : (TARGET_AVX512F) && (
   13353              : #line 2733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13354              : (TARGET_SSE) && 
   13355              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13356              : (TARGET_SSE2)))))
   13357              :             return -1;
   13358              :           return 2846; /* sse2_vmsubv2df3_mask_round */
   13359              : 
   13360              :         default:
   13361              :           return -1;
   13362              :         }
   13363              : 
   13364              :     case MULT:
   13365              :       switch (pattern783 (x2))
   13366              :         {
   13367              :         case 0:
   13368              :           if (!(
   13369              : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13370              : (TARGET_AVX512F) && (
   13371              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13372              : (TARGET_AVX512F) && (
   13373              : #line 2824 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13374              : (TARGET_SSE) && 
   13375              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13376              : (TARGET_AVX512FP16)))))
   13377              :             return -1;
   13378              :           return 2892; /* avx512fp16_vmmulv8hf3_mask_round */
   13379              : 
   13380              :         case 1:
   13381              :           if (!(
   13382              : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13383              : (TARGET_AVX512F) && (
   13384              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13385              : (TARGET_AVX512F) && 
   13386              : #line 2824 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13387              : (TARGET_SSE))))
   13388              :             return -1;
   13389              :           return 2900; /* sse_vmmulv4sf3_mask_round */
   13390              : 
   13391              :         case 2:
   13392              :           if (!(
   13393              : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13394              : (TARGET_AVX512F) && (
   13395              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13396              : (TARGET_AVX512F) && (
   13397              : #line 2824 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13398              : (TARGET_SSE) && 
   13399              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13400              : (TARGET_SSE2)))))
   13401              :             return -1;
   13402              :           return 2908; /* sse2_vmmulv2df3_mask_round */
   13403              : 
   13404              :         default:
   13405              :           return -1;
   13406              :         }
   13407              : 
   13408              :     case DIV:
   13409              :       switch (pattern783 (x2))
   13410              :         {
   13411              :         case 0:
   13412              :           if (!(
   13413              : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13414              : (TARGET_AVX512F) && (
   13415              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13416              : (TARGET_AVX512F) && (
   13417              : #line 2824 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13418              : (TARGET_SSE) && 
   13419              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13420              : (TARGET_AVX512FP16)))))
   13421              :             return -1;
   13422              :           return 2896; /* avx512fp16_vmdivv8hf3_mask_round */
   13423              : 
   13424              :         case 1:
   13425              :           if (!(
   13426              : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13427              : (TARGET_AVX512F) && (
   13428              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13429              : (TARGET_AVX512F) && 
   13430              : #line 2824 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13431              : (TARGET_SSE))))
   13432              :             return -1;
   13433              :           return 2904; /* sse_vmdivv4sf3_mask_round */
   13434              : 
   13435              :         case 2:
   13436              :           if (!(
   13437              : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13438              : (TARGET_AVX512F) && (
   13439              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13440              : (TARGET_AVX512F) && (
   13441              : #line 2824 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13442              : (TARGET_SSE) && 
   13443              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13444              : (TARGET_SSE2)))))
   13445              :             return -1;
   13446              :           return 2912; /* sse2_vmdivv2df3_mask_round */
   13447              : 
   13448              :         default:
   13449              :           return -1;
   13450              :         }
   13451              : 
   13452              :     case SQRT:
   13453              :       x6 = XEXP (x3, 2);
   13454              :       if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   13455              :         return -1;
   13456              :       x7 = XEXP (x5, 0);
   13457              :       operands[1] = x7;
   13458              :       x8 = XEXP (x4, 1);
   13459              :       operands[3] = x8;
   13460              :       x9 = XEXP (x4, 2);
   13461              :       operands[4] = x9;
   13462              :       if (!register_operand (operands[4], E_QImode))
   13463              :         return -1;
   13464              :       x10 = XEXP (x3, 1);
   13465              :       operands[2] = x10;
   13466              :       x11 = XVECEXP (x2, 0, 1);
   13467              :       operands[5] = x11;
   13468              :       if (!const_4_or_8_to_11_operand (operands[5], E_SImode))
   13469              :         return -1;
   13470              :       switch (GET_MODE (operands[0]))
   13471              :         {
   13472              :         case E_V8HFmode:
   13473              :           if (pattern1560 (x2, 
   13474              : E_V8HFmode) != 0
   13475              :               || !(
   13476              : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13477              : (TARGET_AVX512F) && (
   13478              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13479              : (TARGET_AVX512F) && (
   13480              : #line 3106 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13481              : (TARGET_SSE) && 
   13482              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13483              : (TARGET_AVX512FP16)))))
   13484              :             return -1;
   13485              :           return 2993; /* avx512fp16_vmsqrtv8hf2_mask_round */
   13486              : 
   13487              :         case E_V4SFmode:
   13488              :           if (pattern1560 (x2, 
   13489              : E_V4SFmode) != 0
   13490              :               || !(
   13491              : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13492              : (TARGET_AVX512F) && (
   13493              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13494              : (TARGET_AVX512F) && 
   13495              : #line 3106 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13496              : (TARGET_SSE))))
   13497              :             return -1;
   13498              :           return 2997; /* sse_vmsqrtv4sf2_mask_round */
   13499              : 
   13500              :         case E_V2DFmode:
   13501              :           if (pattern1560 (x2, 
   13502              : E_V2DFmode) != 0
   13503              :               || !(
   13504              : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13505              : (TARGET_AVX512F) && (
   13506              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13507              : (TARGET_AVX512F) && (
   13508              : #line 3106 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13509              : (TARGET_SSE) && 
   13510              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13511              : (TARGET_SSE2)))))
   13512              :             return -1;
   13513              :           return 3001; /* sse2_vmsqrtv2df2_mask_round */
   13514              : 
   13515              :         default:
   13516              :           return -1;
   13517              :         }
   13518              : 
   13519              :     case VEC_DUPLICATE:
   13520              :       x11 = XVECEXP (x2, 0, 1);
   13521              :       operands[5] = x11;
   13522              :       x7 = XEXP (x5, 0);
   13523              :       switch (GET_CODE (x7))
   13524              :         {
   13525              :         case SQRT:
   13526              :           x6 = XEXP (x3, 2);
   13527              :           if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   13528              :             return -1;
   13529              :           x12 = XEXP (x7, 0);
   13530              :           operands[1] = x12;
   13531              :           x8 = XEXP (x4, 1);
   13532              :           operands[3] = x8;
   13533              :           x9 = XEXP (x4, 2);
   13534              :           operands[4] = x9;
   13535              :           if (!register_operand (operands[4], E_QImode))
   13536              :             return -1;
   13537              :           x10 = XEXP (x3, 1);
   13538              :           operands[2] = x10;
   13539              :           if (!const_4_or_8_to_11_operand (operands[5], E_SImode))
   13540              :             return -1;
   13541              :           switch (GET_MODE (operands[0]))
   13542              :             {
   13543              :             case E_V8HFmode:
   13544              :               if (pattern1595 (x2, 
   13545              : E_V8HFmode, 
   13546              : E_HFmode) != 0
   13547              :                   || !(
   13548              : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13549              : (TARGET_AVX512F) && (
   13550              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13551              : (TARGET_AVX512F) && (
   13552              : #line 3125 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13553              : (TARGET_SSE) && 
   13554              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13555              : (TARGET_AVX512FP16)))))
   13556              :                 return -1;
   13557              :               return 3005; /* *avx512fp16_vmsqrtv8hf2_mask_round */
   13558              : 
   13559              :             case E_V4SFmode:
   13560              :               if (pattern1595 (x2, 
   13561              : E_V4SFmode, 
   13562              : E_SFmode) != 0
   13563              :                   || !(
   13564              : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13565              : (TARGET_AVX512F) && (
   13566              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13567              : (TARGET_AVX512F) && 
   13568              : #line 3125 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13569              : (TARGET_SSE))))
   13570              :                 return -1;
   13571              :               return 3009; /* *sse_vmsqrtv4sf2_mask_round */
   13572              : 
   13573              :             case E_V2DFmode:
   13574              :               if (pattern1595 (x2, 
   13575              : E_V2DFmode, 
   13576              : E_DFmode) != 0
   13577              :                   || !(
   13578              : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13579              : (TARGET_AVX512F) && (
   13580              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13581              : (TARGET_AVX512F) && (
   13582              : #line 3125 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13583              : (TARGET_SSE) && 
   13584              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13585              : (TARGET_SSE2)))))
   13586              :                 return -1;
   13587              :               return 3013; /* *sse2_vmsqrtv2df2_mask_round */
   13588              : 
   13589              :             default:
   13590              :               return -1;
   13591              :             }
   13592              : 
   13593              :         case FLOAT_EXTEND:
   13594              :           x12 = XEXP (x7, 0);
   13595              :           if (GET_CODE (x12) != VEC_SELECT
   13596              :               || GET_MODE (x12) != E_HFmode
   13597              :               || pattern1228 (x3) != 0)
   13598              :             return -1;
   13599              :           x13 = XEXP (x12, 0);
   13600              :           operands[1] = x13;
   13601              :           if (!register_operand (operands[1], E_V8HFmode))
   13602              :             return -1;
   13603              :           x8 = XEXP (x4, 1);
   13604              :           operands[3] = x8;
   13605              :           x9 = XEXP (x4, 2);
   13606              :           operands[4] = x9;
   13607              :           if (!register_operand (operands[4], E_QImode))
   13608              :             return -1;
   13609              :           x10 = XEXP (x3, 1);
   13610              :           operands[2] = x10;
   13611              :           if (!const48_operand (operands[5], E_SImode))
   13612              :             return -1;
   13613              :           switch (GET_MODE (operands[0]))
   13614              :             {
   13615              :             case E_V2DFmode:
   13616              :               if (pattern1789 (x2, 
   13617              : E_V2DFmode, 
   13618              : E_DFmode) != 0
   13619              :                   || !(
   13620              : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13621              : (TARGET_AVX512F) && (
   13622              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13623              : (TARGET_AVX512F) && 
   13624              : #line 8632 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13625              : (TARGET_AVX512FP16))))
   13626              :                 return -1;
   13627              :               return 4803; /* avx512fp16_vcvtsh2sd_mask_round */
   13628              : 
   13629              :             case E_V4SFmode:
   13630              :               if (pattern1789 (x2, 
   13631              : E_V4SFmode, 
   13632              : E_SFmode) != 0
   13633              :                   || !(
   13634              : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13635              : (TARGET_AVX512F) && (
   13636              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13637              : (TARGET_AVX512F) && 
   13638              : #line 8632 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13639              : (TARGET_AVX512FP16))))
   13640              :                 return -1;
   13641              :               return 4807; /* avx512fp16_vcvtsh2ss_mask_round */
   13642              : 
   13643              :             default:
   13644              :               return -1;
   13645              :             }
   13646              : 
   13647              :         case FLOAT_TRUNCATE:
   13648              :           if (!const_4_or_8_to_11_operand (operands[5], E_SImode))
   13649              :             return -1;
   13650              :           x12 = XEXP (x7, 0);
   13651              :           switch (GET_CODE (x12))
   13652              :             {
   13653              :             case VEC_SELECT:
   13654              :               if (pattern1228 (x3) != 0
   13655              :                   || pattern1484 (x2, 
   13656              : E_HFmode, 
   13657              : E_V8HFmode) != 0)
   13658              :                 return -1;
   13659              :               x13 = XEXP (x12, 0);
   13660              :               operands[1] = x13;
   13661              :               x8 = XEXP (x4, 1);
   13662              :               operands[3] = x8;
   13663              :               if (!nonimm_or_0_operand (operands[3], E_V8HFmode))
   13664              :                 return -1;
   13665              :               x9 = XEXP (x4, 2);
   13666              :               operands[4] = x9;
   13667              :               if (!register_operand (operands[4], E_QImode))
   13668              :                 return -1;
   13669              :               x10 = XEXP (x3, 1);
   13670              :               operands[2] = x10;
   13671              :               if (!register_operand (operands[2], E_V8HFmode))
   13672              :                 return -1;
   13673              :               switch (GET_MODE (x12))
   13674              :                 {
   13675              :                 case E_DFmode:
   13676              :                   if (!register_operand (operands[1], E_V2DFmode)
   13677              :                       || !(
   13678              : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13679              : (TARGET_AVX512F) && (
   13680              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13681              : (TARGET_AVX512F) && 
   13682              : #line 8662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13683              : (TARGET_AVX512FP16))))
   13684              :                     return -1;
   13685              :                   return 4815; /* avx512fp16_vcvtsd2sh_mask_round */
   13686              : 
   13687              :                 case E_SFmode:
   13688              :                   if (!register_operand (operands[1], E_V4SFmode)
   13689              :                       || !(
   13690              : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13691              : (TARGET_AVX512F) && (
   13692              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13693              : (TARGET_AVX512F) && 
   13694              : #line 8662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13695              : (TARGET_AVX512FP16))))
   13696              :                     return -1;
   13697              :                   return 4819; /* avx512fp16_vcvtss2sh_mask_round */
   13698              : 
   13699              :                 default:
   13700              :                   return -1;
   13701              :                 }
   13702              : 
   13703              :             case REG:
   13704              :             case SUBREG:
   13705              :             case MEM:
   13706              :               operands[2] = x12;
   13707              :               if (!nonimmediate_operand (operands[2], E_V2DFmode))
   13708              :                 return -1;
   13709              :               x9 = XEXP (x4, 2);
   13710              :               if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
   13711              :                   || pattern1484 (x2, 
   13712              : E_V2SFmode, 
   13713              : E_V4SFmode) != 0)
   13714              :                 return -1;
   13715              :               x8 = XEXP (x4, 1);
   13716              :               operands[1] = x8;
   13717              :               if (!register_operand (operands[1], E_V4SFmode))
   13718              :                 return -1;
   13719              :               x10 = XEXP (x3, 1);
   13720              :               operands[3] = x10;
   13721              :               if (!nonimm_or_0_operand (operands[3], E_V4SFmode))
   13722              :                 return -1;
   13723              :               x6 = XEXP (x3, 2);
   13724              :               operands[4] = x6;
   13725              :               if (!register_operand (operands[4], E_QImode)
   13726              :                   || !(
   13727              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13728              : (TARGET_AVX512F) && (
   13729              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13730              : (TARGET_AVX512F) && 
   13731              : #line 10333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13732              : (TARGET_SSE2))))
   13733              :                 return -1;
   13734              :               return 5183; /* sse2_cvtsd2ss_mask_round */
   13735              : 
   13736              :             default:
   13737              :               return -1;
   13738              :             }
   13739              : 
   13740              :         default:
   13741              :           return -1;
   13742              :         }
   13743              : 
   13744              :     case SMAX:
   13745              :       switch (pattern784 (x2))
   13746              :         {
   13747              :         case 0:
   13748              :           if (!(
   13749              : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13750              : (TARGET_AVX512F) && (
   13751              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13752              : (TARGET_AVX512F) && (
   13753              : #line 3536 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13754              : (TARGET_SSE) && 
   13755              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13756              : (TARGET_AVX512FP16)))))
   13757              :             return -1;
   13758              :           return 3170; /* *avx512fp16_vmsmaxv8hf3_mask_round */
   13759              : 
   13760              :         case 1:
   13761              :           if (!(
   13762              : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13763              : (TARGET_AVX512F) && (
   13764              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13765              : (TARGET_AVX512F) && 
   13766              : #line 3536 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13767              : (TARGET_SSE))))
   13768              :             return -1;
   13769              :           return 3178; /* *sse_vmsmaxv4sf3_mask_round */
   13770              : 
   13771              :         case 2:
   13772              :           if (!(
   13773              : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13774              : (TARGET_AVX512F) && (
   13775              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13776              : (TARGET_AVX512F) && (
   13777              : #line 3536 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13778              : (TARGET_SSE) && 
   13779              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13780              : (TARGET_SSE2)))))
   13781              :             return -1;
   13782              :           return 3186; /* *sse2_vmsmaxv2df3_mask_round */
   13783              : 
   13784              :         default:
   13785              :           return -1;
   13786              :         }
   13787              : 
   13788              :     case SMIN:
   13789              :       switch (pattern784 (x2))
   13790              :         {
   13791              :         case 0:
   13792              :           if (!(
   13793              : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13794              : (TARGET_AVX512F) && (
   13795              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13796              : (TARGET_AVX512F) && (
   13797              : #line 3536 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13798              : (TARGET_SSE) && 
   13799              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13800              : (TARGET_AVX512FP16)))))
   13801              :             return -1;
   13802              :           return 3174; /* *avx512fp16_vmsminv8hf3_mask_round */
   13803              : 
   13804              :         case 1:
   13805              :           if (!(
   13806              : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13807              : (TARGET_AVX512F) && (
   13808              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13809              : (TARGET_AVX512F) && 
   13810              : #line 3536 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13811              : (TARGET_SSE))))
   13812              :             return -1;
   13813              :           return 3182; /* *sse_vmsminv4sf3_mask_round */
   13814              : 
   13815              :         case 2:
   13816              :           if (!(
   13817              : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13818              : (TARGET_AVX512F) && (
   13819              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13820              : (TARGET_AVX512F) && (
   13821              : #line 3536 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13822              : (TARGET_SSE) && 
   13823              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13824              : (TARGET_SSE2)))))
   13825              :             return -1;
   13826              :           return 3190; /* *sse2_vmsminv2df3_mask_round */
   13827              : 
   13828              :         default:
   13829              :           return -1;
   13830              :         }
   13831              : 
   13832              :     case UNSPEC:
   13833              :       switch (XVECLEN (x5, 0))
   13834              :         {
   13835              :         case 2:
   13836              :           x6 = XEXP (x3, 2);
   13837              :           if (GET_CODE (x6) != CONST_INT)
   13838              :             return -1;
   13839              :           switch (XINT (x5, 1))
   13840              :             {
   13841              :             case 64:
   13842              :               switch (pattern1140 (x2))
   13843              :                 {
   13844              :                 case 0:
   13845              :                   if (!(
   13846              : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13847              : (TARGET_AVX512F) && (
   13848              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13849              : (TARGET_AVX512F) && (
   13850              : #line 3555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13851              : (TARGET_SSE) && 
   13852              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13853              : (TARGET_AVX512FP16)))))
   13854              :                     return -1;
   13855              :                   return 3194; /* avx512fp16_ieee_vmmaxv8hf3_mask_round */
   13856              : 
   13857              :                 case 1:
   13858              :                   if (!(
   13859              : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13860              : (TARGET_AVX512F) && (
   13861              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13862              : (TARGET_AVX512F) && 
   13863              : #line 3555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13864              : (TARGET_SSE))))
   13865              :                     return -1;
   13866              :                   return 3202; /* sse_ieee_vmmaxv4sf3_mask_round */
   13867              : 
   13868              :                 case 2:
   13869              :                   if (!(
   13870              : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13871              : (TARGET_AVX512F) && (
   13872              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13873              : (TARGET_AVX512F) && (
   13874              : #line 3555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13875              : (TARGET_SSE) && 
   13876              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13877              : (TARGET_SSE2)))))
   13878              :                     return -1;
   13879              :                   return 3210; /* sse2_ieee_vmmaxv2df3_mask_round */
   13880              : 
   13881              :                 default:
   13882              :                   return -1;
   13883              :                 }
   13884              : 
   13885              :             case 63:
   13886              :               switch (pattern1140 (x2))
   13887              :                 {
   13888              :                 case 0:
   13889              :                   if (!(
   13890              : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13891              : (TARGET_AVX512F) && (
   13892              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13893              : (TARGET_AVX512F) && (
   13894              : #line 3555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13895              : (TARGET_SSE) && 
   13896              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13897              : (TARGET_AVX512FP16)))))
   13898              :                     return -1;
   13899              :                   return 3198; /* avx512fp16_ieee_vmminv8hf3_mask_round */
   13900              : 
   13901              :                 case 1:
   13902              :                   if (!(
   13903              : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13904              : (TARGET_AVX512F) && (
   13905              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13906              : (TARGET_AVX512F) && 
   13907              : #line 3555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13908              : (TARGET_SSE))))
   13909              :                     return -1;
   13910              :                   return 3206; /* sse_ieee_vmminv4sf3_mask_round */
   13911              : 
   13912              :                 case 2:
   13913              :                   if (!(
   13914              : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13915              : (TARGET_AVX512F) && (
   13916              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13917              : (TARGET_AVX512F) && (
   13918              : #line 3555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13919              : (TARGET_SSE) && 
   13920              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13921              : (TARGET_SSE2)))))
   13922              :                     return -1;
   13923              :                   return 3214; /* sse2_ieee_vmminv2df3_mask_round */
   13924              : 
   13925              :                 default:
   13926              :                   return -1;
   13927              :                 }
   13928              : 
   13929              :             case 222:
   13930              :               if (pattern1141 (x2) != 0
   13931              :                   || !(
   13932              : #line 437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13933              : (TARGET_AVX512F) && (
   13934              : #line 389 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13935              : (TARGET_AVX512F) && 
   13936              : #line 7869 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13937              : (TARGET_AVX512FP16))))
   13938              :                 return -1;
   13939              :               return 4440; /* avx512fp16_fmulcsh_v8hf_mask_round */
   13940              : 
   13941              :             case 223:
   13942              :               if (pattern1141 (x2) != 0
   13943              :                   || !(
   13944              : #line 437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13945              : (TARGET_AVX512F) && (
   13946              : #line 389 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13947              : (TARGET_AVX512F) && 
   13948              : #line 7869 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13949              : (TARGET_AVX512FP16))))
   13950              :                 return -1;
   13951              :               return 4444; /* avx512fp16_fcmulcsh_v8hf_mask_round */
   13952              : 
   13953              :             case 59:
   13954              :               if (XWINT (x6, 0) != 1L)
   13955              :                 return -1;
   13956              :               x14 = XVECEXP (x5, 0, 0);
   13957              :               operands[1] = x14;
   13958              :               x15 = XVECEXP (x5, 0, 1);
   13959              :               operands[2] = x15;
   13960              :               x8 = XEXP (x4, 1);
   13961              :               operands[3] = x8;
   13962              :               x9 = XEXP (x4, 2);
   13963              :               operands[4] = x9;
   13964              :               if (!register_operand (operands[4], E_QImode))
   13965              :                 return -1;
   13966              :               x11 = XVECEXP (x2, 0, 1);
   13967              :               operands[5] = x11;
   13968              :               if (!const_4_or_8_to_11_operand (operands[5], E_SImode))
   13969              :                 return -1;
   13970              :               switch (pattern1662 (x2))
   13971              :                 {
   13972              :                 case 0:
   13973              :                   if (!(
   13974              : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13975              : (TARGET_AVX512F) && (
   13976              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13977              : (TARGET_AVX512F) && (
   13978              : #line 13937 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13979              : (TARGET_AVX512F) && 
   13980              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13981              : (TARGET_AVX512FP16)))))
   13982              :                     return -1;
   13983              :                   return 5432; /* avx512f_vmscalefv8hf_mask_round */
   13984              : 
   13985              :                 case 1:
   13986              :                   if (!
   13987              : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13988              : (TARGET_AVX512F))
   13989              :                     return -1;
   13990              :                   return 5436; /* avx512f_vmscalefv4sf_mask_round */
   13991              : 
   13992              :                 case 2:
   13993              :                   if (!(
   13994              : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13995              : (TARGET_AVX512F) && (
   13996              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13997              : (TARGET_AVX512F) && (
   13998              : #line 13937 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13999              : (TARGET_AVX512F) && 
   14000              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14001              : (TARGET_SSE2)))))
   14002              :                     return -1;
   14003              :                   return 5440; /* avx512f_vmscalefv2df_mask_round */
   14004              : 
   14005              :                 default:
   14006              :                   return -1;
   14007              :                 }
   14008              : 
   14009              :             case 166:
   14010              :               if (XWINT (x6, 0) != 1L)
   14011              :                 return -1;
   14012              :               x14 = XVECEXP (x5, 0, 0);
   14013              :               operands[1] = x14;
   14014              :               x15 = XVECEXP (x5, 0, 1);
   14015              :               operands[2] = x15;
   14016              :               x8 = XEXP (x4, 1);
   14017              :               operands[3] = x8;
   14018              :               x9 = XEXP (x4, 2);
   14019              :               operands[4] = x9;
   14020              :               if (!register_operand (operands[4], E_QImode))
   14021              :                 return -1;
   14022              :               x11 = XVECEXP (x2, 0, 1);
   14023              :               operands[5] = x11;
   14024              :               if (!const48_operand (operands[5], E_SImode))
   14025              :                 return -1;
   14026              :               switch (pattern1662 (x2))
   14027              :                 {
   14028              :                 case 0:
   14029              :                   if (!(
   14030              : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14031              : (TARGET_AVX512F) && (
   14032              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14033              : (TARGET_AVX512F) && (
   14034              : #line 14370 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14035              : (TARGET_AVX512F) && 
   14036              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14037              : (TARGET_AVX512FP16)))))
   14038              :                     return -1;
   14039              :                   return 7094; /* avx512f_sgetexpv8hf_mask_round */
   14040              : 
   14041              :                 case 1:
   14042              :                   if (!
   14043              : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14044              : (TARGET_AVX512F))
   14045              :                     return -1;
   14046              :                   return 7098; /* avx512f_sgetexpv4sf_mask_round */
   14047              : 
   14048              :                 case 2:
   14049              :                   if (!(
   14050              : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14051              : (TARGET_AVX512F) && (
   14052              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14053              : (TARGET_AVX512F) && (
   14054              : #line 14370 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14055              : (TARGET_AVX512F) && 
   14056              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14057              : (TARGET_SSE2)))))
   14058              :                     return -1;
   14059              :                   return 7102; /* avx512f_sgetexpv2df_mask_round */
   14060              : 
   14061              :                 default:
   14062              :                   return -1;
   14063              :                 }
   14064              : 
   14065              :             case 95:
   14066              :               if (XWINT (x6, 0) != 1L)
   14067              :                 return -1;
   14068              :               x14 = XVECEXP (x5, 0, 0);
   14069              :               operands[2] = x14;
   14070              :               x15 = XVECEXP (x5, 0, 1);
   14071              :               operands[3] = x15;
   14072              :               if (!const_0_to_255_operand (operands[3], E_SImode))
   14073              :                 return -1;
   14074              :               x8 = XEXP (x4, 1);
   14075              :               operands[4] = x8;
   14076              :               x9 = XEXP (x4, 2);
   14077              :               operands[5] = x9;
   14078              :               if (!register_operand (operands[5], E_QImode))
   14079              :                 return -1;
   14080              :               x10 = XEXP (x3, 1);
   14081              :               operands[1] = x10;
   14082              :               x11 = XVECEXP (x2, 0, 1);
   14083              :               operands[6] = x11;
   14084              :               if (!const48_operand (operands[6], E_SImode))
   14085              :                 return -1;
   14086              :               switch (GET_MODE (operands[0]))
   14087              :                 {
   14088              :                 case E_V8HFmode:
   14089              :                   if (pattern1754 (x2, 
   14090              : E_V8HFmode) != 0
   14091              :                       || !(
   14092              : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14093              : (TARGET_AVX512F) && (
   14094              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14095              : (TARGET_AVX512F) && (
   14096              : #line 14564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14097              : (TARGET_AVX512F) && 
   14098              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14099              : (TARGET_AVX512FP16)))))
   14100              :                     return -1;
   14101              :                   return 7210; /* avx512f_rndscalev8hf_mask_round */
   14102              : 
   14103              :                 case E_V4SFmode:
   14104              :                   if (pattern1754 (x2, 
   14105              : E_V4SFmode) != 0
   14106              :                       || !
   14107              : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14108              : (TARGET_AVX512F))
   14109              :                     return -1;
   14110              :                   return 7214; /* avx512f_rndscalev4sf_mask_round */
   14111              : 
   14112              :                 case E_V2DFmode:
   14113              :                   if (pattern1754 (x2, 
   14114              : E_V2DFmode) != 0
   14115              :                       || !(
   14116              : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14117              : (TARGET_AVX512F) && (
   14118              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14119              : (TARGET_AVX512F) && (
   14120              : #line 14564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14121              : (TARGET_AVX512F) && 
   14122              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14123              : (TARGET_SSE2)))))
   14124              :                     return -1;
   14125              :                   return 7218; /* avx512f_rndscalev2df_mask_round */
   14126              : 
   14127              :                 default:
   14128              :                   return -1;
   14129              :                 }
   14130              : 
   14131              :             default:
   14132              :               return -1;
   14133              :             }
   14134              : 
   14135              :         case 3:
   14136              :           x6 = XEXP (x3, 2);
   14137              :           if (GET_CODE (x6) != CONST_INT)
   14138              :             return -1;
   14139              :           x14 = XVECEXP (x5, 0, 0);
   14140              :           operands[1] = x14;
   14141              :           x15 = XVECEXP (x5, 0, 1);
   14142              :           operands[2] = x15;
   14143              :           x16 = XVECEXP (x5, 0, 2);
   14144              :           operands[3] = x16;
   14145              :           switch (XINT (x5, 1))
   14146              :             {
   14147              :             case 193:
   14148              :               switch (pattern1408 (x2))
   14149              :                 {
   14150              :                 case 0:
   14151              :                   if (!(
   14152              : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14153              : (TARGET_AVX512F) && (
   14154              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14155              : (TARGET_AVX512F) && (
   14156              : #line 4269 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14157              : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V8HFmode))) && 
   14158              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14159              : (TARGET_AVX512FP16)))))
   14160              :                     return -1;
   14161              :                   return 3268; /* reducesv8hf_mask_round */
   14162              : 
   14163              :                 case 1:
   14164              :                   if (!(
   14165              : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14166              : (TARGET_AVX512F) && (
   14167              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14168              : (TARGET_AVX512F) && 
   14169              : #line 4269 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14170              : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V4SFmode))))))
   14171              :                     return -1;
   14172              :                   return 3272; /* reducesv4sf_mask_round */
   14173              : 
   14174              :                 case 2:
   14175              :                   if (!(
   14176              : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14177              : (TARGET_AVX512F) && (
   14178              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14179              : (TARGET_AVX512F) && (
   14180              : #line 4269 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14181              : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V2DFmode))) && 
   14182              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14183              : (TARGET_SSE2)))))
   14184              :                     return -1;
   14185              :                   return 3276; /* reducesv2df_mask_round */
   14186              : 
   14187              :                 default:
   14188              :                   return -1;
   14189              :                 }
   14190              : 
   14191              :             case 218:
   14192              :               switch (pattern1409 (x2))
   14193              :                 {
   14194              :                 case 0:
   14195              :                   if (!(
   14196              : #line 437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14197              : (TARGET_AVX512F) && (
   14198              : #line 371 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14199              : (TARGET_AVX512F) && 
   14200              : #line 7834 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14201              : (TARGET_AVX512FP16))))
   14202              :                     return -1;
   14203              :                   return 4428; /* avx512fp16_fma_fmaddcsh_v8hf_maskz_round */
   14204              : 
   14205              :                 case 1:
   14206              :                   if (!(
   14207              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14208              : (TARGET_AVX512F) && 
   14209              : #line 7854 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14210              : (TARGET_AVX512FP16)))
   14211              :                     return -1;
   14212              :                   return 4434; /* avx512fp16_fmaddcsh_v8hf_mask_round */
   14213              : 
   14214              :                 default:
   14215              :                   return -1;
   14216              :                 }
   14217              : 
   14218              :             case 220:
   14219              :               switch (pattern1409 (x2))
   14220              :                 {
   14221              :                 case 0:
   14222              :                   if (!(
   14223              : #line 437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14224              : (TARGET_AVX512F) && (
   14225              : #line 371 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14226              : (TARGET_AVX512F) && 
   14227              : #line 7834 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14228              : (TARGET_AVX512FP16))))
   14229              :                     return -1;
   14230              :                   return 4432; /* avx512fp16_fma_fcmaddcsh_v8hf_maskz_round */
   14231              : 
   14232              :                 case 1:
   14233              :                   if (!(
   14234              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14235              : (TARGET_AVX512F) && 
   14236              : #line 7854 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14237              : (TARGET_AVX512FP16)))
   14238              :                     return -1;
   14239              :                   return 4436; /* avx512fp16_fcmaddcsh_v8hf_mask_round */
   14240              : 
   14241              :                 default:
   14242              :                   return -1;
   14243              :                 }
   14244              : 
   14245              :             case 195:
   14246              :               if (XWINT (x6, 0) != 1L
   14247              :                   || !const_0_to_15_operand (operands[3], E_SImode))
   14248              :                 return -1;
   14249              :               x8 = XEXP (x4, 1);
   14250              :               operands[4] = x8;
   14251              :               x9 = XEXP (x4, 2);
   14252              :               operands[5] = x9;
   14253              :               if (!register_operand (operands[5], E_QImode))
   14254              :                 return -1;
   14255              :               x11 = XVECEXP (x2, 0, 1);
   14256              :               operands[6] = x11;
   14257              :               if (!const48_operand (operands[6], E_SImode))
   14258              :                 return -1;
   14259              :               x10 = XEXP (x3, 1);
   14260              :               if (!rtx_equal_p (x10, operands[1]))
   14261              :                 return -1;
   14262              :               switch (GET_MODE (operands[0]))
   14263              :                 {
   14264              :                 case E_V4SFmode:
   14265              :                   if (pattern1406 (x2, 
   14266              : E_V4SFmode) != 0
   14267              :                       || !(
   14268              : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14269              : (TARGET_AVX512F) && (
   14270              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14271              : (TARGET_AVX512F) && 
   14272              : #line 30536 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14273              : (TARGET_AVX512DQ))))
   14274              :                     return -1;
   14275              :                   return 10050; /* avx512dq_rangesv4sf_mask_round */
   14276              : 
   14277              :                 case E_V2DFmode:
   14278              :                   if (pattern1406 (x2, 
   14279              : E_V2DFmode) != 0
   14280              :                       || !(
   14281              : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14282              : (TARGET_AVX512F) && (
   14283              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14284              : (TARGET_AVX512F) && (
   14285              : #line 30536 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14286              : (TARGET_AVX512DQ) && 
   14287              : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14288              : (TARGET_SSE2)))))
   14289              :                     return -1;
   14290              :                   return 10054; /* avx512dq_rangesv2df_mask_round */
   14291              : 
   14292              :                 default:
   14293              :                   return -1;
   14294              :                 }
   14295              : 
   14296              :             case 167:
   14297              :               if (XWINT (x6, 0) != 1L
   14298              :                   || !const_0_to_15_operand (operands[3], E_SImode))
   14299              :                 return -1;
   14300              :               switch (pattern1407 (x2))
   14301              :                 {
   14302              :                 case 0:
   14303              :                   if (!(
   14304              : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14305              : (TARGET_AVX512F) && (
   14306              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14307              : (TARGET_AVX512F) && (
   14308              : #line 30604 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14309              : (TARGET_AVX512F) && 
   14310              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14311              : (TARGET_AVX512FP16)))))
   14312              :                     return -1;
   14313              :                   return 10118; /* avx512f_vgetmantv8hf_mask_round */
   14314              : 
   14315              :                 case 1:
   14316              :                   if (!
   14317              : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14318              : (TARGET_AVX512F))
   14319              :                     return -1;
   14320              :                   return 10122; /* avx512f_vgetmantv4sf_mask_round */
   14321              : 
   14322              :                 case 2:
   14323              :                   if (!(
   14324              : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14325              : (TARGET_AVX512F) && (
   14326              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14327              : (TARGET_AVX512F) && (
   14328              : #line 30604 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14329              : (TARGET_AVX512F) && 
   14330              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14331              : (TARGET_SSE2)))))
   14332              :                     return -1;
   14333              :                   return 10126; /* avx512f_vgetmantv2df_mask_round */
   14334              : 
   14335              :                 default:
   14336              :                   return -1;
   14337              :                 }
   14338              : 
   14339              :             case 279:
   14340              :               switch (pattern1408 (x2))
   14341              :                 {
   14342              :                 case 0:
   14343              :                   if (!(
   14344              : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14345              : (TARGET_AVX512F) && (
   14346              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14347              : (TARGET_AVX512F) && (
   14348              : #line 33376 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14349              : (TARGET_AVX10_2) && 
   14350              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14351              : (TARGET_AVX512FP16)))))
   14352              :                     return -1;
   14353              :                   return 11016; /* avx10_2_minmaxsv8hf_mask_round */
   14354              : 
   14355              :                 case 1:
   14356              :                   if (!(
   14357              : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14358              : (TARGET_AVX512F) && (
   14359              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14360              : (TARGET_AVX512F) && 
   14361              : #line 33376 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14362              : (TARGET_AVX10_2))))
   14363              :                     return -1;
   14364              :                   return 11020; /* avx10_2_minmaxsv4sf_mask_round */
   14365              : 
   14366              :                 case 2:
   14367              :                   if (!(
   14368              : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14369              : (TARGET_AVX512F) && (
   14370              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14371              : (TARGET_AVX512F) && (
   14372              : #line 33376 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14373              : (TARGET_AVX10_2) && 
   14374              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14375              : (TARGET_SSE2)))))
   14376              :                     return -1;
   14377              :                   return 11024; /* avx10_2_minmaxsv2df_mask_round */
   14378              : 
   14379              :                 default:
   14380              :                   return -1;
   14381              :                 }
   14382              : 
   14383              :             default:
   14384              :               return -1;
   14385              :             }
   14386              : 
   14387              :         case 4:
   14388              :           if (XINT (x5, 1) != 164)
   14389              :             return -1;
   14390              :           x14 = XVECEXP (x5, 0, 0);
   14391              :           operands[1] = x14;
   14392              :           x15 = XVECEXP (x5, 0, 1);
   14393              :           operands[2] = x15;
   14394              :           x16 = XVECEXP (x5, 0, 2);
   14395              :           operands[3] = x16;
   14396              :           x17 = XVECEXP (x5, 0, 3);
   14397              :           operands[4] = x17;
   14398              :           if (!const_0_to_255_operand (operands[4], E_SImode))
   14399              :             return -1;
   14400              :           x11 = XVECEXP (x2, 0, 1);
   14401              :           if (!const48_operand (x11, E_SImode))
   14402              :             return -1;
   14403              :           x8 = XEXP (x4, 1);
   14404              :           switch (GET_CODE (x8))
   14405              :             {
   14406              :             case CONST_INT:
   14407              :             case CONST_DOUBLE:
   14408              :             case CONST_VECTOR:
   14409              :               operands[5] = x8;
   14410              :               x6 = XEXP (x3, 2);
   14411              :               if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   14412              :                 return -1;
   14413              :               x9 = XEXP (x4, 2);
   14414              :               operands[6] = x9;
   14415              :               if (!register_operand (operands[6], E_QImode))
   14416              :                 return -1;
   14417              :               operands[7] = x11;
   14418              :               x10 = XEXP (x3, 1);
   14419              :               if (!rtx_equal_p (x10, operands[2]))
   14420              :                 return -1;
   14421              :               switch (GET_MODE (operands[0]))
   14422              :                 {
   14423              :                 case E_V4SFmode:
   14424              :                   if (pattern1790 (x2, 
   14425              : E_V4SFmode, 
   14426              : E_V4SImode) != 0
   14427              :                       || !
   14428              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14429              : (TARGET_AVX512F))
   14430              :                     return -1;
   14431              :                   return 7162; /* avx512f_sfixupimmv4sf_maskz_1_round */
   14432              : 
   14433              :                 case E_V2DFmode:
   14434              :                   if (pattern1790 (x2, 
   14435              : E_V2DFmode, 
   14436              : E_V2DImode) != 0
   14437              :                       || !(
   14438              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14439              : (TARGET_AVX512F) && (
   14440              : #line 154 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14441              : (TARGET_AVX512F) && (
   14442              : #line 14519 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14443              : (TARGET_AVX512F) && 
   14444              : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14445              : (TARGET_SSE2)))))
   14446              :                     return -1;
   14447              :                   return 7166; /* avx512f_sfixupimmv2df_maskz_1_round */
   14448              : 
   14449              :                 default:
   14450              :                   return -1;
   14451              :                 }
   14452              : 
   14453              :             case REG:
   14454              :             case SUBREG:
   14455              :               if (!rtx_equal_p (x8, operands[2]))
   14456              :                 return -1;
   14457              :               x9 = XEXP (x4, 2);
   14458              :               if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   14459              :                 return -1;
   14460              :               x6 = XEXP (x3, 2);
   14461              :               operands[5] = x6;
   14462              :               if (!register_operand (operands[5], E_QImode))
   14463              :                 return -1;
   14464              :               operands[6] = x11;
   14465              :               x10 = XEXP (x3, 1);
   14466              :               if (!rtx_equal_p (x10, operands[1]))
   14467              :                 return -1;
   14468              :               switch (GET_MODE (operands[0]))
   14469              :                 {
   14470              :                 case E_V4SFmode:
   14471              :                   if (pattern1791 (x2, 
   14472              : E_V4SImode, 
   14473              : E_V4SFmode) != 0
   14474              :                       || !
   14475              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14476              : (TARGET_AVX512F))
   14477              :                     return -1;
   14478              :                   return 7168; /* avx512f_sfixupimmv4sf_mask_round */
   14479              : 
   14480              :                 case E_V2DFmode:
   14481              :                   if (pattern1791 (x2, 
   14482              : E_V2DImode, 
   14483              : E_V2DFmode) != 0
   14484              :                       || !(
   14485              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14486              : (TARGET_AVX512F) && (
   14487              : #line 14538 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14488              : (TARGET_AVX512F) && 
   14489              : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14490              : (TARGET_SSE2))))
   14491              :                     return -1;
   14492              :                   return 7170; /* avx512f_sfixupimmv2df_mask_round */
   14493              : 
   14494              :                 default:
   14495              :                   return -1;
   14496              :                 }
   14497              : 
   14498              :             default:
   14499              :               return -1;
   14500              :             }
   14501              : 
   14502              :         default:
   14503              :           return -1;
   14504              :         }
   14505              : 
   14506              :     case FMA:
   14507              :       return recog_222 (x1, insn, pnum_clobbers);
   14508              : 
   14509              :     case FLOAT_EXTEND:
   14510              :       if (GET_MODE (x5) != E_V2DFmode)
   14511              :         return -1;
   14512              :       x7 = XEXP (x5, 0);
   14513              :       if (pattern908 (x7, 
   14514              : 2, 
   14515              : E_V2SFmode) != 0)
   14516              :         return -1;
   14517              :       x18 = XEXP (x7, 1);
   14518              :       x19 = XVECEXP (x18, 0, 1);
   14519              :       if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   14520              :         return -1;
   14521              :       x9 = XEXP (x4, 2);
   14522              :       if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
   14523              :           || pattern1487 (x2) != 0)
   14524              :         return -1;
   14525              :       x12 = XEXP (x7, 0);
   14526              :       operands[2] = x12;
   14527              :       if (!register_operand (operands[2], E_V4SFmode))
   14528              :         return -1;
   14529              :       x8 = XEXP (x4, 1);
   14530              :       operands[1] = x8;
   14531              :       if (!register_operand (operands[1], E_V2DFmode))
   14532              :         return -1;
   14533              :       x10 = XEXP (x3, 1);
   14534              :       operands[3] = x10;
   14535              :       if (!nonimm_or_0_operand (operands[3], E_V2DFmode))
   14536              :         return -1;
   14537              :       x6 = XEXP (x3, 2);
   14538              :       operands[4] = x6;
   14539              :       if (!register_operand (operands[4], E_QImode))
   14540              :         return -1;
   14541              :       x11 = XVECEXP (x2, 0, 1);
   14542              :       operands[5] = x11;
   14543              :       if (!const48_operand (operands[5], E_SImode)
   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 10377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14550              : (TARGET_SSE2))))
   14551              :         return -1;
   14552              :       return 5188; /* sse2_cvtss2sd_mask_round */
   14553              : 
   14554              :     default:
   14555              :       return -1;
   14556              :     }
   14557              : }
   14558              : 
   14559              :  int
   14560              : recog_253 (rtx x1 ATTRIBUTE_UNUSED,
   14561              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   14562              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   14563              : {
   14564              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   14565              :   rtx x2, x3, x4, x5, x6;
   14566              :   int res ATTRIBUTE_UNUSED;
   14567              :   x2 = XEXP (x1, 0);
   14568              :   operands[0] = x2;
   14569              :   x3 = XEXP (x1, 1);
   14570              :   x4 = XVECEXP (x3, 0, 0);
   14571              :   switch (GET_CODE (x4))
   14572              :     {
   14573              :     case CONST_VECTOR:
   14574              :       switch (pattern497 (x3))
   14575              :         {
   14576              :         case 0:
   14577              :           if (!
   14578              : #line 21938 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14579              : (TARGET_AVX512VL && TARGET_AVX512VBMI
   14580              :    && ix86_pre_reload_split ()))
   14581              :             return -1;
   14582              :           return 8528; /* *vec_concatv16qi_permt2 */
   14583              : 
   14584              :         case 1:
   14585              :           if (!
   14586              : #line 21963 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14587              : (TARGET_AVX512VL && TARGET_AVX512BW
   14588              :    && ix86_pre_reload_split ()))
   14589              :             return -1;
   14590              :           return 8529; /* *vec_concatv8hi_permt2 */
   14591              : 
   14592              :         default:
   14593              :           return -1;
   14594              :         }
   14595              : 
   14596              :     case REG:
   14597              :     case SUBREG:
   14598              :       operands[1] = x4;
   14599              :       x5 = XVECEXP (x3, 0, 1);
   14600              :       operands[2] = x5;
   14601              :       x6 = XVECEXP (x3, 0, 2);
   14602              :       operands[3] = x6;
   14603              :       switch (GET_MODE (operands[0]))
   14604              :         {
   14605              :         case E_V16SImode:
   14606              :           if (pattern178 (x3, 
   14607              : E_V16SImode) != 0
   14608              :               || !
   14609              : #line 28926 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14610              : (TARGET_AVX512F))
   14611              :             return -1;
   14612              :           return 9455; /* avx512f_vpermt2varv16si3 */
   14613              : 
   14614              :         case E_V16SFmode:
   14615              :           if (pattern1037 (x3, 
   14616              : E_V16SFmode, 
   14617              : E_V16SImode) != 0
   14618              :               || !
   14619              : #line 28926 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14620              : (TARGET_AVX512F))
   14621              :             return -1;
   14622              :           return 9457; /* avx512f_vpermt2varv16sf3 */
   14623              : 
   14624              :         case E_V8DImode:
   14625              :           if (pattern178 (x3, 
   14626              : E_V8DImode) != 0
   14627              :               || !
   14628              : #line 28926 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14629              : (TARGET_AVX512F))
   14630              :             return -1;
   14631              :           return 9459; /* avx512f_vpermt2varv8di3 */
   14632              : 
   14633              :         case E_V8DFmode:
   14634              :           if (pattern1037 (x3, 
   14635              : E_V8DFmode, 
   14636              : E_V8DImode) != 0
   14637              :               || !
   14638              : #line 28926 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14639              : (TARGET_AVX512F))
   14640              :             return -1;
   14641              :           return 9461; /* avx512f_vpermt2varv8df3 */
   14642              : 
   14643              :         case E_V8SImode:
   14644              :           if (pattern178 (x3, 
   14645              : E_V8SImode) != 0
   14646              :               || !(
   14647              : #line 28926 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14648              : (TARGET_AVX512F) && 
   14649              : #line 28835 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14650              : (TARGET_AVX512VL)))
   14651              :             return -1;
   14652              :           return 9463; /* avx512vl_vpermt2varv8si3 */
   14653              : 
   14654              :         case E_V8SFmode:
   14655              :           if (pattern1037 (x3, 
   14656              : E_V8SFmode, 
   14657              : E_V8SImode) != 0
   14658              :               || !(
   14659              : #line 28926 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14660              : (TARGET_AVX512F) && 
   14661              : #line 28835 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14662              : (TARGET_AVX512VL)))
   14663              :             return -1;
   14664              :           return 9465; /* avx512vl_vpermt2varv8sf3 */
   14665              : 
   14666              :         case E_V4DImode:
   14667              :           if (pattern178 (x3, 
   14668              : E_V4DImode) != 0
   14669              :               || !(
   14670              : #line 28926 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14671              : (TARGET_AVX512F) && 
   14672              : #line 28836 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14673              : (TARGET_AVX512VL)))
   14674              :             return -1;
   14675              :           return 9467; /* avx512vl_vpermt2varv4di3 */
   14676              : 
   14677              :         case E_V4DFmode:
   14678              :           if (pattern1037 (x3, 
   14679              : E_V4DFmode, 
   14680              : E_V4DImode) != 0
   14681              :               || !(
   14682              : #line 28926 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14683              : (TARGET_AVX512F) && 
   14684              : #line 28836 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14685              : (TARGET_AVX512VL)))
   14686              :             return -1;
   14687              :           return 9469; /* avx512vl_vpermt2varv4df3 */
   14688              : 
   14689              :         case E_V4SImode:
   14690              :           if (pattern178 (x3, 
   14691              : E_V4SImode) != 0
   14692              :               || !(
   14693              : #line 28926 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14694              : (TARGET_AVX512F) && 
   14695              : #line 28837 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14696              : (TARGET_AVX512VL)))
   14697              :             return -1;
   14698              :           return 9471; /* avx512vl_vpermt2varv4si3 */
   14699              : 
   14700              :         case E_V4SFmode:
   14701              :           if (pattern1037 (x3, 
   14702              : E_V4SFmode, 
   14703              : E_V4SImode) != 0
   14704              :               || !(
   14705              : #line 28926 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14706              : (TARGET_AVX512F) && 
   14707              : #line 28837 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14708              : (TARGET_AVX512VL)))
   14709              :             return -1;
   14710              :           return 9473; /* avx512vl_vpermt2varv4sf3 */
   14711              : 
   14712              :         case E_V2DImode:
   14713              :           if (pattern178 (x3, 
   14714              : E_V2DImode) != 0
   14715              :               || !(
   14716              : #line 28926 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14717              : (TARGET_AVX512F) && 
   14718              : #line 28838 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14719              : (TARGET_AVX512VL)))
   14720              :             return -1;
   14721              :           return 9475; /* avx512vl_vpermt2varv2di3 */
   14722              : 
   14723              :         case E_V2DFmode:
   14724              :           if (pattern1037 (x3, 
   14725              : E_V2DFmode, 
   14726              : E_V2DImode) != 0
   14727              :               || !(
   14728              : #line 28926 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14729              : (TARGET_AVX512F) && 
   14730              : #line 28838 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14731              : (TARGET_AVX512VL)))
   14732              :             return -1;
   14733              :           return 9477; /* avx512vl_vpermt2varv2df3 */
   14734              : 
   14735              :         case E_V32HImode:
   14736              :           if (pattern178 (x3, 
   14737              : E_V32HImode) != 0
   14738              :               || !(
   14739              : #line 28926 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14740              : (TARGET_AVX512F) && 
   14741              : #line 28839 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14742              : (TARGET_AVX512BW)))
   14743              :             return -1;
   14744              :           return 9479; /* avx512bw_vpermt2varv32hi3 */
   14745              : 
   14746              :         case E_V16HImode:
   14747              :           if (pattern178 (x3, 
   14748              : E_V16HImode) != 0
   14749              :               || !(
   14750              : #line 28926 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14751              : (TARGET_AVX512F) && 
   14752              : #line 28840 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14753              : (TARGET_AVX512BW && TARGET_AVX512VL)))
   14754              :             return -1;
   14755              :           return 9481; /* avx512vl_vpermt2varv16hi3 */
   14756              : 
   14757              :         case E_V8HImode:
   14758              :           if (pattern178 (x3, 
   14759              : E_V8HImode) != 0
   14760              :               || !(
   14761              : #line 28926 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14762              : (TARGET_AVX512F) && 
   14763              : #line 28841 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14764              : (TARGET_AVX512BW && TARGET_AVX512VL)))
   14765              :             return -1;
   14766              :           return 9483; /* avx512vl_vpermt2varv8hi3 */
   14767              : 
   14768              :         case E_V64QImode:
   14769              :           if (pattern178 (x3, 
   14770              : E_V64QImode) != 0
   14771              :               || !(
   14772              : #line 28926 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14773              : (TARGET_AVX512F) && 
   14774              : #line 28842 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14775              : (TARGET_AVX512VBMI)))
   14776              :             return -1;
   14777              :           return 9485; /* avx512bw_vpermt2varv64qi3 */
   14778              : 
   14779              :         case E_V32QImode:
   14780              :           if (pattern178 (x3, 
   14781              : E_V32QImode) != 0
   14782              :               || !(
   14783              : #line 28926 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14784              : (TARGET_AVX512F) && 
   14785              : #line 28843 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14786              : (TARGET_AVX512VBMI && TARGET_AVX512VL)))
   14787              :             return -1;
   14788              :           return 9487; /* avx512vl_vpermt2varv32qi3 */
   14789              : 
   14790              :         case E_V16QImode:
   14791              :           if (pattern178 (x3, 
   14792              : E_V16QImode) != 0
   14793              :               || !(
   14794              : #line 28926 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14795              : (TARGET_AVX512F) && 
   14796              : #line 28844 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14797              : (TARGET_AVX512VBMI && TARGET_AVX512VL)))
   14798              :             return -1;
   14799              :           return 9489; /* avx512vl_vpermt2varv16qi3 */
   14800              : 
   14801              :         case E_V32HFmode:
   14802              :           if (pattern1037 (x3, 
   14803              : E_V32HFmode, 
   14804              : E_V32HImode) != 0
   14805              :               || !
   14806              : #line 28941 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14807              : (TARGET_AVX512BW))
   14808              :             return -1;
   14809              :           return 9491; /* avx512bw_vpermt2varv32hf3 */
   14810              : 
   14811              :         case E_V16HFmode:
   14812              :           if (pattern1037 (x3, 
   14813              : E_V16HFmode, 
   14814              : E_V16HImode) != 0
   14815              :               || !(
   14816              : #line 28941 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14817              : (TARGET_AVX512BW) && 
   14818              : #line 548 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14819              : (TARGET_AVX512VL)))
   14820              :             return -1;
   14821              :           return 9493; /* avx512vl_vpermt2varv16hf3 */
   14822              : 
   14823              :         case E_V8HFmode:
   14824              :           if (pattern1037 (x3, 
   14825              : E_V8HFmode, 
   14826              : E_V8HImode) != 0
   14827              :               || !(
   14828              : #line 28941 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14829              : (TARGET_AVX512BW) && 
   14830              : #line 548 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14831              : (TARGET_AVX512VL)))
   14832              :             return -1;
   14833              :           return 9495; /* avx512fp16_vpermt2varv8hf3 */
   14834              : 
   14835              :         case E_V32BFmode:
   14836              :           if (pattern1037 (x3, 
   14837              : E_V32BFmode, 
   14838              : E_V32HImode) != 0
   14839              :               || !
   14840              : #line 28941 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14841              : (TARGET_AVX512BW))
   14842              :             return -1;
   14843              :           return 9497; /* avx512bw_vpermt2varv32bf3 */
   14844              : 
   14845              :         case E_V16BFmode:
   14846              :           if (pattern1037 (x3, 
   14847              : E_V16BFmode, 
   14848              : E_V16HImode) != 0
   14849              :               || !(
   14850              : #line 28941 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14851              : (TARGET_AVX512BW) && 
   14852              : #line 549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14853              : (TARGET_AVX512VL)))
   14854              :             return -1;
   14855              :           return 9499; /* avx512vl_vpermt2varv16bf3 */
   14856              : 
   14857              :         case E_V8BFmode:
   14858              :           if (pattern1037 (x3, 
   14859              : E_V8BFmode, 
   14860              : E_V8HImode) != 0
   14861              :               || !(
   14862              : #line 28941 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14863              : (TARGET_AVX512BW) && 
   14864              : #line 549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14865              : (TARGET_AVX512VL)))
   14866              :             return -1;
   14867              :           return 9501; /* avx512vl_vpermt2varv8bf3 */
   14868              : 
   14869              :         default:
   14870              :           return -1;
   14871              :         }
   14872              : 
   14873              :     default:
   14874              :       return -1;
   14875              :     }
   14876              : }
   14877              : 
   14878              :  int
   14879              : recog_254 (rtx x1 ATTRIBUTE_UNUSED,
   14880              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   14881              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   14882              : {
   14883              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   14884              :   rtx x2, x3, x4, x5, x6;
   14885              :   int res ATTRIBUTE_UNUSED;
   14886              :   x2 = XEXP (x1, 0);
   14887              :   operands[0] = x2;
   14888              :   x3 = XEXP (x1, 1);
   14889              :   x4 = XVECEXP (x3, 0, 0);
   14890              :   operands[1] = x4;
   14891              :   x5 = XVECEXP (x3, 0, 2);
   14892              :   operands[2] = x5;
   14893              :   x6 = XVECEXP (x3, 0, 1);
   14894              :   if (!rtx_equal_p (x6, operands[0]))
   14895              :     return -1;
   14896              :   switch (GET_MODE (operands[0]))
   14897              :     {
   14898              :     case E_V16SImode:
   14899              :       if (pattern916 (x3, 
   14900              : E_HImode, 
   14901              : E_V16SImode) != 0
   14902              :           || !
   14903              : #line 30381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14904              : (TARGET_AVX512F))
   14905              :         return -1;
   14906              :       return 9977; /* avx512f_compressstorev16si_mask */
   14907              : 
   14908              :     case E_V16SFmode:
   14909              :       if (pattern916 (x3, 
   14910              : E_HImode, 
   14911              : E_V16SFmode) != 0
   14912              :           || !
   14913              : #line 30381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14914              : (TARGET_AVX512F))
   14915              :         return -1;
   14916              :       return 9978; /* avx512f_compressstorev16sf_mask */
   14917              : 
   14918              :     case E_V8DImode:
   14919              :       if (pattern916 (x3, 
   14920              : E_QImode, 
   14921              : E_V8DImode) != 0
   14922              :           || !
   14923              : #line 30381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14924              : (TARGET_AVX512F))
   14925              :         return -1;
   14926              :       return 9979; /* avx512f_compressstorev8di_mask */
   14927              : 
   14928              :     case E_V8DFmode:
   14929              :       if (pattern916 (x3, 
   14930              : E_QImode, 
   14931              : E_V8DFmode) != 0
   14932              :           || !
   14933              : #line 30381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14934              : (TARGET_AVX512F))
   14935              :         return -1;
   14936              :       return 9980; /* avx512f_compressstorev8df_mask */
   14937              : 
   14938              :     case E_V8SImode:
   14939              :       if (pattern916 (x3, 
   14940              : E_QImode, 
   14941              : E_V8SImode) != 0
   14942              :           || !(
   14943              : #line 30381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14944              : (TARGET_AVX512F) && 
   14945              : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14946              : (TARGET_AVX512VL)))
   14947              :         return -1;
   14948              :       return 9981; /* avx512vl_compressstorev8si_mask */
   14949              : 
   14950              :     case E_V8SFmode:
   14951              :       if (pattern916 (x3, 
   14952              : E_QImode, 
   14953              : E_V8SFmode) != 0
   14954              :           || !(
   14955              : #line 30381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14956              : (TARGET_AVX512F) && 
   14957              : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14958              : (TARGET_AVX512VL)))
   14959              :         return -1;
   14960              :       return 9982; /* avx512vl_compressstorev8sf_mask */
   14961              : 
   14962              :     case E_V4DImode:
   14963              :       if (pattern916 (x3, 
   14964              : E_QImode, 
   14965              : E_V4DImode) != 0
   14966              :           || !(
   14967              : #line 30381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14968              : (TARGET_AVX512F) && 
   14969              : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14970              : (TARGET_AVX512VL)))
   14971              :         return -1;
   14972              :       return 9983; /* avx512vl_compressstorev4di_mask */
   14973              : 
   14974              :     case E_V4DFmode:
   14975              :       if (pattern916 (x3, 
   14976              : E_QImode, 
   14977              : E_V4DFmode) != 0
   14978              :           || !(
   14979              : #line 30381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14980              : (TARGET_AVX512F) && 
   14981              : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14982              : (TARGET_AVX512VL)))
   14983              :         return -1;
   14984              :       return 9984; /* avx512vl_compressstorev4df_mask */
   14985              : 
   14986              :     case E_V4SImode:
   14987              :       if (pattern916 (x3, 
   14988              : E_QImode, 
   14989              : E_V4SImode) != 0
   14990              :           || !(
   14991              : #line 30381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14992              : (TARGET_AVX512F) && 
   14993              : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14994              : (TARGET_AVX512VL)))
   14995              :         return -1;
   14996              :       return 9985; /* avx512vl_compressstorev4si_mask */
   14997              : 
   14998              :     case E_V4SFmode:
   14999              :       if (pattern916 (x3, 
   15000              : E_QImode, 
   15001              : E_V4SFmode) != 0
   15002              :           || !(
   15003              : #line 30381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15004              : (TARGET_AVX512F) && 
   15005              : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15006              : (TARGET_AVX512VL)))
   15007              :         return -1;
   15008              :       return 9986; /* avx512vl_compressstorev4sf_mask */
   15009              : 
   15010              :     case E_V2DImode:
   15011              :       if (pattern916 (x3, 
   15012              : E_QImode, 
   15013              : E_V2DImode) != 0
   15014              :           || !(
   15015              : #line 30381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15016              : (TARGET_AVX512F) && 
   15017              : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15018              : (TARGET_AVX512VL)))
   15019              :         return -1;
   15020              :       return 9987; /* avx512vl_compressstorev2di_mask */
   15021              : 
   15022              :     case E_V2DFmode:
   15023              :       if (pattern916 (x3, 
   15024              : E_QImode, 
   15025              : E_V2DFmode) != 0
   15026              :           || !(
   15027              : #line 30381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15028              : (TARGET_AVX512F) && 
   15029              : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15030              : (TARGET_AVX512VL)))
   15031              :         return -1;
   15032              :       return 9988; /* avx512vl_compressstorev2df_mask */
   15033              : 
   15034              :     case E_V64QImode:
   15035              :       if (pattern916 (x3, 
   15036              : E_DImode, 
   15037              : E_V64QImode) != 0
   15038              :           || !
   15039              : #line 30395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15040              : (TARGET_AVX512VBMI2))
   15041              :         return -1;
   15042              :       return 9989; /* compressstorev64qi_mask */
   15043              : 
   15044              :     case E_V16QImode:
   15045              :       if (pattern916 (x3, 
   15046              : E_HImode, 
   15047              : E_V16QImode) != 0
   15048              :           || !(
   15049              : #line 30395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15050              : (TARGET_AVX512VBMI2) && 
   15051              : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15052              : (TARGET_AVX512VL)))
   15053              :         return -1;
   15054              :       return 9990; /* compressstorev16qi_mask */
   15055              : 
   15056              :     case E_V32QImode:
   15057              :       if (pattern916 (x3, 
   15058              : E_SImode, 
   15059              : E_V32QImode) != 0
   15060              :           || !(
   15061              : #line 30395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15062              : (TARGET_AVX512VBMI2) && 
   15063              : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15064              : (TARGET_AVX512VL)))
   15065              :         return -1;
   15066              :       return 9991; /* compressstorev32qi_mask */
   15067              : 
   15068              :     case E_V32HImode:
   15069              :       if (pattern916 (x3, 
   15070              : E_SImode, 
   15071              : E_V32HImode) != 0
   15072              :           || !
   15073              : #line 30395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15074              : (TARGET_AVX512VBMI2))
   15075              :         return -1;
   15076              :       return 9992; /* compressstorev32hi_mask */
   15077              : 
   15078              :     case E_V16HImode:
   15079              :       if (pattern916 (x3, 
   15080              : E_HImode, 
   15081              : E_V16HImode) != 0
   15082              :           || !(
   15083              : #line 30395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15084              : (TARGET_AVX512VBMI2) && 
   15085              : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15086              : (TARGET_AVX512VL)))
   15087              :         return -1;
   15088              :       return 9993; /* compressstorev16hi_mask */
   15089              : 
   15090              :     case E_V8HImode:
   15091              :       if (pattern916 (x3, 
   15092              : E_QImode, 
   15093              : E_V8HImode) != 0
   15094              :           || !(
   15095              : #line 30395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15096              : (TARGET_AVX512VBMI2) && 
   15097              : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15098              : (TARGET_AVX512VL)))
   15099              :         return -1;
   15100              :       return 9994; /* compressstorev8hi_mask */
   15101              : 
   15102              :     default:
   15103              :       return -1;
   15104              :     }
   15105              : }
   15106              : 
   15107              :  int
   15108              : recog_263 (rtx x1 ATTRIBUTE_UNUSED,
   15109              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   15110              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   15111              : {
   15112              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   15113              :   rtx x2, x3, x4, x5, x6;
   15114              :   int res ATTRIBUTE_UNUSED;
   15115              :   x2 = XEXP (x1, 0);
   15116              :   operands[0] = x2;
   15117              :   x3 = XEXP (x1, 1);
   15118              :   x4 = XVECEXP (x3, 0, 0);
   15119              :   operands[1] = x4;
   15120              :   x5 = XVECEXP (x3, 0, 1);
   15121              :   operands[2] = x5;
   15122              :   x6 = XVECEXP (x3, 0, 2);
   15123              :   operands[3] = x6;
   15124              :   if (!const_int_operand (operands[3], E_SImode))
   15125              :     return -1;
   15126              :   switch (GET_MODE (operands[0]))
   15127              :     {
   15128              :     case E_V16QImode:
   15129              :       if (pattern64 (x3, 
   15130              : E_V16QImode) != 0
   15131              :           || !
   15132              : #line 27758 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15133              : (TARGET_XOP))
   15134              :         return -1;
   15135              :       return 9127; /* xop_pcom_tfv16qi3 */
   15136              : 
   15137              :     case E_V8HImode:
   15138              :       if (pattern64 (x3, 
   15139              : E_V8HImode) != 0
   15140              :           || !
   15141              : #line 27758 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15142              : (TARGET_XOP))
   15143              :         return -1;
   15144              :       return 9128; /* xop_pcom_tfv8hi3 */
   15145              : 
   15146              :     case E_V4SImode:
   15147              :       if (pattern64 (x3, 
   15148              : E_V4SImode) != 0
   15149              :           || !
   15150              : #line 27758 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15151              : (TARGET_XOP))
   15152              :         return -1;
   15153              :       return 9129; /* xop_pcom_tfv4si3 */
   15154              : 
   15155              :     case E_V2DImode:
   15156              :       if (pattern64 (x3, 
   15157              : E_V2DImode) != 0
   15158              :           || !
   15159              : #line 27758 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15160              : (TARGET_XOP))
   15161              :         return -1;
   15162              :       return 9130; /* xop_pcom_tfv2di3 */
   15163              : 
   15164              :     default:
   15165              :       return -1;
   15166              :     }
   15167              : }
   15168              : 
   15169              :  int
   15170              : recog_266 (rtx x1 ATTRIBUTE_UNUSED,
   15171              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   15172              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   15173              : {
   15174              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   15175              :   rtx x2, x3, x4, x5;
   15176              :   int res ATTRIBUTE_UNUSED;
   15177              :   x2 = XEXP (x1, 0);
   15178              :   operands[0] = x2;
   15179              :   x3 = XEXP (x1, 1);
   15180              :   x4 = XVECEXP (x3, 0, 0);
   15181              :   operands[1] = x4;
   15182              :   x5 = XVECEXP (x3, 0, 1);
   15183              :   operands[2] = x5;
   15184              :   switch (pattern677 (x3))
   15185              :     {
   15186              :     case 0:
   15187              :       if (
   15188              : #line 7507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15189              : (TARGET_AVX512FP16 && 1 && 1))
   15190              :         return 4361; /* fma_fmaddc_v32hf */
   15191              :       break;
   15192              : 
   15193              :     case 1:
   15194              :       if ((
   15195              : #line 7507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15196              : (TARGET_AVX512FP16 && 1 && 1) && 
   15197              : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15198              : (TARGET_AVX512VL)))
   15199              :         return 4369; /* fma_fmaddc_v16hf */
   15200              :       break;
   15201              : 
   15202              :     case 2:
   15203              :       if ((
   15204              : #line 7507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15205              : (TARGET_AVX512FP16 && 1 && 1) && 
   15206              : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15207              : (TARGET_AVX512VL)))
   15208              :         return 4373; /* fma_fmaddc_v8hf */
   15209              :       break;
   15210              : 
   15211              :     default:
   15212              :       break;
   15213              :     }
   15214              :   if (GET_CODE (x5) != SUBREG
   15215              :       || maybe_ne (SUBREG_BYTE (x5), 0))
   15216              :     return -1;
   15217              :   switch (pattern602 (x3))
   15218              :     {
   15219              :     case 0:
   15220              :       if (!
   15221              : #line 7586 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15222              : (TARGET_AVX512FP16 && ix86_pre_reload_split ()))
   15223              :         return -1;
   15224              :       return 4395; /* fma_v32hf_fmaddc_bcst */
   15225              : 
   15226              :     case 1:
   15227              :       if (!(
   15228              : #line 7586 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15229              : (TARGET_AVX512FP16 && ix86_pre_reload_split ()) && 
   15230              : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15231              : (TARGET_AVX512VL)))
   15232              :         return -1;
   15233              :       return 4396; /* fma_v16hf_fmaddc_bcst */
   15234              : 
   15235              :     case 2:
   15236              :       if (!(
   15237              : #line 7586 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15238              : (TARGET_AVX512FP16 && ix86_pre_reload_split ()) && 
   15239              : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15240              : (TARGET_AVX512VL)))
   15241              :         return -1;
   15242              :       return 4397; /* fma_v8hf_fmaddc_bcst */
   15243              : 
   15244              :     default:
   15245              :       return -1;
   15246              :     }
   15247              : }
   15248              : 
   15249              :  int
   15250              : recog_272 (rtx x1 ATTRIBUTE_UNUSED,
   15251              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   15252              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   15253              : {
   15254              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   15255              :   rtx x2, x3, x4;
   15256              :   int res ATTRIBUTE_UNUSED;
   15257              :   x2 = XEXP (x1, 1);
   15258              :   x3 = XEXP (x2, 0);
   15259              :   operands[1] = x3;
   15260              :   x4 = XEXP (x2, 1);
   15261              :   switch (GET_CODE (x4))
   15262              :     {
   15263              :     case REG:
   15264              :     case SUBREG:
   15265              :     case MEM:
   15266              :       switch (GET_MODE (operands[0]))
   15267              :         {
   15268              :         case E_V4SFmode:
   15269              :           if (pattern799 (x2, 
   15270              : E_V2SFmode, 
   15271              : E_V4SFmode) == 0
   15272              :               && 
   15273              : #line 12161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15274              : (TARGET_SSE))
   15275              :             return 5301; /* *vec_concatv4sf */
   15276              :           break;
   15277              : 
   15278              :         case E_V8HFmode:
   15279              :           if (pattern799 (x2, 
   15280              : E_V4HFmode, 
   15281              : E_V8HFmode) == 0
   15282              :               && 
   15283              : #line 12161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15284              : (TARGET_SSE))
   15285              :             return 5302; /* *vec_concatv8hf */
   15286              :           break;
   15287              : 
   15288              :         case E_V8BFmode:
   15289              :           if (pattern799 (x2, 
   15290              : E_V4BFmode, 
   15291              : E_V8BFmode) == 0
   15292              :               && 
   15293              : #line 12161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15294              : (TARGET_SSE))
   15295              :             return 5303; /* *vec_concatv8bf */
   15296              :           break;
   15297              : 
   15298              :         case E_V16QImode:
   15299              :           if (pattern799 (x2, 
   15300              : E_V8QImode, 
   15301              : E_V16QImode) == 0
   15302              :               && 
   15303              : #line 21912 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15304              : (TARGET_SSE))
   15305              :             return 8525; /* *vec_concatv16qi */
   15306              :           break;
   15307              : 
   15308              :         case E_V8HImode:
   15309              :           if (pattern799 (x2, 
   15310              : E_V4HImode, 
   15311              : E_V8HImode) == 0
   15312              :               && 
   15313              : #line 21912 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15314              : (TARGET_SSE))
   15315              :             return 8526; /* *vec_concatv8hi */
   15316              :           break;
   15317              : 
   15318              :         case E_V4SImode:
   15319              :           if (pattern799 (x2, 
   15320              : E_V2SImode, 
   15321              : E_V4SImode) == 0
   15322              :               && 
   15323              : #line 21912 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15324              : (TARGET_SSE))
   15325              :             return 8527; /* *vec_concatv4si */
   15326              :           break;
   15327              : 
   15328              :         case E_V2DImode:
   15329              :           if (pattern799 (x2, 
   15330              : E_DImode, 
   15331              : E_V2DImode) == 0
   15332              :               && 
   15333              : #line 22000 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15334              : (TARGET_SSE))
   15335              :             return 8533; /* vec_concatv2di */
   15336              :           break;
   15337              : 
   15338              :         case E_V32QImode:
   15339              :           if (register_operand (operands[0], E_V32QImode)
   15340              :               && GET_MODE (x2) == E_V32QImode
   15341              :               && rtx_equal_p (x4, operands[1]))
   15342              :             {
   15343              :               if (memory_operand (operands[1], E_V16QImode)
   15344              :                   && 
   15345              : #line 28575 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15346              : (TARGET_AVX2))
   15347              :                 return 9358; /* avx2_vbroadcasti128_v32qi */
   15348              :               if (nonimmediate_operand (operands[1], E_V16QImode)
   15349              :                   && 
   15350              : #line 28690 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15351              : (TARGET_AVX))
   15352              :                 return 9377; /* avx_vbroadcastf128_v32qi */
   15353              :             }
   15354              :           break;
   15355              : 
   15356              :         case E_V16HImode:
   15357              :           if (register_operand (operands[0], E_V16HImode)
   15358              :               && GET_MODE (x2) == E_V16HImode
   15359              :               && rtx_equal_p (x4, operands[1]))
   15360              :             {
   15361              :               if (memory_operand (operands[1], E_V8HImode)
   15362              :                   && 
   15363              : #line 28575 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15364              : (TARGET_AVX2))
   15365              :                 return 9359; /* avx2_vbroadcasti128_v16hi */
   15366              :               if (nonimmediate_operand (operands[1], E_V8HImode)
   15367              :                   && 
   15368              : #line 28690 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15369              : (TARGET_AVX))
   15370              :                 return 9378; /* avx_vbroadcastf128_v16hi */
   15371              :             }
   15372              :           break;
   15373              : 
   15374              :         case E_V8SImode:
   15375              :           if (register_operand (operands[0], E_V8SImode)
   15376              :               && GET_MODE (x2) == E_V8SImode
   15377              :               && rtx_equal_p (x4, operands[1]))
   15378              :             {
   15379              :               if (memory_operand (operands[1], E_V4SImode)
   15380              :                   && 
   15381              : #line 28575 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15382              : (TARGET_AVX2))
   15383              :                 return 9360; /* avx2_vbroadcasti128_v8si */
   15384              :               if (nonimmediate_operand (operands[1], E_V4SImode)
   15385              :                   && 
   15386              : #line 28690 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15387              : (TARGET_AVX))
   15388              :                 return 9379; /* avx_vbroadcastf128_v8si */
   15389              :             }
   15390              :           break;
   15391              : 
   15392              :         case E_V4DImode:
   15393              :           if (register_operand (operands[0], E_V4DImode)
   15394              :               && GET_MODE (x2) == E_V4DImode
   15395              :               && memory_operand (operands[1], E_V2DImode)
   15396              :               && rtx_equal_p (x4, operands[1])
   15397              :               && 
   15398              : #line 28575 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15399              : (TARGET_AVX2))
   15400              :             return 9361; /* avx2_vbroadcasti128_v4di */
   15401              :           break;
   15402              : 
   15403              :         case E_V8SFmode:
   15404              :           if (pattern800 (x2, 
   15405              : E_V4SFmode, 
   15406              : E_V8SFmode) == 0
   15407              :               && 
   15408              : #line 28690 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15409              : (TARGET_AVX))
   15410              :             return 9381; /* avx_vbroadcastf128_v8sf */
   15411              :           break;
   15412              : 
   15413              :         case E_V4DFmode:
   15414              :           if (pattern800 (x2, 
   15415              : E_V2DFmode, 
   15416              : E_V4DFmode) == 0
   15417              :               && 
   15418              : #line 28690 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15419              : (TARGET_AVX))
   15420              :             return 9382; /* avx_vbroadcastf128_v4df */
   15421              :           break;
   15422              : 
   15423              :         case E_V16HFmode:
   15424              :           if (pattern800 (x2, 
   15425              : E_V8HFmode, 
   15426              : E_V16HFmode) == 0
   15427              :               && 
   15428              : #line 28690 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15429              : (TARGET_AVX))
   15430              :             return 9383; /* avx_vbroadcastf128_v16hf */
   15431              :           break;
   15432              : 
   15433              :         case E_V16BFmode:
   15434              :           if (pattern800 (x2, 
   15435              : E_V8BFmode, 
   15436              : E_V16BFmode) == 0
   15437              :               && 
   15438              : #line 28690 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15439              : (TARGET_AVX))
   15440              :             return 9384; /* avx_vbroadcastf128_v16bf */
   15441              :           break;
   15442              : 
   15443              :         default:
   15444              :           break;
   15445              :         }
   15446              :       break;
   15447              : 
   15448              :     case CONST_INT:
   15449              :     case CONST_DOUBLE:
   15450              :     case CONST_VECTOR:
   15451              :       operands[2] = x4;
   15452              :       switch (GET_MODE (operands[0]))
   15453              :         {
   15454              :         case E_V4SFmode:
   15455              :           if (pattern923 (x2, 
   15456              : E_V2SFmode, 
   15457              : E_V4SFmode) == 0
   15458              :               && 
   15459              : #line 12177 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15460              : (TARGET_SSE2))
   15461              :             return 5304; /* *vec_concatv4sf_0 */
   15462              :           break;
   15463              : 
   15464              :         case E_V8HFmode:
   15465              :           if (pattern923 (x2, 
   15466              : E_V4HFmode, 
   15467              : E_V8HFmode) == 0
   15468              :               && 
   15469              : #line 12177 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15470              : (TARGET_SSE2))
   15471              :             return 5305; /* *vec_concatv8hf_0 */
   15472              :           break;
   15473              : 
   15474              :         case E_V8BFmode:
   15475              :           if (pattern923 (x2, 
   15476              : E_V4BFmode, 
   15477              : E_V8BFmode) == 0
   15478              :               && 
   15479              : #line 12177 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15480              : (TARGET_SSE2))
   15481              :             return 5306; /* *vec_concatv8bf_0 */
   15482              :           break;
   15483              : 
   15484              :         case E_V16QImode:
   15485              :           if (pattern923 (x2, 
   15486              : E_V8QImode, 
   15487              : E_V16QImode) == 0
   15488              :               && 
   15489              : #line 21983 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15490              : (TARGET_SSE2))
   15491              :             return 8530; /* *vec_concatv16qi_0 */
   15492              :           break;
   15493              : 
   15494              :         case E_V8HImode:
   15495              :           if (pattern923 (x2, 
   15496              : E_V4HImode, 
   15497              : E_V8HImode) == 0
   15498              :               && 
   15499              : #line 21983 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15500              : (TARGET_SSE2))
   15501              :             return 8531; /* *vec_concatv8hi_0 */
   15502              :           break;
   15503              : 
   15504              :         case E_V4SImode:
   15505              :           if (pattern923 (x2, 
   15506              : E_V2SImode, 
   15507              : E_V4SImode) == 0
   15508              :               && 
   15509              : #line 21983 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15510              : (TARGET_SSE2))
   15511              :             return 8532; /* *vec_concatv4si_0 */
   15512              :           break;
   15513              : 
   15514              :         case E_V2DImode:
   15515              :           if (pattern923 (x2, 
   15516              : E_DImode, 
   15517              : E_V2DImode) == 0
   15518              :               && 
   15519              : #line 22074 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15520              : (TARGET_SSE2))
   15521              :             return 8534; /* *vec_concatv2di_0 */
   15522              :           break;
   15523              : 
   15524              :         default:
   15525              :           break;
   15526              :         }
   15527              :       break;
   15528              : 
   15529              :     default:
   15530              :       break;
   15531              :     }
   15532              :   operands[2] = x4;
   15533              :   switch (GET_MODE (operands[0]))
   15534              :     {
   15535              :     case E_V2DFmode:
   15536              :       if (pattern801 (x2, 
   15537              : E_DFmode, 
   15538              : E_V2DFmode) != 0
   15539              :           || !
   15540              : #line 15234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15541              : (TARGET_SSE && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   15542              :         return -1;
   15543              :       return 7256; /* vec_concatv2df */
   15544              : 
   15545              :     case E_V32QImode:
   15546              :       if (pattern801 (x2, 
   15547              : E_V16QImode, 
   15548              : E_V32QImode) != 0
   15549              :           || !
   15550              : #line 29647 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15551              : (TARGET_AVX
   15552              :    && (operands[2] == CONST0_RTX (V16QImode)
   15553              :        || !MEM_P (operands[1]))))
   15554              :         return -1;
   15555              :       return 9680; /* avx_vec_concatv32qi */
   15556              : 
   15557              :     case E_V16HImode:
   15558              :       if (pattern801 (x2, 
   15559              : E_V8HImode, 
   15560              : E_V16HImode) != 0
   15561              :           || !
   15562              : #line 29647 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15563              : (TARGET_AVX
   15564              :    && (operands[2] == CONST0_RTX (V8HImode)
   15565              :        || !MEM_P (operands[1]))))
   15566              :         return -1;
   15567              :       return 9681; /* avx_vec_concatv16hi */
   15568              : 
   15569              :     case E_V16HFmode:
   15570              :       if (pattern801 (x2, 
   15571              : E_V8HFmode, 
   15572              : E_V16HFmode) != 0
   15573              :           || !
   15574              : #line 29647 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15575              : (TARGET_AVX
   15576              :    && (operands[2] == CONST0_RTX (V8HFmode)
   15577              :        || !MEM_P (operands[1]))))
   15578              :         return -1;
   15579              :       return 9682; /* avx_vec_concatv16hf */
   15580              : 
   15581              :     case E_V16BFmode:
   15582              :       if (pattern801 (x2, 
   15583              : E_V8BFmode, 
   15584              : E_V16BFmode) != 0
   15585              :           || !
   15586              : #line 29647 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15587              : (TARGET_AVX
   15588              :    && (operands[2] == CONST0_RTX (V8BFmode)
   15589              :        || !MEM_P (operands[1]))))
   15590              :         return -1;
   15591              :       return 9683; /* avx_vec_concatv16bf */
   15592              : 
   15593              :     case E_V8SImode:
   15594              :       if (pattern801 (x2, 
   15595              : E_V4SImode, 
   15596              : E_V8SImode) != 0
   15597              :           || !
   15598              : #line 29647 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15599              : (TARGET_AVX
   15600              :    && (operands[2] == CONST0_RTX (V4SImode)
   15601              :        || !MEM_P (operands[1]))))
   15602              :         return -1;
   15603              :       return 9684; /* avx_vec_concatv8si */
   15604              : 
   15605              :     case E_V8SFmode:
   15606              :       if (pattern801 (x2, 
   15607              : E_V4SFmode, 
   15608              : E_V8SFmode) != 0
   15609              :           || !
   15610              : #line 29647 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15611              : (TARGET_AVX
   15612              :    && (operands[2] == CONST0_RTX (V4SFmode)
   15613              :        || !MEM_P (operands[1]))))
   15614              :         return -1;
   15615              :       return 9686; /* avx_vec_concatv8sf */
   15616              : 
   15617              :     case E_V4DFmode:
   15618              :       if (pattern801 (x2, 
   15619              : E_V2DFmode, 
   15620              : E_V4DFmode) != 0
   15621              :           || !
   15622              : #line 29647 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15623              : (TARGET_AVX
   15624              :    && (operands[2] == CONST0_RTX (V2DFmode)
   15625              :        || !MEM_P (operands[1]))))
   15626              :         return -1;
   15627              :       return 9687; /* avx_vec_concatv4df */
   15628              : 
   15629              :     case E_V64QImode:
   15630              :       if (pattern801 (x2, 
   15631              : E_V32QImode, 
   15632              : E_V64QImode) != 0
   15633              :           || !(
   15634              : #line 29647 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15635              : (TARGET_AVX
   15636              :    && (operands[2] == CONST0_RTX (V32QImode)
   15637              :        || !MEM_P (operands[1]))) && 
   15638              : #line 375 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15639              : (TARGET_AVX512F)))
   15640              :         return -1;
   15641              :       return 9688; /* avx_vec_concatv64qi */
   15642              : 
   15643              :     case E_V32HImode:
   15644              :       if (pattern801 (x2, 
   15645              : E_V16HImode, 
   15646              : E_V32HImode) != 0
   15647              :           || !(
   15648              : #line 29647 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15649              : (TARGET_AVX
   15650              :    && (operands[2] == CONST0_RTX (V16HImode)
   15651              :        || !MEM_P (operands[1]))) && 
   15652              : #line 375 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15653              : (TARGET_AVX512F)))
   15654              :         return -1;
   15655              :       return 9689; /* avx_vec_concatv32hi */
   15656              : 
   15657              :     case E_V32HFmode:
   15658              :       if (pattern801 (x2, 
   15659              : E_V16HFmode, 
   15660              : E_V32HFmode) != 0
   15661              :           || !(
   15662              : #line 29647 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15663              : (TARGET_AVX
   15664              :    && (operands[2] == CONST0_RTX (V16HFmode)
   15665              :        || !MEM_P (operands[1]))) && 
   15666              : #line 376 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15667              : (TARGET_AVX512F)))
   15668              :         return -1;
   15669              :       return 9690; /* avx_vec_concatv32hf */
   15670              : 
   15671              :     case E_V32BFmode:
   15672              :       if (pattern801 (x2, 
   15673              : E_V16BFmode, 
   15674              : E_V32BFmode) != 0
   15675              :           || !(
   15676              : #line 29647 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15677              : (TARGET_AVX
   15678              :    && (operands[2] == CONST0_RTX (V16BFmode)
   15679              :        || !MEM_P (operands[1]))) && 
   15680              : #line 376 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15681              : (TARGET_AVX512F)))
   15682              :         return -1;
   15683              :       return 9691; /* avx_vec_concatv32bf */
   15684              : 
   15685              :     case E_V16SImode:
   15686              :       if (pattern801 (x2, 
   15687              : E_V8SImode, 
   15688              : E_V16SImode) != 0
   15689              :           || !(
   15690              : #line 29647 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15691              : (TARGET_AVX
   15692              :    && (operands[2] == CONST0_RTX (V8SImode)
   15693              :        || !MEM_P (operands[1]))) && 
   15694              : #line 377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15695              : (TARGET_AVX512F)))
   15696              :         return -1;
   15697              :       return 9692; /* avx_vec_concatv16si */
   15698              : 
   15699              :     case E_V8DImode:
   15700              :       if (pattern801 (x2, 
   15701              : E_V4DImode, 
   15702              : E_V8DImode) != 0
   15703              :           || !(
   15704              : #line 29647 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15705              : (TARGET_AVX
   15706              :    && (operands[2] == CONST0_RTX (V4DImode)
   15707              :        || !MEM_P (operands[1]))) && 
   15708              : #line 377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15709              : (TARGET_AVX512F)))
   15710              :         return -1;
   15711              :       return 9693; /* avx_vec_concatv8di */
   15712              : 
   15713              :     case E_V16SFmode:
   15714              :       if (pattern801 (x2, 
   15715              : E_V8SFmode, 
   15716              : E_V16SFmode) != 0
   15717              :           || !(
   15718              : #line 29647 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15719              : (TARGET_AVX
   15720              :    && (operands[2] == CONST0_RTX (V8SFmode)
   15721              :        || !MEM_P (operands[1]))) && 
   15722              : #line 378 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15723              : (TARGET_AVX512F)))
   15724              :         return -1;
   15725              :       return 9694; /* avx_vec_concatv16sf */
   15726              : 
   15727              :     case E_V8DFmode:
   15728              :       if (pattern801 (x2, 
   15729              : E_V4DFmode, 
   15730              : E_V8DFmode) != 0
   15731              :           || !(
   15732              : #line 29647 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15733              : (TARGET_AVX
   15734              :    && (operands[2] == CONST0_RTX (V4DFmode)
   15735              :        || !MEM_P (operands[1]))) && 
   15736              : #line 378 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15737              : (TARGET_AVX512F)))
   15738              :         return -1;
   15739              :       return 9695; /* avx_vec_concatv8df */
   15740              : 
   15741              :     default:
   15742              :       return -1;
   15743              :     }
   15744              : }
   15745              : 
   15746              :  int
   15747              : recog_280 (rtx x1 ATTRIBUTE_UNUSED,
   15748              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   15749              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   15750              : {
   15751              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   15752              :   rtx x2, x3, x4, x5, x6, x7, x8;
   15753              :   int res ATTRIBUTE_UNUSED;
   15754              :   x2 = XEXP (x1, 1);
   15755              :   x3 = XEXP (x2, 0);
   15756              :   x4 = XEXP (x3, 1);
   15757              :   operands[2] = x4;
   15758              :   x5 = XEXP (x2, 1);
   15759              :   x6 = XVECEXP (x5, 0, 1);
   15760              :   operands[4] = x6;
   15761              :   x7 = XVECEXP (x5, 0, 2);
   15762              :   operands[5] = x7;
   15763              :   x8 = XVECEXP (x5, 0, 3);
   15764              :   operands[6] = x8;
   15765              :   switch (GET_MODE (operands[0]))
   15766              :     {
   15767              :     case E_V4SImode:
   15768              :       if (pattern1531 (x2, 
   15769              : E_V4SImode, 
   15770              : E_V8SImode) != 0
   15771              :           || !
   15772              : #line 11885 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15773              : (TARGET_SSE))
   15774              :         return -1;
   15775              :       return 5286; /* sse_shufps_v4si */
   15776              : 
   15777              :     case E_V4SFmode:
   15778              :       if (pattern1531 (x2, 
   15779              : E_V4SFmode, 
   15780              : E_V8SFmode) != 0
   15781              :           || !
   15782              : #line 11885 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15783              : (TARGET_SSE))
   15784              :         return -1;
   15785              :       return 5287; /* sse_shufps_v4sf */
   15786              : 
   15787              :     case E_V4DFmode:
   15788              :       if (pattern1425 (x2, 
   15789              : E_V4DFmode, 
   15790              : E_V8DFmode) != 0)
   15791              :         return -1;
   15792              :       if (const_0_to_1_operand (operands[3], E_VOIDmode)
   15793              :           && const_4_to_5_operand (operands[4], E_VOIDmode)
   15794              :           && const_2_to_3_operand (operands[5], E_VOIDmode)
   15795              :           && const_6_to_7_operand (operands[6], E_VOIDmode)
   15796              :           && 
   15797              : #line 14723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15798              : (TARGET_AVX && 1))
   15799              :         return 7229; /* avx_shufpd256_1 */
   15800              :       if (!const_0_to_3_operand (operands[3], E_VOIDmode)
   15801              :           || !const_0_to_3_operand (operands[4], E_VOIDmode)
   15802              :           || !const_4_to_7_operand (operands[5], E_VOIDmode)
   15803              :           || !const_4_to_7_operand (operands[6], E_VOIDmode)
   15804              :           || !
   15805              : #line 20517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15806              : (TARGET_AVX512VL
   15807              :    && (INTVAL (operands[3]) & 1) == 0
   15808              :    && INTVAL (operands[3]) == INTVAL (operands[4]) - 1
   15809              :    && (INTVAL (operands[5]) & 1) == 0
   15810              :    && INTVAL (operands[5]) == INTVAL (operands[6]) - 1))
   15811              :         return -1;
   15812              :       return 8459; /* *avx512dq_shuf_f64x2_1 */
   15813              : 
   15814              :     case E_V4DImode:
   15815              :       if (pattern1425 (x2, 
   15816              : E_V4DImode, 
   15817              : E_V8DImode) != 0
   15818              :           || pattern1530 () != 0
   15819              :           || !
   15820              : #line 20517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15821              : (TARGET_AVX512VL
   15822              :    && (INTVAL (operands[3]) & 1) == 0
   15823              :    && INTVAL (operands[3]) == INTVAL (operands[4]) - 1
   15824              :    && (INTVAL (operands[5]) & 1) == 0
   15825              :    && INTVAL (operands[5]) == INTVAL (operands[6]) - 1))
   15826              :         return -1;
   15827              :       return 8457; /* *avx512dq_shuf_i64x2_1 */
   15828              : 
   15829              :     default:
   15830              :       return -1;
   15831              :     }
   15832              : }
   15833              : 
   15834              :  int
   15835              : recog_282 (rtx x1 ATTRIBUTE_UNUSED,
   15836              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   15837              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   15838              : {
   15839              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   15840              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   15841              :   rtx x10, x11, x12, x13;
   15842              :   int res ATTRIBUTE_UNUSED;
   15843              :   x2 = XEXP (x1, 1);
   15844              :   x3 = XEXP (x2, 1);
   15845              :   if (pattern930 (x3) != 0)
   15846              :     return -1;
   15847              :   x4 = XVECEXP (x3, 0, 0);
   15848              :   switch (XWINT (x4, 0))
   15849              :     {
   15850              :     case 0L:
   15851              :       x5 = XVECEXP (x3, 0, 1);
   15852              :       switch (XWINT (x5, 0))
   15853              :         {
   15854              :         case 1L:
   15855              :           x6 = XVECEXP (x3, 0, 2);
   15856              :           if (XWINT (x6, 0) != 2L)
   15857              :             return -1;
   15858              :           x7 = XVECEXP (x3, 0, 3);
   15859              :           if (XWINT (x7, 0) != 3L)
   15860              :             return -1;
   15861              :           x8 = XVECEXP (x3, 0, 4);
   15862              :           if (XWINT (x8, 0) != 8L)
   15863              :             return -1;
   15864              :           x9 = XVECEXP (x3, 0, 5);
   15865              :           if (XWINT (x9, 0) != 9L)
   15866              :             return -1;
   15867              :           x10 = XVECEXP (x3, 0, 6);
   15868              :           if (XWINT (x10, 0) != 10L)
   15869              :             return -1;
   15870              :           x11 = XVECEXP (x3, 0, 7);
   15871              :           if (XWINT (x11, 0) != 11L)
   15872              :             return -1;
   15873              :           x12 = XEXP (x2, 0);
   15874              :           x13 = XEXP (x12, 1);
   15875              :           operands[2] = x13;
   15876              :           switch (GET_MODE (operands[0]))
   15877              :             {
   15878              :             case E_V8HImode:
   15879              :               if (pattern1493 (x2, 
   15880              : E_V8HImode, 
   15881              : E_V16HImode) != 0
   15882              :                   || !
   15883              : #line 11456 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15884              : (TARGET_SSE && ix86_binary_operator_ok (UNKNOWN, V8HImode, operands)))
   15885              :                 return -1;
   15886              :               return 5256; /* sse_movlhps_v8hi */
   15887              : 
   15888              :             case E_V8HFmode:
   15889              :               if (pattern1493 (x2, 
   15890              : E_V8HFmode, 
   15891              : E_V16HFmode) != 0
   15892              :                   || !
   15893              : #line 11456 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15894              : (TARGET_SSE && ix86_binary_operator_ok (UNKNOWN, V8HFmode, operands)))
   15895              :                 return -1;
   15896              :               return 5257; /* sse_movlhps_v8hf */
   15897              : 
   15898              :             case E_V8BFmode:
   15899              :               if (pattern1493 (x2, 
   15900              : E_V8BFmode, 
   15901              : E_V16BFmode) != 0
   15902              :                   || !
   15903              : #line 11456 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15904              : (TARGET_SSE && ix86_binary_operator_ok (UNKNOWN, V8BFmode, operands)))
   15905              :                 return -1;
   15906              :               return 5258; /* sse_movlhps_v8bf */
   15907              : 
   15908              :             default:
   15909              :               return -1;
   15910              :             }
   15911              : 
   15912              :         case 8L:
   15913              :           x6 = XVECEXP (x3, 0, 2);
   15914              :           switch (XWINT (x6, 0))
   15915              :             {
   15916              :             case 1L:
   15917              :               x7 = XVECEXP (x3, 0, 3);
   15918              :               if (XWINT (x7, 0) != 9L)
   15919              :                 return -1;
   15920              :               x12 = XEXP (x2, 0);
   15921              :               x13 = XEXP (x12, 1);
   15922              :               operands[2] = x13;
   15923              :               x8 = XVECEXP (x3, 0, 4);
   15924              :               switch (XWINT (x8, 0))
   15925              :                 {
   15926              :                 case 4L:
   15927              :                   x9 = XVECEXP (x3, 0, 5);
   15928              :                   if (XWINT (x9, 0) != 12L)
   15929              :                     return -1;
   15930              :                   x10 = XVECEXP (x3, 0, 6);
   15931              :                   if (XWINT (x10, 0) != 5L)
   15932              :                     return -1;
   15933              :                   x11 = XVECEXP (x3, 0, 7);
   15934              :                   if (XWINT (x11, 0) != 13L)
   15935              :                     return -1;
   15936              :                   switch (GET_MODE (operands[0]))
   15937              :                     {
   15938              :                     case E_V8SFmode:
   15939              :                       if (pattern1425 (x2, 
   15940              : E_V8SFmode, 
   15941              : E_V16SFmode) != 0
   15942              :                           || !
   15943              : #line 11586 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15944              : (TARGET_AVX && 1))
   15945              :                         return -1;
   15946              :                       return 5267; /* avx_unpcklps256 */
   15947              : 
   15948              :                     case E_V8SImode:
   15949              :                       if (pattern1425 (x2, 
   15950              : E_V8SImode, 
   15951              : E_V16SImode) != 0
   15952              :                           || !
   15953              : #line 20117 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15954              : (TARGET_AVX2 && 1))
   15955              :                         return -1;
   15956              :                       return 8417; /* avx2_interleave_lowv8si */
   15957              : 
   15958              :                     default:
   15959              :                       return -1;
   15960              :                     }
   15961              : 
   15962              :                 case 2L:
   15963              :                   x9 = XVECEXP (x3, 0, 5);
   15964              :                   if (XWINT (x9, 0) != 10L)
   15965              :                     return -1;
   15966              :                   x10 = XVECEXP (x3, 0, 6);
   15967              :                   if (XWINT (x10, 0) != 3L)
   15968              :                     return -1;
   15969              :                   x11 = XVECEXP (x3, 0, 7);
   15970              :                   if (XWINT (x11, 0) != 11L)
   15971              :                     return -1;
   15972              :                   switch (GET_MODE (operands[0]))
   15973              :                     {
   15974              :                     case E_V8HImode:
   15975              :                       if (pattern1494 (x2, 
   15976              : E_V8HImode, 
   15977              : E_V16HImode) != 0
   15978              :                           || !
   15979              : #line 20042 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15980              : (TARGET_SSE2 && 1 && 1))
   15981              :                         return -1;
   15982              :                       return 8405; /* vec_interleave_lowv8hi */
   15983              : 
   15984              :                     case E_V8HFmode:
   15985              :                       if (pattern1494 (x2, 
   15986              : E_V8HFmode, 
   15987              : E_V16HFmode) != 0
   15988              :                           || !
   15989              : #line 20042 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15990              : (TARGET_SSE2 && 1 && 1))
   15991              :                         return -1;
   15992              :                       return 8407; /* vec_interleave_lowv8hf */
   15993              : 
   15994              :                     case E_V8BFmode:
   15995              :                       if (pattern1494 (x2, 
   15996              : E_V8BFmode, 
   15997              : E_V16BFmode) != 0
   15998              :                           || !
   15999              : #line 20042 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16000              : (TARGET_SSE2 && 1 && 1))
   16001              :                         return -1;
   16002              :                       return 8409; /* vec_interleave_lowv8bf */
   16003              : 
   16004              :                     default:
   16005              :                       return -1;
   16006              :                     }
   16007              : 
   16008              :                 default:
   16009              :                   return -1;
   16010              :                 }
   16011              : 
   16012              :             case 2L:
   16013              :               x7 = XVECEXP (x3, 0, 3);
   16014              :               if (XWINT (x7, 0) != 10L)
   16015              :                 return -1;
   16016              :               x8 = XVECEXP (x3, 0, 4);
   16017              :               if (XWINT (x8, 0) != 4L)
   16018              :                 return -1;
   16019              :               x9 = XVECEXP (x3, 0, 5);
   16020              :               if (XWINT (x9, 0) != 12L)
   16021              :                 return -1;
   16022              :               x10 = XVECEXP (x3, 0, 6);
   16023              :               if (XWINT (x10, 0) != 6L)
   16024              :                 return -1;
   16025              :               x11 = XVECEXP (x3, 0, 7);
   16026              :               if (XWINT (x11, 0) != 14L)
   16027              :                 return -1;
   16028              :               switch (GET_MODE (operands[0]))
   16029              :                 {
   16030              :                 case E_V8DFmode:
   16031              :                   if (!register_operand (operands[0], E_V8DFmode)
   16032              :                       || GET_MODE (x2) != E_V8DFmode)
   16033              :                     return -1;
   16034              :                   x12 = XEXP (x2, 0);
   16035              :                   if (GET_MODE (x12) != E_V16DFmode)
   16036              :                     return -1;
   16037              :                   if (nonimmediate_operand (operands[1], E_V8DFmode))
   16038              :                     {
   16039              :                       x13 = XEXP (x12, 1);
   16040              :                       if (rtx_equal_p (x13, operands[1])
   16041              :                           && 
   16042              : #line 13763 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16043              : (TARGET_AVX512F))
   16044              :                         return 5419; /* avx512f_movddup512 */
   16045              :                     }
   16046              :                   if (!register_operand (operands[1], E_V8DFmode))
   16047              :                     return -1;
   16048              :                   x13 = XEXP (x12, 1);
   16049              :                   operands[2] = x13;
   16050              :                   if (!nonimmediate_operand (operands[2], E_V8DFmode)
   16051              :                       || !
   16052              : #line 13779 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16053              : (TARGET_AVX512F))
   16054              :                     return -1;
   16055              :                   return 5421; /* avx512f_unpcklpd512 */
   16056              : 
   16057              :                 case E_V8DImode:
   16058              :                   if (pattern1631 (x2, 
   16059              : E_V8DImode, 
   16060              : E_V16DImode) != 0
   16061              :                       || !
   16062              : #line 14856 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16063              : (TARGET_AVX512F))
   16064              :                     return -1;
   16065              :                   return 7240; /* *avx512f_interleave_lowv8di */
   16066              : 
   16067              :                 default:
   16068              :                   return -1;
   16069              :                 }
   16070              : 
   16071              :             default:
   16072              :               return -1;
   16073              :             }
   16074              : 
   16075              :         case 0L:
   16076              :           if (pattern1677 (x3) != 0
   16077              :               || pattern1813 (x2, 
   16078              : E_V8SFmode, 
   16079              : E_V16SFmode) != 0
   16080              :               || !
   16081              : #line 11725 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16082              : (TARGET_AVX && 1))
   16083              :             return -1;
   16084              :           return 5277; /* avx_movsldup256 */
   16085              : 
   16086              :         default:
   16087              :           return -1;
   16088              :         }
   16089              : 
   16090              :     case 2L:
   16091              :       x5 = XVECEXP (x3, 0, 1);
   16092              :       if (XWINT (x5, 0) != 10L)
   16093              :         return -1;
   16094              :       x6 = XVECEXP (x3, 0, 2);
   16095              :       if (XWINT (x6, 0) != 3L)
   16096              :         return -1;
   16097              :       x7 = XVECEXP (x3, 0, 3);
   16098              :       if (XWINT (x7, 0) != 11L
   16099              :           || pattern1727 (x2) != 0)
   16100              :         return -1;
   16101              :       switch (GET_MODE (operands[0]))
   16102              :         {
   16103              :         case E_V8SFmode:
   16104              :           if (pattern1425 (x2, 
   16105              : E_V8SFmode, 
   16106              : E_V16SFmode) != 0
   16107              :               || !
   16108              : #line 11498 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16109              : (TARGET_AVX && 1))
   16110              :             return -1;
   16111              :           return 5261; /* avx_unpckhps256 */
   16112              : 
   16113              :         case E_V8SImode:
   16114              :           if (pattern1425 (x2, 
   16115              : E_V8SImode, 
   16116              : E_V16SImode) != 0
   16117              :               || !
   16118              : #line 20062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16119              : (TARGET_AVX2 && 1))
   16120              :             return -1;
   16121              :           return 8411; /* avx2_interleave_highv8si */
   16122              : 
   16123              :         default:
   16124              :           return -1;
   16125              :         }
   16126              : 
   16127              :     case 1L:
   16128              :       x6 = XVECEXP (x3, 0, 2);
   16129              :       if (XWINT (x6, 0) != 3L)
   16130              :         return -1;
   16131              :       x8 = XVECEXP (x3, 0, 4);
   16132              :       if (XWINT (x8, 0) != 5L)
   16133              :         return -1;
   16134              :       x10 = XVECEXP (x3, 0, 6);
   16135              :       if (XWINT (x10, 0) != 7L)
   16136              :         return -1;
   16137              :       x5 = XVECEXP (x3, 0, 1);
   16138              :       switch (XWINT (x5, 0))
   16139              :         {
   16140              :         case 1L:
   16141              :           x7 = XVECEXP (x3, 0, 3);
   16142              :           if (XWINT (x7, 0) != 3L)
   16143              :             return -1;
   16144              :           x9 = XVECEXP (x3, 0, 5);
   16145              :           if (XWINT (x9, 0) != 5L)
   16146              :             return -1;
   16147              :           x11 = XVECEXP (x3, 0, 7);
   16148              :           if (XWINT (x11, 0) != 7L
   16149              :               || pattern1813 (x2, 
   16150              : E_V8SFmode, 
   16151              : E_V16SFmode) != 0
   16152              :               || !
   16153              : #line 11672 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16154              : (TARGET_AVX && 1))
   16155              :             return -1;
   16156              :           return 5271; /* avx_movshdup256 */
   16157              : 
   16158              :         case 9L:
   16159              :           x7 = XVECEXP (x3, 0, 3);
   16160              :           if (XWINT (x7, 0) != 11L)
   16161              :             return -1;
   16162              :           x9 = XVECEXP (x3, 0, 5);
   16163              :           if (XWINT (x9, 0) != 13L)
   16164              :             return -1;
   16165              :           x11 = XVECEXP (x3, 0, 7);
   16166              :           if (XWINT (x11, 0) != 15L)
   16167              :             return -1;
   16168              :           x12 = XEXP (x2, 0);
   16169              :           x13 = XEXP (x12, 1);
   16170              :           operands[2] = x13;
   16171              :           switch (GET_MODE (operands[0]))
   16172              :             {
   16173              :             case E_V8DFmode:
   16174              :               if (pattern1425 (x2, 
   16175              : E_V8DFmode, 
   16176              : E_V16DFmode) != 0
   16177              :                   || !
   16178              : #line 13649 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16179              : (TARGET_AVX512F))
   16180              :                 return -1;
   16181              :               return 5413; /* *avx512f_unpckhpd512 */
   16182              : 
   16183              :             case E_V8DImode:
   16184              :               if (pattern1425 (x2, 
   16185              : E_V8DImode, 
   16186              : E_V16DImode) != 0
   16187              :                   || !
   16188              : #line 14806 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16189              : (TARGET_AVX512F))
   16190              :                 return -1;
   16191              :               return 7234; /* *avx512f_interleave_highv8di */
   16192              : 
   16193              :             default:
   16194              :               return -1;
   16195              :             }
   16196              : 
   16197              :         default:
   16198              :           return -1;
   16199              :         }
   16200              : 
   16201              :     case 4L:
   16202              :       x5 = XVECEXP (x3, 0, 1);
   16203              :       if (XWINT (x5, 0) != 12L)
   16204              :         return -1;
   16205              :       x6 = XVECEXP (x3, 0, 2);
   16206              :       if (XWINT (x6, 0) != 5L)
   16207              :         return -1;
   16208              :       x7 = XVECEXP (x3, 0, 3);
   16209              :       if (XWINT (x7, 0) != 13L
   16210              :           || pattern1727 (x2) != 0)
   16211              :         return -1;
   16212              :       switch (GET_MODE (operands[0]))
   16213              :         {
   16214              :         case E_V8HImode:
   16215              :           if (pattern1494 (x2, 
   16216              : E_V8HImode, 
   16217              : E_V16HImode) != 0
   16218              :               || !
   16219              : #line 19974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16220              : (TARGET_SSE2 && 1 && 1))
   16221              :             return -1;
   16222              :           return 8387; /* vec_interleave_highv8hi */
   16223              : 
   16224              :         case E_V8HFmode:
   16225              :           if (pattern1494 (x2, 
   16226              : E_V8HFmode, 
   16227              : E_V16HFmode) != 0
   16228              :               || !
   16229              : #line 19974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16230              : (TARGET_SSE2 && 1 && 1))
   16231              :             return -1;
   16232              :           return 8389; /* vec_interleave_highv8hf */
   16233              : 
   16234              :         case E_V8BFmode:
   16235              :           if (pattern1494 (x2, 
   16236              : E_V8BFmode, 
   16237              : E_V16BFmode) != 0
   16238              :               || !
   16239              : #line 19974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16240              : (TARGET_SSE2 && 1 && 1))
   16241              :             return -1;
   16242              :           return 8391; /* vec_interleave_highv8bf */
   16243              : 
   16244              :         default:
   16245              :           return -1;
   16246              :         }
   16247              : 
   16248              :     default:
   16249              :       return -1;
   16250              :     }
   16251              : }
   16252              : 
   16253              :  int
   16254              : recog_290 (rtx x1 ATTRIBUTE_UNUSED,
   16255              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   16256              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   16257              : {
   16258              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   16259              :   rtx x2, x3, x4, x5;
   16260              :   int res ATTRIBUTE_UNUSED;
   16261              :   x2 = XEXP (x1, 1);
   16262              :   x3 = XEXP (x2, 1);
   16263              :   x4 = XVECEXP (x3, 0, 0);
   16264              :   if (GET_CODE (x4) != CONST_INT)
   16265              :     return -1;
   16266              :   operands[2] = x4;
   16267              :   if (const_0_to_7_operand (operands[2], E_VOIDmode))
   16268              :     {
   16269              :       x5 = XVECEXP (x3, 0, 1);
   16270              :       operands[3] = x5;
   16271              :       if (const_0_to_7_operand (operands[3], E_VOIDmode))
   16272              :         {
   16273              :           switch (GET_MODE (operands[0]))
   16274              :             {
   16275              :             case E_V2DFmode:
   16276              :               if (nonimmediate_operand (operands[0], E_V2DFmode)
   16277              :                   && GET_MODE (x2) == E_V2DFmode
   16278              :                   && register_operand (operands[1], E_V8DFmode)
   16279              :                   && 
   16280              : #line 12781 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16281              : (TARGET_AVX512DQ
   16282              :    && INTVAL (operands[2]) % 2 == 0
   16283              :    && INTVAL (operands[2]) == INTVAL (operands[3]) - 1))
   16284              :                 return 5351; /* *avx512dq_vextractf64x2_1 */
   16285              :               break;
   16286              : 
   16287              :             case E_V2DImode:
   16288              :               if (nonimmediate_operand (operands[0], E_V2DImode)
   16289              :                   && GET_MODE (x2) == E_V2DImode
   16290              :                   && register_operand (operands[1], E_V8DImode)
   16291              :                   && 
   16292              : #line 12781 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16293              : (TARGET_AVX512DQ
   16294              :    && INTVAL (operands[2]) % 2 == 0
   16295              :    && INTVAL (operands[2]) == INTVAL (operands[3]) - 1))
   16296              :                 return 5352; /* *avx512dq_vextracti64x2_1 */
   16297              :               break;
   16298              : 
   16299              :             default:
   16300              :               break;
   16301              :             }
   16302              :         }
   16303              :     }
   16304              :   x5 = XVECEXP (x3, 0, 1);
   16305              :   if (GET_CODE (x5) != CONST_INT)
   16306              :     return -1;
   16307              :   switch (XWINT (x4, 0))
   16308              :     {
   16309              :     case 0L:
   16310              :       if (XWINT (x5, 0) != 1L)
   16311              :         return -1;
   16312              :       switch (GET_MODE (operands[0]))
   16313              :         {
   16314              :         case E_V2DImode:
   16315              :           if (!nonimmediate_operand (operands[0], E_V2DImode)
   16316              :               || GET_MODE (x2) != E_V2DImode
   16317              :               || !nonimmediate_operand (operands[1], E_V4DImode)
   16318              :               || !
   16319              : #line 13205 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16320              : (TARGET_AVX
   16321              :    && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
   16322              :             return -1;
   16323              :           return 5375; /* vec_extract_lo_v4di */
   16324              : 
   16325              :         case E_V2DFmode:
   16326              :           if (!nonimmediate_operand (operands[0], E_V2DFmode)
   16327              :               || GET_MODE (x2) != E_V2DFmode
   16328              :               || !nonimmediate_operand (operands[1], E_V4DFmode)
   16329              :               || !
   16330              : #line 13205 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16331              : (TARGET_AVX
   16332              :    && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
   16333              :             return -1;
   16334              :           return 5376; /* vec_extract_lo_v4df */
   16335              : 
   16336              :         default:
   16337              :           return -1;
   16338              :         }
   16339              : 
   16340              :     case 2L:
   16341              :       if (XWINT (x5, 0) != 3L)
   16342              :         return -1;
   16343              :       switch (GET_MODE (operands[0]))
   16344              :         {
   16345              :         case E_V2DImode:
   16346              :           if (!nonimmediate_operand (operands[0], E_V2DImode)
   16347              :               || GET_MODE (x2) != E_V2DImode
   16348              :               || !register_operand (operands[1], E_V4DImode)
   16349              :               || !
   16350              : #line 13241 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16351              : (TARGET_AVX))
   16352              :             return -1;
   16353              :           return 5379; /* vec_extract_hi_v4di */
   16354              : 
   16355              :         case E_V2DFmode:
   16356              :           if (!nonimmediate_operand (operands[0], E_V2DFmode)
   16357              :               || GET_MODE (x2) != E_V2DFmode
   16358              :               || !register_operand (operands[1], E_V4DFmode)
   16359              :               || !
   16360              : #line 13241 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16361              : (TARGET_AVX))
   16362              :             return -1;
   16363              :           return 5380; /* vec_extract_hi_v4df */
   16364              : 
   16365              :         default:
   16366              :           return -1;
   16367              :         }
   16368              : 
   16369              :     default:
   16370              :       return -1;
   16371              :     }
   16372              : }
   16373              : 
   16374              :  int
   16375              : recog_294 (rtx x1 ATTRIBUTE_UNUSED,
   16376              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   16377              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   16378              : {
   16379              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   16380              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   16381              :   int res ATTRIBUTE_UNUSED;
   16382              :   x2 = XEXP (x1, 1);
   16383              :   x3 = XEXP (x2, 1);
   16384              :   x4 = XVECEXP (x3, 0, 1);
   16385              :   operands[3] = x4;
   16386              :   x5 = XVECEXP (x3, 0, 2);
   16387              :   operands[4] = x5;
   16388              :   x6 = XVECEXP (x3, 0, 3);
   16389              :   operands[5] = x6;
   16390              :   x7 = XVECEXP (x3, 0, 5);
   16391              :   operands[7] = x7;
   16392              :   x8 = XVECEXP (x3, 0, 6);
   16393              :   operands[8] = x8;
   16394              :   x9 = XVECEXP (x3, 0, 7);
   16395              :   operands[9] = x9;
   16396              :   switch (GET_MODE (operands[0]))
   16397              :     {
   16398              :     case E_V8DFmode:
   16399              :       if (pattern1632 (x2, 
   16400              : E_V8DFmode) != 0
   16401              :           || !
   16402              : #line 20611 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16403              : (TARGET_AVX512F
   16404              :    && (INTVAL (operands[2]) & 1) == 0
   16405              :    && INTVAL (operands[2]) == INTVAL (operands[3]) - 1
   16406              :    && (INTVAL (operands[4]) & 1) == 0
   16407              :    && INTVAL (operands[4]) == INTVAL (operands[5]) - 1
   16408              :    && (INTVAL (operands[6]) & 1) == 0
   16409              :    && INTVAL (operands[6]) == INTVAL (operands[7]) - 1
   16410              :    && (INTVAL (operands[8]) & 1) == 0
   16411              :    && INTVAL (operands[8]) == INTVAL (operands[9]) - 1))
   16412              :         return -1;
   16413              :       return 8465; /* *avx512f_shuf_f64x2_1_1 */
   16414              : 
   16415              :     case E_V8DImode:
   16416              :       if (pattern1632 (x2, 
   16417              : E_V8DImode) != 0
   16418              :           || !
   16419              : #line 20611 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16420              : (TARGET_AVX512F
   16421              :    && (INTVAL (operands[2]) & 1) == 0
   16422              :    && INTVAL (operands[2]) == INTVAL (operands[3]) - 1
   16423              :    && (INTVAL (operands[4]) & 1) == 0
   16424              :    && INTVAL (operands[4]) == INTVAL (operands[5]) - 1
   16425              :    && (INTVAL (operands[6]) & 1) == 0
   16426              :    && INTVAL (operands[6]) == INTVAL (operands[7]) - 1
   16427              :    && (INTVAL (operands[8]) & 1) == 0
   16428              :    && INTVAL (operands[8]) == INTVAL (operands[9]) - 1))
   16429              :         return -1;
   16430              :       return 8467; /* *avx512f_shuf_i64x2_1_1 */
   16431              : 
   16432              :     case E_V8SImode:
   16433              :       if (!register_operand (operands[0], E_V8SImode)
   16434              :           || GET_MODE (x2) != E_V8SImode
   16435              :           || !nonimmediate_operand (operands[1], E_V8SImode)
   16436              :           || pattern1728 () != 0
   16437              :           || !
   16438              : #line 20968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16439              : (TARGET_AVX2
   16440              :    && 1
   16441              :    && INTVAL (operands[2]) + 4 == INTVAL (operands[6])
   16442              :    && INTVAL (operands[3]) + 4 == INTVAL (operands[7])
   16443              :    && INTVAL (operands[4]) + 4 == INTVAL (operands[8])
   16444              :    && INTVAL (operands[5]) + 4 == INTVAL (operands[9])))
   16445              :         return -1;
   16446              :       return 8483; /* avx2_pshufd_1 */
   16447              : 
   16448              :     default:
   16449              :       return -1;
   16450              :     }
   16451              : }
   16452              : 
   16453              :  int
   16454              : recog_297 (rtx x1 ATTRIBUTE_UNUSED,
   16455              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   16456              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   16457              : {
   16458              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   16459              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   16460              :   rtx x10, x11, x12, x13, x14, x15, x16, x17;
   16461              :   rtx x18, x19;
   16462              :   int res ATTRIBUTE_UNUSED;
   16463              :   x2 = XEXP (x1, 1);
   16464              :   x3 = XEXP (x2, 1);
   16465              :   if (pattern931 (x3) != 0)
   16466              :     return -1;
   16467              :   x4 = XVECEXP (x3, 0, 0);
   16468              :   switch (XWINT (x4, 0))
   16469              :     {
   16470              :     case 0L:
   16471              :       if (pattern1792 (x3) != 0)
   16472              :         return -1;
   16473              :       switch (pattern1804 (x2))
   16474              :         {
   16475              :         case 0:
   16476              :           if (!
   16477              : #line 13350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16478              : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
   16479              :             return -1;
   16480              :           return 5389; /* vec_extract_lo_v32hi */
   16481              : 
   16482              :         case 1:
   16483              :           if (!
   16484              : #line 13350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16485              : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
   16486              :             return -1;
   16487              :           return 5390; /* vec_extract_lo_v32hf */
   16488              : 
   16489              :         case 2:
   16490              :           if (!
   16491              : #line 13350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16492              : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
   16493              :             return -1;
   16494              :           return 5391; /* vec_extract_lo_v32bf */
   16495              : 
   16496              :         case 3:
   16497              :           if (!
   16498              : #line 13520 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16499              : (TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
   16500              :             return -1;
   16501              :           return 5403; /* vec_extract_lo_v32qi */
   16502              : 
   16503              :         default:
   16504              :           return -1;
   16505              :         }
   16506              : 
   16507              :     case 16L:
   16508              :       x5 = XVECEXP (x3, 0, 1);
   16509              :       if (XWINT (x5, 0) != 17L)
   16510              :         return -1;
   16511              :       x6 = XVECEXP (x3, 0, 2);
   16512              :       if (XWINT (x6, 0) != 18L)
   16513              :         return -1;
   16514              :       x7 = XVECEXP (x3, 0, 3);
   16515              :       if (XWINT (x7, 0) != 19L)
   16516              :         return -1;
   16517              :       x8 = XVECEXP (x3, 0, 4);
   16518              :       if (XWINT (x8, 0) != 20L)
   16519              :         return -1;
   16520              :       x9 = XVECEXP (x3, 0, 5);
   16521              :       if (XWINT (x9, 0) != 21L)
   16522              :         return -1;
   16523              :       x10 = XVECEXP (x3, 0, 6);
   16524              :       if (XWINT (x10, 0) != 22L)
   16525              :         return -1;
   16526              :       x11 = XVECEXP (x3, 0, 7);
   16527              :       if (XWINT (x11, 0) != 23L)
   16528              :         return -1;
   16529              :       x12 = XVECEXP (x3, 0, 8);
   16530              :       if (XWINT (x12, 0) != 24L)
   16531              :         return -1;
   16532              :       x13 = XVECEXP (x3, 0, 9);
   16533              :       if (XWINT (x13, 0) != 25L)
   16534              :         return -1;
   16535              :       x14 = XVECEXP (x3, 0, 10);
   16536              :       if (XWINT (x14, 0) != 26L)
   16537              :         return -1;
   16538              :       x15 = XVECEXP (x3, 0, 11);
   16539              :       if (XWINT (x15, 0) != 27L)
   16540              :         return -1;
   16541              :       x16 = XVECEXP (x3, 0, 12);
   16542              :       if (XWINT (x16, 0) != 28L)
   16543              :         return -1;
   16544              :       x17 = XVECEXP (x3, 0, 13);
   16545              :       if (XWINT (x17, 0) != 29L)
   16546              :         return -1;
   16547              :       x18 = XVECEXP (x3, 0, 14);
   16548              :       if (XWINT (x18, 0) != 30L)
   16549              :         return -1;
   16550              :       x19 = XVECEXP (x3, 0, 15);
   16551              :       if (XWINT (x19, 0) != 31L)
   16552              :         return -1;
   16553              :       switch (GET_MODE (operands[0]))
   16554              :         {
   16555              :         case E_V16HImode:
   16556              :           if (!nonimmediate_operand (operands[0], E_V16HImode)
   16557              :               || GET_MODE (x2) != E_V16HImode
   16558              :               || !register_operand (operands[1], E_V32HImode)
   16559              :               || !
   16560              : #line 13391 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16561              : (TARGET_AVX512F))
   16562              :             return -1;
   16563              :           return 5392; /* vec_extract_hi_v32hi */
   16564              : 
   16565              :         case E_V16HFmode:
   16566              :           if (!nonimmediate_operand (operands[0], E_V16HFmode)
   16567              :               || GET_MODE (x2) != E_V16HFmode
   16568              :               || !register_operand (operands[1], E_V32HFmode)
   16569              :               || !
   16570              : #line 13391 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16571              : (TARGET_AVX512F))
   16572              :             return -1;
   16573              :           return 5393; /* vec_extract_hi_v32hf */
   16574              : 
   16575              :         case E_V16BFmode:
   16576              :           if (!nonimmediate_operand (operands[0], E_V16BFmode)
   16577              :               || GET_MODE (x2) != E_V16BFmode
   16578              :               || !register_operand (operands[1], E_V32BFmode)
   16579              :               || !
   16580              : #line 13391 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16581              : (TARGET_AVX512F))
   16582              :             return -1;
   16583              :           return 5394; /* vec_extract_hi_v32bf */
   16584              : 
   16585              :         case E_V16QImode:
   16586              :           if (!nonimmediate_operand (operands[0], E_V16QImode)
   16587              :               || GET_MODE (x2) != E_V16QImode
   16588              :               || !register_operand (operands[1], E_V32QImode)
   16589              :               || !
   16590              : #line 13538 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16591              : (TARGET_AVX))
   16592              :             return -1;
   16593              :           return 5404; /* vec_extract_hi_v32qi */
   16594              : 
   16595              :         default:
   16596              :           return -1;
   16597              :         }
   16598              : 
   16599              :     default:
   16600              :       return -1;
   16601              :     }
   16602              : }
   16603              : 
   16604              :  int
   16605              : recog_308 (rtx x1 ATTRIBUTE_UNUSED,
   16606              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   16607              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   16608              : {
   16609              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   16610              :   rtx x2, x3, x4;
   16611              :   int res ATTRIBUTE_UNUSED;
   16612              :   x2 = XEXP (x1, 1);
   16613              :   x3 = XEXP (x2, 0);
   16614              :   switch (GET_CODE (x3))
   16615              :     {
   16616              :     case NOT:
   16617              :       x4 = XEXP (x3, 0);
   16618              :       operands[1] = x4;
   16619              :       switch (GET_CODE (operands[1]))
   16620              :         {
   16621              :         case GT:
   16622              :         case LT:
   16623              :           switch (pattern686 (x2))
   16624              :             {
   16625              :             case 0:
   16626              :               if (!(
   16627              : #line 3414 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16628              : (TARGET_SSE && ix86_pre_reload_split ()
   16629              :    && rtx_equal_p (operands[2], operands[4])) && 
   16630              : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16631              : (TARGET_AVX)))
   16632              :                 return -1;
   16633              :               return 3105; /* *minmaxv8sf3_3 */
   16634              : 
   16635              :             case 1:
   16636              :               if (!
   16637              : #line 3414 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16638              : (TARGET_SSE && ix86_pre_reload_split ()
   16639              :    && rtx_equal_p (operands[2], operands[4])))
   16640              :                 return -1;
   16641              :               return 3106; /* *minmaxv4sf3_3 */
   16642              : 
   16643              :             case 2:
   16644              :               if (!(
   16645              : #line 3414 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16646              : (TARGET_SSE && ix86_pre_reload_split ()
   16647              :    && rtx_equal_p (operands[2], operands[4])) && 
   16648              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16649              : (TARGET_AVX)))
   16650              :                 return -1;
   16651              :               return 3107; /* *minmaxv4df3_3 */
   16652              : 
   16653              :             case 3:
   16654              :               if (!(
   16655              : #line 3414 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16656              : (TARGET_SSE && ix86_pre_reload_split ()
   16657              :    && rtx_equal_p (operands[2], operands[4])) && 
   16658              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16659              : (TARGET_SSE2)))
   16660              :                 return -1;
   16661              :               return 3108; /* *minmaxv2df3_3 */
   16662              : 
   16663              :             default:
   16664              :               return -1;
   16665              :             }
   16666              : 
   16667              :         case REG:
   16668              :         case SUBREG:
   16669              :         case MEM:
   16670              :         case VEC_DUPLICATE:
   16671              :           switch (pattern539 (x2))
   16672              :             {
   16673              :             case 0:
   16674              :               switch (GET_MODE (operands[0]))
   16675              :                 {
   16676              :                 case E_V16BFmode:
   16677              :                   if (pattern623 (x2, 
   16678              : E_V16BFmode) != 0
   16679              :                       || !(
   16680              : #line 5590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16681              : (TARGET_SSE && 1
   16682              :    && (!false || 16 != 16)) && 
   16683              : #line 430 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16684              : (TARGET_AVX)))
   16685              :                     return -1;
   16686              :                   return 3764; /* avx512bf16_andnotv16bf3 */
   16687              : 
   16688              :                 case E_V8BFmode:
   16689              :                   if (pattern623 (x2, 
   16690              : E_V8BFmode) != 0
   16691              :                       || !(
   16692              : #line 5590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16693              : (TARGET_SSE && 1
   16694              :    && (!false || 16 != 16)) && 
   16695              : #line 430 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16696              : (TARGET_SSE2)))
   16697              :                     return -1;
   16698              :                   return 3765; /* avx512bf16_andnotv8bf3 */
   16699              : 
   16700              :                 case E_V16HFmode:
   16701              :                   if (pattern623 (x2, 
   16702              : E_V16HFmode) != 0
   16703              :                       || !(
   16704              : #line 5590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16705              : (TARGET_SSE && 1
   16706              :    && (!false || 16 != 16)) && 
   16707              : #line 431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16708              : (TARGET_AVX)))
   16709              :                     return -1;
   16710              :                   return 3766; /* avx512fp16_andnotv16hf3 */
   16711              : 
   16712              :                 case E_V8HFmode:
   16713              :                   if (pattern623 (x2, 
   16714              : E_V8HFmode) != 0
   16715              :                       || !(
   16716              : #line 5590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16717              : (TARGET_SSE && 1
   16718              :    && (!false || 16 != 16)) && 
   16719              : #line 431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16720              : (TARGET_SSE2)))
   16721              :                     return -1;
   16722              :                   return 3767; /* avx512fp16_andnotv8hf3 */
   16723              : 
   16724              :                 case E_V8SFmode:
   16725              :                   if (pattern623 (x2, 
   16726              : E_V8SFmode) != 0
   16727              :                       || !(
   16728              : #line 5590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16729              : (TARGET_SSE && 1
   16730              :    && (!false || 32 != 16)) && 
   16731              : #line 432 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16732              : (TARGET_AVX)))
   16733              :                     return -1;
   16734              :                   return 3768; /* avx_andnotv8sf3 */
   16735              : 
   16736              :                 case E_V4SFmode:
   16737              :                   if (pattern623 (x2, 
   16738              : E_V4SFmode) != 0
   16739              :                       || !
   16740              : #line 5590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16741              : (TARGET_SSE && 1
   16742              :    && (!false || 32 != 16)))
   16743              :                     return -1;
   16744              :                   return 3770; /* sse_andnotv4sf3 */
   16745              : 
   16746              :                 case E_V4DFmode:
   16747              :                   if (pattern623 (x2, 
   16748              : E_V4DFmode) != 0
   16749              :                       || !(
   16750              : #line 5590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16751              : (TARGET_SSE && 1
   16752              :    && (!false || 64 != 16)) && 
   16753              : #line 433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16754              : (TARGET_AVX)))
   16755              :                     return -1;
   16756              :                   return 3772; /* avx_andnotv4df3 */
   16757              : 
   16758              :                 case E_V2DFmode:
   16759              :                   if (pattern623 (x2, 
   16760              : E_V2DFmode) != 0
   16761              :                       || !(
   16762              : #line 5590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16763              : (TARGET_SSE && 1
   16764              :    && (!false || 64 != 16)) && 
   16765              : #line 433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16766              : (TARGET_SSE2)))
   16767              :                     return -1;
   16768              :                   return 3774; /* sse2_andnotv2df3 */
   16769              : 
   16770              :                 case E_V32BFmode:
   16771              :                   if (pattern745 (x2, 
   16772              : E_V32BFmode) != 0
   16773              :                       || !
   16774              : #line 5665 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16775              : (TARGET_AVX512F && (!false || 16 != 16)))
   16776              :                     return -1;
   16777              :                   return 3776; /* avx512bf16_andnotv32bf3 */
   16778              : 
   16779              :                 case E_V32HFmode:
   16780              :                   if (pattern745 (x2, 
   16781              : E_V32HFmode) != 0
   16782              :                       || !
   16783              : #line 5665 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16784              : (TARGET_AVX512F && (!false || 16 != 16)))
   16785              :                     return -1;
   16786              :                   return 3777; /* avx512fp16_andnotv32hf3 */
   16787              : 
   16788              :                 case E_V16SFmode:
   16789              :                   if (pattern745 (x2, 
   16790              : E_V16SFmode) != 0
   16791              :                       || !
   16792              : #line 5665 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16793              : (TARGET_AVX512F && (!false || 32 != 16)))
   16794              :                     return -1;
   16795              :                   return 3778; /* avx512f_andnotv16sf3 */
   16796              : 
   16797              :                 case E_V8DFmode:
   16798              :                   if (pattern745 (x2, 
   16799              : E_V8DFmode) != 0
   16800              :                       || !
   16801              : #line 5665 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16802              : (TARGET_AVX512F && (!false || 64 != 16)))
   16803              :                     return -1;
   16804              :                   return 3780; /* avx512f_andnotv8df3 */
   16805              : 
   16806              :                 case E_V1TImode:
   16807              :                   if (pattern623 (x2, 
   16808              : E_V1TImode) != 0
   16809              :                       || !
   16810              : #line 5956 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16811              : (TARGET_SSE))
   16812              :                     return -1;
   16813              :                   return 3853; /* *andnotv1ti3 */
   16814              : 
   16815              :                 case E_V16SImode:
   16816              :                   if (pattern933 (x2, 
   16817              : E_V16SImode) != 0
   16818              :                       || !(
   16819              : #line 18826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16820              : (TARGET_SSE
   16821              :    && (register_operand (operands[1], V16SImode)
   16822              :        || register_operand (operands[2], V16SImode))) && 
   16823              : #line 556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16824              : (TARGET_AVX512F)))
   16825              :                     return -1;
   16826              :                   return 8030; /* *andnotv16si3 */
   16827              : 
   16828              :                 case E_V8DImode:
   16829              :                   if (pattern933 (x2, 
   16830              : E_V8DImode) != 0
   16831              :                       || !(
   16832              : #line 18826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16833              : (TARGET_SSE
   16834              :    && (register_operand (operands[1], V8DImode)
   16835              :        || register_operand (operands[2], V8DImode))) && 
   16836              : #line 556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16837              : (TARGET_AVX512F)))
   16838              :                     return -1;
   16839              :                   return 8031; /* *andnotv8di3 */
   16840              : 
   16841              :                 case E_V64QImode:
   16842              :                   if (pattern933 (x2, 
   16843              : E_V64QImode) != 0
   16844              :                       || !(
   16845              : #line 18826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16846              : (TARGET_SSE
   16847              :    && (register_operand (operands[1], V64QImode)
   16848              :        || register_operand (operands[2], V64QImode))) && 
   16849              : #line 557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16850              : (TARGET_AVX512BW)))
   16851              :                     return -1;
   16852              :                   return 8032; /* *andnotv64qi3 */
   16853              : 
   16854              :                 case E_V32QImode:
   16855              :                   if (pattern933 (x2, 
   16856              : E_V32QImode) != 0
   16857              :                       || !(
   16858              : #line 18826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16859              : (TARGET_SSE
   16860              :    && (register_operand (operands[1], V32QImode)
   16861              :        || register_operand (operands[2], V32QImode))) && 
   16862              : #line 557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16863              : (TARGET_AVX)))
   16864              :                     return -1;
   16865              :                   return 8033; /* *andnotv32qi3 */
   16866              : 
   16867              :                 case E_V16QImode:
   16868              :                   if (pattern933 (x2, 
   16869              : E_V16QImode) != 0
   16870              :                       || !
   16871              : #line 18826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16872              : (TARGET_SSE
   16873              :    && (register_operand (operands[1], V16QImode)
   16874              :        || register_operand (operands[2], V16QImode))))
   16875              :                     return -1;
   16876              :                   return 8034; /* *andnotv16qi3 */
   16877              : 
   16878              :                 case E_V32HImode:
   16879              :                   if (pattern933 (x2, 
   16880              : E_V32HImode) != 0
   16881              :                       || !(
   16882              : #line 18826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16883              : (TARGET_SSE
   16884              :    && (register_operand (operands[1], V32HImode)
   16885              :        || register_operand (operands[2], V32HImode))) && 
   16886              : #line 558 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16887              : (TARGET_AVX512BW)))
   16888              :                     return -1;
   16889              :                   return 8035; /* *andnotv32hi3 */
   16890              : 
   16891              :                 case E_V16HImode:
   16892              :                   if (pattern933 (x2, 
   16893              : E_V16HImode) != 0
   16894              :                       || !(
   16895              : #line 18826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16896              : (TARGET_SSE
   16897              :    && (register_operand (operands[1], V16HImode)
   16898              :        || register_operand (operands[2], V16HImode))) && 
   16899              : #line 558 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16900              : (TARGET_AVX)))
   16901              :                     return -1;
   16902              :                   return 8036; /* *andnotv16hi3 */
   16903              : 
   16904              :                 case E_V8HImode:
   16905              :                   if (pattern933 (x2, 
   16906              : E_V8HImode) != 0
   16907              :                       || !
   16908              : #line 18826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16909              : (TARGET_SSE
   16910              :    && (register_operand (operands[1], V8HImode)
   16911              :        || register_operand (operands[2], V8HImode))))
   16912              :                     return -1;
   16913              :                   return 8037; /* *andnotv8hi3 */
   16914              : 
   16915              :                 case E_V8SImode:
   16916              :                   if (pattern933 (x2, 
   16917              : E_V8SImode) != 0
   16918              :                       || !(
   16919              : #line 18826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16920              : (TARGET_SSE
   16921              :    && (register_operand (operands[1], V8SImode)
   16922              :        || register_operand (operands[2], V8SImode))) && 
   16923              : #line 559 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16924              : (TARGET_AVX)))
   16925              :                     return -1;
   16926              :                   return 8038; /* *andnotv8si3 */
   16927              : 
   16928              :                 case E_V4SImode:
   16929              :                   if (pattern933 (x2, 
   16930              : E_V4SImode) != 0
   16931              :                       || !
   16932              : #line 18826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16933              : (TARGET_SSE
   16934              :    && (register_operand (operands[1], V4SImode)
   16935              :        || register_operand (operands[2], V4SImode))))
   16936              :                     return -1;
   16937              :                   return 8039; /* *andnotv4si3 */
   16938              : 
   16939              :                 case E_V4DImode:
   16940              :                   if (pattern933 (x2, 
   16941              : E_V4DImode) != 0
   16942              :                       || !(
   16943              : #line 18826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16944              : (TARGET_SSE
   16945              :    && (register_operand (operands[1], V4DImode)
   16946              :        || register_operand (operands[2], V4DImode))) && 
   16947              : #line 560 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16948              : (TARGET_AVX)))
   16949              :                     return -1;
   16950              :                   return 8040; /* *andnotv4di3 */
   16951              : 
   16952              :                 case E_V2DImode:
   16953              :                   if (pattern933 (x2, 
   16954              : E_V2DImode) != 0
   16955              :                       || !
   16956              : #line 18826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16957              : (TARGET_SSE
   16958              :    && (register_operand (operands[1], V2DImode)
   16959              :        || register_operand (operands[2], V2DImode))))
   16960              :                     return -1;
   16961              :                   return 8041; /* *andnotv2di3 */
   16962              : 
   16963              :                 default:
   16964              :                   return -1;
   16965              :                 }
   16966              : 
   16967              :             case 1:
   16968              :               if (!(
   16969              : #line 19359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16970              : ((64 == 64 || TARGET_AVX512VL
   16971              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   16972              :    && (register_operand (operands[1], V16SImode)
   16973              :        || register_operand (operands[2], V16SImode))) && 
   16974              : #line 556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16975              : (TARGET_AVX512F)))
   16976              :                 return -1;
   16977              :               return 8129; /* *norv16si3 */
   16978              : 
   16979              :             case 2:
   16980              :               if (!(
   16981              : #line 19359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16982              : ((64 == 64 || TARGET_AVX512VL
   16983              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   16984              :    && (register_operand (operands[1], V8DImode)
   16985              :        || register_operand (operands[2], V8DImode))) && 
   16986              : #line 556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16987              : (TARGET_AVX512F)))
   16988              :                 return -1;
   16989              :               return 8131; /* *norv8di3 */
   16990              : 
   16991              :             case 3:
   16992              :               if (!(
   16993              : #line 19359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16994              : ((64 == 64 || TARGET_AVX512VL
   16995              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   16996              :    && (register_operand (operands[1], V64QImode)
   16997              :        || register_operand (operands[2], V64QImode))) && 
   16998              : #line 557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16999              : (TARGET_AVX512BW)))
   17000              :                 return -1;
   17001              :               return 8133; /* *norv64qi3 */
   17002              : 
   17003              :             case 4:
   17004              :               if (!(
   17005              : #line 19359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17006              : ((32 == 64 || TARGET_AVX512VL
   17007              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17008              :    && (register_operand (operands[1], V32QImode)
   17009              :        || register_operand (operands[2], V32QImode))) && 
   17010              : #line 557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17011              : (TARGET_AVX)))
   17012              :                 return -1;
   17013              :               return 8135; /* *norv32qi3 */
   17014              : 
   17015              :             case 5:
   17016              :               if (!
   17017              : #line 19359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17018              : ((16 == 64 || TARGET_AVX512VL
   17019              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17020              :    && (register_operand (operands[1], V16QImode)
   17021              :        || register_operand (operands[2], V16QImode))))
   17022              :                 return -1;
   17023              :               return 8137; /* *norv16qi3 */
   17024              : 
   17025              :             case 6:
   17026              :               if (!(
   17027              : #line 19359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17028              : ((64 == 64 || TARGET_AVX512VL
   17029              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17030              :    && (register_operand (operands[1], V32HImode)
   17031              :        || register_operand (operands[2], V32HImode))) && 
   17032              : #line 558 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17033              : (TARGET_AVX512BW)))
   17034              :                 return -1;
   17035              :               return 8139; /* *norv32hi3 */
   17036              : 
   17037              :             case 7:
   17038              :               if (!(
   17039              : #line 19359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17040              : ((32 == 64 || TARGET_AVX512VL
   17041              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17042              :    && (register_operand (operands[1], V16HImode)
   17043              :        || register_operand (operands[2], V16HImode))) && 
   17044              : #line 558 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17045              : (TARGET_AVX)))
   17046              :                 return -1;
   17047              :               return 8141; /* *norv16hi3 */
   17048              : 
   17049              :             case 8:
   17050              :               if (!
   17051              : #line 19359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17052              : ((16 == 64 || TARGET_AVX512VL
   17053              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17054              :    && (register_operand (operands[1], V8HImode)
   17055              :        || register_operand (operands[2], V8HImode))))
   17056              :                 return -1;
   17057              :               return 8143; /* *norv8hi3 */
   17058              : 
   17059              :             case 9:
   17060              :               if (!(
   17061              : #line 19359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17062              : ((32 == 64 || TARGET_AVX512VL
   17063              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17064              :    && (register_operand (operands[1], V8SImode)
   17065              :        || register_operand (operands[2], V8SImode))) && 
   17066              : #line 559 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17067              : (TARGET_AVX)))
   17068              :                 return -1;
   17069              :               return 8145; /* *norv8si3 */
   17070              : 
   17071              :             case 10:
   17072              :               if (!
   17073              : #line 19359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17074              : ((16 == 64 || TARGET_AVX512VL
   17075              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17076              :    && (register_operand (operands[1], V4SImode)
   17077              :        || register_operand (operands[2], V4SImode))))
   17078              :                 return -1;
   17079              :               return 8147; /* *norv4si3 */
   17080              : 
   17081              :             case 11:
   17082              :               if (!(
   17083              : #line 19359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17084              : ((32 == 64 || TARGET_AVX512VL
   17085              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17086              :    && (register_operand (operands[1], V4DImode)
   17087              :        || register_operand (operands[2], V4DImode))) && 
   17088              : #line 560 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17089              : (TARGET_AVX)))
   17090              :                 return -1;
   17091              :               return 8149; /* *norv4di3 */
   17092              : 
   17093              :             case 12:
   17094              :               if (!
   17095              : #line 19359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17096              : ((16 == 64 || TARGET_AVX512VL
   17097              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17098              :    && (register_operand (operands[1], V2DImode)
   17099              :        || register_operand (operands[2], V2DImode))))
   17100              :                 return -1;
   17101              :               return 8151; /* *norv2di3 */
   17102              : 
   17103              :             default:
   17104              :               return -1;
   17105              :             }
   17106              : 
   17107              :         default:
   17108              :           return -1;
   17109              :         }
   17110              : 
   17111              :     case GT:
   17112              :     case LT:
   17113              :       operands[1] = x3;
   17114              :       switch (pattern529 (x2))
   17115              :         {
   17116              :         case 0:
   17117              :           if ((
   17118              : #line 3436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17119              : (TARGET_SSE && ix86_pre_reload_split ()
   17120              :    && rtx_equal_p (operands[2], operands[4])) && 
   17121              : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17122              : (TARGET_AVX)))
   17123              :             return 3109; /* *minmaxv8sf3_4 */
   17124              :           break;
   17125              : 
   17126              :         case 1:
   17127              :           if (
   17128              : #line 3436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17129              : (TARGET_SSE && ix86_pre_reload_split ()
   17130              :    && rtx_equal_p (operands[2], operands[4])))
   17131              :             return 3110; /* *minmaxv4sf3_4 */
   17132              :           break;
   17133              : 
   17134              :         case 2:
   17135              :           if ((
   17136              : #line 3436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17137              : (TARGET_SSE && ix86_pre_reload_split ()
   17138              :    && rtx_equal_p (operands[2], operands[4])) && 
   17139              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17140              : (TARGET_AVX)))
   17141              :             return 3111; /* *minmaxv4df3_4 */
   17142              :           break;
   17143              : 
   17144              :         case 3:
   17145              :           if ((
   17146              : #line 3436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17147              : (TARGET_SSE && ix86_pre_reload_split ()
   17148              :    && rtx_equal_p (operands[2], operands[4])) && 
   17149              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17150              : (TARGET_SSE2)))
   17151              :             return 3112; /* *minmaxv2df3_4 */
   17152              :           break;
   17153              : 
   17154              :         default:
   17155              :           break;
   17156              :         }
   17157              :       x4 = XEXP (x3, 0);
   17158              :       operands[1] = x4;
   17159              :       switch (pattern531 (x2))
   17160              :         {
   17161              :         case 0:
   17162              :           if (!(
   17163              : #line 17650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17164              : (TARGET_SSE4_2 && ix86_pre_reload_split ()) && 
   17165              : #line 697 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17166              : (TARGET_AVX2)))
   17167              :             return -1;
   17168              :           return 7715; /* *avx2_lshrv4di3_1 */
   17169              : 
   17170              :         case 1:
   17171              :           if (!
   17172              : #line 17650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17173              : (TARGET_SSE4_2 && ix86_pre_reload_split ()))
   17174              :             return -1;
   17175              :           return 7716; /* *avx2_lshrv2di3_1 */
   17176              : 
   17177              :         case 2:
   17178              :           switch (GET_MODE (operands[0]))
   17179              :             {
   17180              :             case E_V4DImode:
   17181              :               if (pattern956 (x2, 
   17182              : E_V4DImode) != 0
   17183              :                   || !(
   17184              : #line 17667 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17185              : (TARGET_SSE2 && ix86_pre_reload_split ()) && 
   17186              : #line 697 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17187              : (TARGET_AVX2)))
   17188              :                 return -1;
   17189              :               return 7717; /* *avx2_lshrv4di3_2 */
   17190              : 
   17191              :             case E_V2DImode:
   17192              :               if (pattern956 (x2, 
   17193              : E_V2DImode) != 0
   17194              :                   || !
   17195              : #line 17667 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17196              : (TARGET_SSE2 && ix86_pre_reload_split ()))
   17197              :                 return -1;
   17198              :               return 7718; /* *avx2_lshrv2di3_2 */
   17199              : 
   17200              :             default:
   17201              :               return -1;
   17202              :             }
   17203              : 
   17204              :         default:
   17205              :           return -1;
   17206              :         }
   17207              : 
   17208              :     case REG:
   17209              :     case SUBREG:
   17210              :     case MEM:
   17211              :     case VEC_DUPLICATE:
   17212              :       return recog_305 (x1, insn, pnum_clobbers);
   17213              : 
   17214              :     case AND:
   17215              :       x4 = XEXP (x3, 0);
   17216              :       switch (GET_CODE (x4))
   17217              :         {
   17218              :         case REG:
   17219              :         case SUBREG:
   17220              :         case MEM:
   17221              :         case NOT:
   17222              :           switch (pattern535 (x2))
   17223              :             {
   17224              :             case 0:
   17225              :               if (!(
   17226              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17227              : ((64 == 64 || TARGET_AVX512VL
   17228              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17229              :    && ix86_pre_reload_split ()
   17230              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17231              :                     STRIP_UNARY (operands[4]))
   17232              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17233              :                        STRIP_UNARY (operands[4]))
   17234              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17235              :                        STRIP_UNARY (operands[3]))
   17236              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17237              :                        STRIP_UNARY (operands[3])))) && 
   17238              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17239              : (TARGET_AVX512F)))
   17240              :                 return -1;
   17241              :               return 5537; /* *avx512bw_vpternlogv64qi_1 */
   17242              : 
   17243              :             case 1:
   17244              :               if (!(
   17245              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17246              : ((32 == 64 || TARGET_AVX512VL
   17247              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17248              :    && ix86_pre_reload_split ()
   17249              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17250              :                     STRIP_UNARY (operands[4]))
   17251              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17252              :                        STRIP_UNARY (operands[4]))
   17253              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17254              :                        STRIP_UNARY (operands[3]))
   17255              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17256              :                        STRIP_UNARY (operands[3])))) && 
   17257              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17258              : (TARGET_AVX)))
   17259              :                 return -1;
   17260              :               return 5564; /* *avx512vl_vpternlogv32qi_1 */
   17261              : 
   17262              :             case 2:
   17263              :               if (!
   17264              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17265              : ((16 == 64 || TARGET_AVX512VL
   17266              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17267              :    && ix86_pre_reload_split ()
   17268              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17269              :                     STRIP_UNARY (operands[4]))
   17270              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17271              :                        STRIP_UNARY (operands[4]))
   17272              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17273              :                        STRIP_UNARY (operands[3]))
   17274              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17275              :                        STRIP_UNARY (operands[3])))))
   17276              :                 return -1;
   17277              :               return 5591; /* *avx512vl_vpternlogv16qi_1 */
   17278              : 
   17279              :             case 3:
   17280              :               if (!(
   17281              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17282              : ((64 == 64 || TARGET_AVX512VL
   17283              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17284              :    && ix86_pre_reload_split ()
   17285              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17286              :                     STRIP_UNARY (operands[4]))
   17287              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17288              :                        STRIP_UNARY (operands[4]))
   17289              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17290              :                        STRIP_UNARY (operands[3]))
   17291              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17292              :                        STRIP_UNARY (operands[3])))) && 
   17293              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17294              : (TARGET_AVX512F)))
   17295              :                 return -1;
   17296              :               return 5618; /* *avx512bw_vpternlogv32hi_1 */
   17297              : 
   17298              :             case 4:
   17299              :               if (!(
   17300              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17301              : ((32 == 64 || TARGET_AVX512VL
   17302              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17303              :    && ix86_pre_reload_split ()
   17304              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17305              :                     STRIP_UNARY (operands[4]))
   17306              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17307              :                        STRIP_UNARY (operands[4]))
   17308              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17309              :                        STRIP_UNARY (operands[3]))
   17310              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17311              :                        STRIP_UNARY (operands[3])))) && 
   17312              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17313              : (TARGET_AVX)))
   17314              :                 return -1;
   17315              :               return 5645; /* *avx512vl_vpternlogv16hi_1 */
   17316              : 
   17317              :             case 5:
   17318              :               if (!
   17319              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17320              : ((16 == 64 || TARGET_AVX512VL
   17321              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17322              :    && ix86_pre_reload_split ()
   17323              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17324              :                     STRIP_UNARY (operands[4]))
   17325              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17326              :                        STRIP_UNARY (operands[4]))
   17327              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17328              :                        STRIP_UNARY (operands[3]))
   17329              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17330              :                        STRIP_UNARY (operands[3])))))
   17331              :                 return -1;
   17332              :               return 5672; /* *avx512vl_vpternlogv8hi_1 */
   17333              : 
   17334              :             case 6:
   17335              :               if (!(
   17336              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17337              : ((64 == 64 || TARGET_AVX512VL
   17338              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17339              :    && ix86_pre_reload_split ()
   17340              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17341              :                     STRIP_UNARY (operands[4]))
   17342              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17343              :                        STRIP_UNARY (operands[4]))
   17344              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17345              :                        STRIP_UNARY (operands[3]))
   17346              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17347              :                        STRIP_UNARY (operands[3])))) && 
   17348              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17349              : (TARGET_AVX512F)))
   17350              :                 return -1;
   17351              :               return 5699; /* *avx512f_vpternlogv16si_1 */
   17352              : 
   17353              :             case 7:
   17354              :               if (!(
   17355              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17356              : ((32 == 64 || TARGET_AVX512VL
   17357              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17358              :    && ix86_pre_reload_split ()
   17359              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17360              :                     STRIP_UNARY (operands[4]))
   17361              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17362              :                        STRIP_UNARY (operands[4]))
   17363              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17364              :                        STRIP_UNARY (operands[3]))
   17365              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17366              :                        STRIP_UNARY (operands[3])))) && 
   17367              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17368              : (TARGET_AVX)))
   17369              :                 return -1;
   17370              :               return 5726; /* *avx512vl_vpternlogv8si_1 */
   17371              : 
   17372              :             case 8:
   17373              :               if (!
   17374              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17375              : ((16 == 64 || TARGET_AVX512VL
   17376              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17377              :    && ix86_pre_reload_split ()
   17378              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17379              :                     STRIP_UNARY (operands[4]))
   17380              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17381              :                        STRIP_UNARY (operands[4]))
   17382              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17383              :                        STRIP_UNARY (operands[3]))
   17384              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17385              :                        STRIP_UNARY (operands[3])))))
   17386              :                 return -1;
   17387              :               return 5753; /* *avx512vl_vpternlogv4si_1 */
   17388              : 
   17389              :             case 9:
   17390              :               if (!(
   17391              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17392              : ((64 == 64 || TARGET_AVX512VL
   17393              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17394              :    && ix86_pre_reload_split ()
   17395              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17396              :                     STRIP_UNARY (operands[4]))
   17397              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17398              :                        STRIP_UNARY (operands[4]))
   17399              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17400              :                        STRIP_UNARY (operands[3]))
   17401              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17402              :                        STRIP_UNARY (operands[3])))) && 
   17403              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17404              : (TARGET_AVX512F)))
   17405              :                 return -1;
   17406              :               return 5780; /* *avx512f_vpternlogv8di_1 */
   17407              : 
   17408              :             case 10:
   17409              :               if (!(
   17410              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17411              : ((32 == 64 || TARGET_AVX512VL
   17412              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17413              :    && ix86_pre_reload_split ()
   17414              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17415              :                     STRIP_UNARY (operands[4]))
   17416              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17417              :                        STRIP_UNARY (operands[4]))
   17418              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17419              :                        STRIP_UNARY (operands[3]))
   17420              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17421              :                        STRIP_UNARY (operands[3])))) && 
   17422              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17423              : (TARGET_AVX)))
   17424              :                 return -1;
   17425              :               return 5807; /* *avx512vl_vpternlogv4di_1 */
   17426              : 
   17427              :             case 11:
   17428              :               if (!
   17429              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17430              : ((16 == 64 || TARGET_AVX512VL
   17431              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17432              :    && ix86_pre_reload_split ()
   17433              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17434              :                     STRIP_UNARY (operands[4]))
   17435              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17436              :                        STRIP_UNARY (operands[4]))
   17437              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17438              :                        STRIP_UNARY (operands[3]))
   17439              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17440              :                        STRIP_UNARY (operands[3])))))
   17441              :                 return -1;
   17442              :               return 5834; /* *avx512vl_vpternlogv2di_1 */
   17443              : 
   17444              :             case 12:
   17445              :               if (!(
   17446              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17447              : ((64 == 64 || TARGET_AVX512VL
   17448              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17449              :    && ix86_pre_reload_split ()
   17450              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17451              :                     STRIP_UNARY (operands[4]))
   17452              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17453              :                        STRIP_UNARY (operands[4]))
   17454              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17455              :                        STRIP_UNARY (operands[3]))
   17456              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17457              :                        STRIP_UNARY (operands[3])))) && 
   17458              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17459              : (TARGET_AVX512F)))
   17460              :                 return -1;
   17461              :               return 5540; /* *avx512bw_vpternlogv64qi_1 */
   17462              : 
   17463              :             case 13:
   17464              :               if (!(
   17465              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17466              : ((32 == 64 || TARGET_AVX512VL
   17467              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17468              :    && ix86_pre_reload_split ()
   17469              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17470              :                     STRIP_UNARY (operands[4]))
   17471              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17472              :                        STRIP_UNARY (operands[4]))
   17473              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17474              :                        STRIP_UNARY (operands[3]))
   17475              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17476              :                        STRIP_UNARY (operands[3])))) && 
   17477              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17478              : (TARGET_AVX)))
   17479              :                 return -1;
   17480              :               return 5567; /* *avx512vl_vpternlogv32qi_1 */
   17481              : 
   17482              :             case 14:
   17483              :               if (!
   17484              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17485              : ((16 == 64 || TARGET_AVX512VL
   17486              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17487              :    && ix86_pre_reload_split ()
   17488              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17489              :                     STRIP_UNARY (operands[4]))
   17490              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17491              :                        STRIP_UNARY (operands[4]))
   17492              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17493              :                        STRIP_UNARY (operands[3]))
   17494              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17495              :                        STRIP_UNARY (operands[3])))))
   17496              :                 return -1;
   17497              :               return 5594; /* *avx512vl_vpternlogv16qi_1 */
   17498              : 
   17499              :             case 15:
   17500              :               if (!(
   17501              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17502              : ((64 == 64 || TARGET_AVX512VL
   17503              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17504              :    && ix86_pre_reload_split ()
   17505              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17506              :                     STRIP_UNARY (operands[4]))
   17507              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17508              :                        STRIP_UNARY (operands[4]))
   17509              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17510              :                        STRIP_UNARY (operands[3]))
   17511              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17512              :                        STRIP_UNARY (operands[3])))) && 
   17513              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17514              : (TARGET_AVX512F)))
   17515              :                 return -1;
   17516              :               return 5621; /* *avx512bw_vpternlogv32hi_1 */
   17517              : 
   17518              :             case 16:
   17519              :               if (!(
   17520              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17521              : ((32 == 64 || TARGET_AVX512VL
   17522              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17523              :    && ix86_pre_reload_split ()
   17524              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17525              :                     STRIP_UNARY (operands[4]))
   17526              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17527              :                        STRIP_UNARY (operands[4]))
   17528              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17529              :                        STRIP_UNARY (operands[3]))
   17530              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17531              :                        STRIP_UNARY (operands[3])))) && 
   17532              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17533              : (TARGET_AVX)))
   17534              :                 return -1;
   17535              :               return 5648; /* *avx512vl_vpternlogv16hi_1 */
   17536              : 
   17537              :             case 17:
   17538              :               if (!
   17539              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17540              : ((16 == 64 || TARGET_AVX512VL
   17541              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17542              :    && ix86_pre_reload_split ()
   17543              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17544              :                     STRIP_UNARY (operands[4]))
   17545              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17546              :                        STRIP_UNARY (operands[4]))
   17547              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17548              :                        STRIP_UNARY (operands[3]))
   17549              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17550              :                        STRIP_UNARY (operands[3])))))
   17551              :                 return -1;
   17552              :               return 5675; /* *avx512vl_vpternlogv8hi_1 */
   17553              : 
   17554              :             case 18:
   17555              :               if (!(
   17556              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17557              : ((64 == 64 || TARGET_AVX512VL
   17558              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17559              :    && ix86_pre_reload_split ()
   17560              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17561              :                     STRIP_UNARY (operands[4]))
   17562              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17563              :                        STRIP_UNARY (operands[4]))
   17564              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17565              :                        STRIP_UNARY (operands[3]))
   17566              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17567              :                        STRIP_UNARY (operands[3])))) && 
   17568              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17569              : (TARGET_AVX512F)))
   17570              :                 return -1;
   17571              :               return 5702; /* *avx512f_vpternlogv16si_1 */
   17572              : 
   17573              :             case 19:
   17574              :               if (!(
   17575              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17576              : ((32 == 64 || TARGET_AVX512VL
   17577              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17578              :    && ix86_pre_reload_split ()
   17579              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17580              :                     STRIP_UNARY (operands[4]))
   17581              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17582              :                        STRIP_UNARY (operands[4]))
   17583              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17584              :                        STRIP_UNARY (operands[3]))
   17585              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17586              :                        STRIP_UNARY (operands[3])))) && 
   17587              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17588              : (TARGET_AVX)))
   17589              :                 return -1;
   17590              :               return 5729; /* *avx512vl_vpternlogv8si_1 */
   17591              : 
   17592              :             case 20:
   17593              :               if (!
   17594              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17595              : ((16 == 64 || TARGET_AVX512VL
   17596              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17597              :    && ix86_pre_reload_split ()
   17598              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17599              :                     STRIP_UNARY (operands[4]))
   17600              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17601              :                        STRIP_UNARY (operands[4]))
   17602              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17603              :                        STRIP_UNARY (operands[3]))
   17604              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17605              :                        STRIP_UNARY (operands[3])))))
   17606              :                 return -1;
   17607              :               return 5756; /* *avx512vl_vpternlogv4si_1 */
   17608              : 
   17609              :             case 21:
   17610              :               if (!(
   17611              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17612              : ((64 == 64 || TARGET_AVX512VL
   17613              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17614              :    && ix86_pre_reload_split ()
   17615              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17616              :                     STRIP_UNARY (operands[4]))
   17617              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17618              :                        STRIP_UNARY (operands[4]))
   17619              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17620              :                        STRIP_UNARY (operands[3]))
   17621              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17622              :                        STRIP_UNARY (operands[3])))) && 
   17623              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17624              : (TARGET_AVX512F)))
   17625              :                 return -1;
   17626              :               return 5783; /* *avx512f_vpternlogv8di_1 */
   17627              : 
   17628              :             case 22:
   17629              :               if (!(
   17630              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17631              : ((32 == 64 || TARGET_AVX512VL
   17632              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17633              :    && ix86_pre_reload_split ()
   17634              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17635              :                     STRIP_UNARY (operands[4]))
   17636              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17637              :                        STRIP_UNARY (operands[4]))
   17638              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17639              :                        STRIP_UNARY (operands[3]))
   17640              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17641              :                        STRIP_UNARY (operands[3])))) && 
   17642              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17643              : (TARGET_AVX)))
   17644              :                 return -1;
   17645              :               return 5810; /* *avx512vl_vpternlogv4di_1 */
   17646              : 
   17647              :             case 23:
   17648              :               if (!
   17649              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17650              : ((16 == 64 || TARGET_AVX512VL
   17651              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17652              :    && ix86_pre_reload_split ()
   17653              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17654              :                     STRIP_UNARY (operands[4]))
   17655              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17656              :                        STRIP_UNARY (operands[4]))
   17657              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17658              :                        STRIP_UNARY (operands[3]))
   17659              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17660              :                        STRIP_UNARY (operands[3])))))
   17661              :                 return -1;
   17662              :               return 5837; /* *avx512vl_vpternlogv2di_1 */
   17663              : 
   17664              :             case 24:
   17665              :               if (!(
   17666              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17667              : ((64 == 64 || TARGET_AVX512VL
   17668              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17669              :    && ix86_pre_reload_split ()
   17670              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17671              :                     STRIP_UNARY (operands[4]))
   17672              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17673              :                        STRIP_UNARY (operands[4]))
   17674              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17675              :                        STRIP_UNARY (operands[3]))
   17676              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17677              :                        STRIP_UNARY (operands[3])))) && 
   17678              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17679              : (TARGET_AVX512F)))
   17680              :                 return -1;
   17681              :               return 5543; /* *avx512bw_vpternlogv64qi_1 */
   17682              : 
   17683              :             case 25:
   17684              :               if (!(
   17685              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17686              : ((32 == 64 || TARGET_AVX512VL
   17687              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17688              :    && ix86_pre_reload_split ()
   17689              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17690              :                     STRIP_UNARY (operands[4]))
   17691              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17692              :                        STRIP_UNARY (operands[4]))
   17693              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17694              :                        STRIP_UNARY (operands[3]))
   17695              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17696              :                        STRIP_UNARY (operands[3])))) && 
   17697              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17698              : (TARGET_AVX)))
   17699              :                 return -1;
   17700              :               return 5570; /* *avx512vl_vpternlogv32qi_1 */
   17701              : 
   17702              :             case 26:
   17703              :               if (!
   17704              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17705              : ((16 == 64 || TARGET_AVX512VL
   17706              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17707              :    && ix86_pre_reload_split ()
   17708              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17709              :                     STRIP_UNARY (operands[4]))
   17710              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17711              :                        STRIP_UNARY (operands[4]))
   17712              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17713              :                        STRIP_UNARY (operands[3]))
   17714              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17715              :                        STRIP_UNARY (operands[3])))))
   17716              :                 return -1;
   17717              :               return 5597; /* *avx512vl_vpternlogv16qi_1 */
   17718              : 
   17719              :             case 27:
   17720              :               if (!(
   17721              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17722              : ((64 == 64 || TARGET_AVX512VL
   17723              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17724              :    && ix86_pre_reload_split ()
   17725              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17726              :                     STRIP_UNARY (operands[4]))
   17727              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17728              :                        STRIP_UNARY (operands[4]))
   17729              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17730              :                        STRIP_UNARY (operands[3]))
   17731              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17732              :                        STRIP_UNARY (operands[3])))) && 
   17733              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17734              : (TARGET_AVX512F)))
   17735              :                 return -1;
   17736              :               return 5624; /* *avx512bw_vpternlogv32hi_1 */
   17737              : 
   17738              :             case 28:
   17739              :               if (!(
   17740              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17741              : ((32 == 64 || TARGET_AVX512VL
   17742              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17743              :    && ix86_pre_reload_split ()
   17744              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17745              :                     STRIP_UNARY (operands[4]))
   17746              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17747              :                        STRIP_UNARY (operands[4]))
   17748              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17749              :                        STRIP_UNARY (operands[3]))
   17750              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17751              :                        STRIP_UNARY (operands[3])))) && 
   17752              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17753              : (TARGET_AVX)))
   17754              :                 return -1;
   17755              :               return 5651; /* *avx512vl_vpternlogv16hi_1 */
   17756              : 
   17757              :             case 29:
   17758              :               if (!
   17759              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17760              : ((16 == 64 || TARGET_AVX512VL
   17761              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17762              :    && ix86_pre_reload_split ()
   17763              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17764              :                     STRIP_UNARY (operands[4]))
   17765              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17766              :                        STRIP_UNARY (operands[4]))
   17767              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17768              :                        STRIP_UNARY (operands[3]))
   17769              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17770              :                        STRIP_UNARY (operands[3])))))
   17771              :                 return -1;
   17772              :               return 5678; /* *avx512vl_vpternlogv8hi_1 */
   17773              : 
   17774              :             case 30:
   17775              :               if (!(
   17776              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17777              : ((64 == 64 || TARGET_AVX512VL
   17778              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17779              :    && ix86_pre_reload_split ()
   17780              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17781              :                     STRIP_UNARY (operands[4]))
   17782              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17783              :                        STRIP_UNARY (operands[4]))
   17784              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17785              :                        STRIP_UNARY (operands[3]))
   17786              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17787              :                        STRIP_UNARY (operands[3])))) && 
   17788              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17789              : (TARGET_AVX512F)))
   17790              :                 return -1;
   17791              :               return 5705; /* *avx512f_vpternlogv16si_1 */
   17792              : 
   17793              :             case 31:
   17794              :               if (!(
   17795              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17796              : ((32 == 64 || TARGET_AVX512VL
   17797              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17798              :    && ix86_pre_reload_split ()
   17799              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17800              :                     STRIP_UNARY (operands[4]))
   17801              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17802              :                        STRIP_UNARY (operands[4]))
   17803              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17804              :                        STRIP_UNARY (operands[3]))
   17805              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17806              :                        STRIP_UNARY (operands[3])))) && 
   17807              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17808              : (TARGET_AVX)))
   17809              :                 return -1;
   17810              :               return 5732; /* *avx512vl_vpternlogv8si_1 */
   17811              : 
   17812              :             case 32:
   17813              :               if (!
   17814              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17815              : ((16 == 64 || TARGET_AVX512VL
   17816              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17817              :    && ix86_pre_reload_split ()
   17818              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17819              :                     STRIP_UNARY (operands[4]))
   17820              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17821              :                        STRIP_UNARY (operands[4]))
   17822              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17823              :                        STRIP_UNARY (operands[3]))
   17824              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17825              :                        STRIP_UNARY (operands[3])))))
   17826              :                 return -1;
   17827              :               return 5759; /* *avx512vl_vpternlogv4si_1 */
   17828              : 
   17829              :             case 33:
   17830              :               if (!(
   17831              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17832              : ((64 == 64 || TARGET_AVX512VL
   17833              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17834              :    && ix86_pre_reload_split ()
   17835              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17836              :                     STRIP_UNARY (operands[4]))
   17837              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17838              :                        STRIP_UNARY (operands[4]))
   17839              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17840              :                        STRIP_UNARY (operands[3]))
   17841              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17842              :                        STRIP_UNARY (operands[3])))) && 
   17843              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17844              : (TARGET_AVX512F)))
   17845              :                 return -1;
   17846              :               return 5786; /* *avx512f_vpternlogv8di_1 */
   17847              : 
   17848              :             case 34:
   17849              :               if (!(
   17850              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17851              : ((32 == 64 || TARGET_AVX512VL
   17852              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17853              :    && ix86_pre_reload_split ()
   17854              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17855              :                     STRIP_UNARY (operands[4]))
   17856              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17857              :                        STRIP_UNARY (operands[4]))
   17858              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17859              :                        STRIP_UNARY (operands[3]))
   17860              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17861              :                        STRIP_UNARY (operands[3])))) && 
   17862              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17863              : (TARGET_AVX)))
   17864              :                 return -1;
   17865              :               return 5813; /* *avx512vl_vpternlogv4di_1 */
   17866              : 
   17867              :             case 35:
   17868              :               if (!
   17869              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17870              : ((16 == 64 || TARGET_AVX512VL
   17871              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17872              :    && ix86_pre_reload_split ()
   17873              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17874              :                     STRIP_UNARY (operands[4]))
   17875              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17876              :                        STRIP_UNARY (operands[4]))
   17877              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17878              :                        STRIP_UNARY (operands[3]))
   17879              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17880              :                        STRIP_UNARY (operands[3])))))
   17881              :                 return -1;
   17882              :               return 5840; /* *avx512vl_vpternlogv2di_1 */
   17883              : 
   17884              :             case 36:
   17885              :               if (!(
   17886              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17887              : ((64 == 64 || TARGET_AVX512VL
   17888              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17889              :    && ix86_pre_reload_split ()) && 
   17890              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17891              : (TARGET_AVX512F)))
   17892              :                 return -1;
   17893              :               return 6833; /* *avx512bw_vpternlogv64qi_3 */
   17894              : 
   17895              :             case 37:
   17896              :               if (!(
   17897              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17898              : ((32 == 64 || TARGET_AVX512VL
   17899              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17900              :    && ix86_pre_reload_split ()) && 
   17901              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17902              : (TARGET_AVX)))
   17903              :                 return -1;
   17904              :               return 6842; /* *avx512vl_vpternlogv32qi_3 */
   17905              : 
   17906              :             case 38:
   17907              :               if (!
   17908              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17909              : ((16 == 64 || TARGET_AVX512VL
   17910              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17911              :    && ix86_pre_reload_split ()))
   17912              :                 return -1;
   17913              :               return 6851; /* *avx512vl_vpternlogv16qi_3 */
   17914              : 
   17915              :             case 39:
   17916              :               if (!(
   17917              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17918              : ((64 == 64 || TARGET_AVX512VL
   17919              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17920              :    && ix86_pre_reload_split ()) && 
   17921              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17922              : (TARGET_AVX512F)))
   17923              :                 return -1;
   17924              :               return 6860; /* *avx512bw_vpternlogv32hi_3 */
   17925              : 
   17926              :             case 40:
   17927              :               if (!(
   17928              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17929              : ((32 == 64 || TARGET_AVX512VL
   17930              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17931              :    && ix86_pre_reload_split ()) && 
   17932              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17933              : (TARGET_AVX)))
   17934              :                 return -1;
   17935              :               return 6869; /* *avx512vl_vpternlogv16hi_3 */
   17936              : 
   17937              :             case 41:
   17938              :               if (!
   17939              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17940              : ((16 == 64 || TARGET_AVX512VL
   17941              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17942              :    && ix86_pre_reload_split ()))
   17943              :                 return -1;
   17944              :               return 6878; /* *avx512vl_vpternlogv8hi_3 */
   17945              : 
   17946              :             case 42:
   17947              :               if (!(
   17948              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17949              : ((64 == 64 || TARGET_AVX512VL
   17950              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17951              :    && ix86_pre_reload_split ()) && 
   17952              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17953              : (TARGET_AVX512F)))
   17954              :                 return -1;
   17955              :               return 6887; /* *avx512f_vpternlogv16si_3 */
   17956              : 
   17957              :             case 43:
   17958              :               if (!(
   17959              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17960              : ((32 == 64 || TARGET_AVX512VL
   17961              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17962              :    && ix86_pre_reload_split ()) && 
   17963              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17964              : (TARGET_AVX)))
   17965              :                 return -1;
   17966              :               return 6896; /* *avx512vl_vpternlogv8si_3 */
   17967              : 
   17968              :             case 44:
   17969              :               if (!
   17970              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17971              : ((16 == 64 || TARGET_AVX512VL
   17972              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17973              :    && ix86_pre_reload_split ()))
   17974              :                 return -1;
   17975              :               return 6905; /* *avx512vl_vpternlogv4si_3 */
   17976              : 
   17977              :             case 45:
   17978              :               if (!(
   17979              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17980              : ((64 == 64 || TARGET_AVX512VL
   17981              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17982              :    && ix86_pre_reload_split ()) && 
   17983              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17984              : (TARGET_AVX512F)))
   17985              :                 return -1;
   17986              :               return 6914; /* *avx512f_vpternlogv8di_3 */
   17987              : 
   17988              :             case 46:
   17989              :               if (!(
   17990              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17991              : ((32 == 64 || TARGET_AVX512VL
   17992              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17993              :    && ix86_pre_reload_split ()) && 
   17994              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17995              : (TARGET_AVX)))
   17996              :                 return -1;
   17997              :               return 6923; /* *avx512vl_vpternlogv4di_3 */
   17998              : 
   17999              :             case 47:
   18000              :               if (!
   18001              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18002              : ((16 == 64 || TARGET_AVX512VL
   18003              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18004              :    && ix86_pre_reload_split ()))
   18005              :                 return -1;
   18006              :               return 6932; /* *avx512vl_vpternlogv2di_3 */
   18007              : 
   18008              :             default:
   18009              :               return -1;
   18010              :             }
   18011              : 
   18012              :         case AND:
   18013              :           switch (pattern537 (x2))
   18014              :             {
   18015              :             case 0:
   18016              :               if (!(
   18017              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18018              : ((64 == 64 || TARGET_AVX512VL
   18019              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18020              :    && ix86_pre_reload_split ()
   18021              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18022              :                     STRIP_UNARY (operands[4]))
   18023              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18024              :                        STRIP_UNARY (operands[4]))
   18025              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18026              :                        STRIP_UNARY (operands[3]))
   18027              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18028              :                        STRIP_UNARY (operands[3])))) && 
   18029              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18030              : (TARGET_AVX512F)))
   18031              :                 return -1;
   18032              :               return 6185; /* *avx512bw_vpternlogv64qi_2 */
   18033              : 
   18034              :             case 1:
   18035              :               if (!(
   18036              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18037              : ((32 == 64 || TARGET_AVX512VL
   18038              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18039              :    && ix86_pre_reload_split ()
   18040              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18041              :                     STRIP_UNARY (operands[4]))
   18042              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18043              :                        STRIP_UNARY (operands[4]))
   18044              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18045              :                        STRIP_UNARY (operands[3]))
   18046              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18047              :                        STRIP_UNARY (operands[3])))) && 
   18048              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18049              : (TARGET_AVX)))
   18050              :                 return -1;
   18051              :               return 6212; /* *avx512vl_vpternlogv32qi_2 */
   18052              : 
   18053              :             case 2:
   18054              :               if (!
   18055              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18056              : ((16 == 64 || TARGET_AVX512VL
   18057              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18058              :    && ix86_pre_reload_split ()
   18059              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18060              :                     STRIP_UNARY (operands[4]))
   18061              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18062              :                        STRIP_UNARY (operands[4]))
   18063              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18064              :                        STRIP_UNARY (operands[3]))
   18065              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18066              :                        STRIP_UNARY (operands[3])))))
   18067              :                 return -1;
   18068              :               return 6239; /* *avx512vl_vpternlogv16qi_2 */
   18069              : 
   18070              :             case 3:
   18071              :               if (!(
   18072              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18073              : ((64 == 64 || TARGET_AVX512VL
   18074              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18075              :    && ix86_pre_reload_split ()
   18076              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18077              :                     STRIP_UNARY (operands[4]))
   18078              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18079              :                        STRIP_UNARY (operands[4]))
   18080              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18081              :                        STRIP_UNARY (operands[3]))
   18082              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18083              :                        STRIP_UNARY (operands[3])))) && 
   18084              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18085              : (TARGET_AVX512F)))
   18086              :                 return -1;
   18087              :               return 6266; /* *avx512bw_vpternlogv32hi_2 */
   18088              : 
   18089              :             case 4:
   18090              :               if (!(
   18091              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18092              : ((32 == 64 || TARGET_AVX512VL
   18093              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18094              :    && ix86_pre_reload_split ()
   18095              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18096              :                     STRIP_UNARY (operands[4]))
   18097              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18098              :                        STRIP_UNARY (operands[4]))
   18099              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18100              :                        STRIP_UNARY (operands[3]))
   18101              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18102              :                        STRIP_UNARY (operands[3])))) && 
   18103              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18104              : (TARGET_AVX)))
   18105              :                 return -1;
   18106              :               return 6293; /* *avx512vl_vpternlogv16hi_2 */
   18107              : 
   18108              :             case 5:
   18109              :               if (!
   18110              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18111              : ((16 == 64 || TARGET_AVX512VL
   18112              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18113              :    && ix86_pre_reload_split ()
   18114              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18115              :                     STRIP_UNARY (operands[4]))
   18116              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18117              :                        STRIP_UNARY (operands[4]))
   18118              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18119              :                        STRIP_UNARY (operands[3]))
   18120              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18121              :                        STRIP_UNARY (operands[3])))))
   18122              :                 return -1;
   18123              :               return 6320; /* *avx512vl_vpternlogv8hi_2 */
   18124              : 
   18125              :             case 6:
   18126              :               if (!(
   18127              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18128              : ((64 == 64 || TARGET_AVX512VL
   18129              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18130              :    && ix86_pre_reload_split ()
   18131              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18132              :                     STRIP_UNARY (operands[4]))
   18133              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18134              :                        STRIP_UNARY (operands[4]))
   18135              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18136              :                        STRIP_UNARY (operands[3]))
   18137              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18138              :                        STRIP_UNARY (operands[3])))) && 
   18139              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18140              : (TARGET_AVX512F)))
   18141              :                 return -1;
   18142              :               return 6347; /* *avx512f_vpternlogv16si_2 */
   18143              : 
   18144              :             case 7:
   18145              :               if (!(
   18146              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18147              : ((32 == 64 || TARGET_AVX512VL
   18148              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18149              :    && ix86_pre_reload_split ()
   18150              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18151              :                     STRIP_UNARY (operands[4]))
   18152              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18153              :                        STRIP_UNARY (operands[4]))
   18154              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18155              :                        STRIP_UNARY (operands[3]))
   18156              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18157              :                        STRIP_UNARY (operands[3])))) && 
   18158              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18159              : (TARGET_AVX)))
   18160              :                 return -1;
   18161              :               return 6374; /* *avx512vl_vpternlogv8si_2 */
   18162              : 
   18163              :             case 8:
   18164              :               if (!
   18165              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18166              : ((16 == 64 || TARGET_AVX512VL
   18167              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18168              :    && ix86_pre_reload_split ()
   18169              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18170              :                     STRIP_UNARY (operands[4]))
   18171              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18172              :                        STRIP_UNARY (operands[4]))
   18173              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18174              :                        STRIP_UNARY (operands[3]))
   18175              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18176              :                        STRIP_UNARY (operands[3])))))
   18177              :                 return -1;
   18178              :               return 6401; /* *avx512vl_vpternlogv4si_2 */
   18179              : 
   18180              :             case 9:
   18181              :               if (!(
   18182              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18183              : ((64 == 64 || TARGET_AVX512VL
   18184              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18185              :    && ix86_pre_reload_split ()
   18186              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18187              :                     STRIP_UNARY (operands[4]))
   18188              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18189              :                        STRIP_UNARY (operands[4]))
   18190              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18191              :                        STRIP_UNARY (operands[3]))
   18192              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18193              :                        STRIP_UNARY (operands[3])))) && 
   18194              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18195              : (TARGET_AVX512F)))
   18196              :                 return -1;
   18197              :               return 6428; /* *avx512f_vpternlogv8di_2 */
   18198              : 
   18199              :             case 10:
   18200              :               if (!(
   18201              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18202              : ((32 == 64 || TARGET_AVX512VL
   18203              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18204              :    && ix86_pre_reload_split ()
   18205              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18206              :                     STRIP_UNARY (operands[4]))
   18207              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18208              :                        STRIP_UNARY (operands[4]))
   18209              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18210              :                        STRIP_UNARY (operands[3]))
   18211              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18212              :                        STRIP_UNARY (operands[3])))) && 
   18213              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18214              : (TARGET_AVX)))
   18215              :                 return -1;
   18216              :               return 6455; /* *avx512vl_vpternlogv4di_2 */
   18217              : 
   18218              :             case 11:
   18219              :               if (!
   18220              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18221              : ((16 == 64 || TARGET_AVX512VL
   18222              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18223              :    && ix86_pre_reload_split ()
   18224              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18225              :                     STRIP_UNARY (operands[4]))
   18226              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18227              :                        STRIP_UNARY (operands[4]))
   18228              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18229              :                        STRIP_UNARY (operands[3]))
   18230              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18231              :                        STRIP_UNARY (operands[3])))))
   18232              :                 return -1;
   18233              :               return 6482; /* *avx512vl_vpternlogv2di_2 */
   18234              : 
   18235              :             default:
   18236              :               return -1;
   18237              :             }
   18238              : 
   18239              :         case IOR:
   18240              :           switch (pattern537 (x2))
   18241              :             {
   18242              :             case 0:
   18243              :               if (!(
   18244              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18245              : ((64 == 64 || TARGET_AVX512VL
   18246              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18247              :    && ix86_pre_reload_split ()
   18248              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18249              :                     STRIP_UNARY (operands[4]))
   18250              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18251              :                        STRIP_UNARY (operands[4]))
   18252              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18253              :                        STRIP_UNARY (operands[3]))
   18254              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18255              :                        STRIP_UNARY (operands[3])))) && 
   18256              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18257              : (TARGET_AVX512F)))
   18258              :                 return -1;
   18259              :               return 6188; /* *avx512bw_vpternlogv64qi_2 */
   18260              : 
   18261              :             case 1:
   18262              :               if (!(
   18263              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18264              : ((32 == 64 || TARGET_AVX512VL
   18265              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18266              :    && ix86_pre_reload_split ()
   18267              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18268              :                     STRIP_UNARY (operands[4]))
   18269              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18270              :                        STRIP_UNARY (operands[4]))
   18271              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18272              :                        STRIP_UNARY (operands[3]))
   18273              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18274              :                        STRIP_UNARY (operands[3])))) && 
   18275              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18276              : (TARGET_AVX)))
   18277              :                 return -1;
   18278              :               return 6215; /* *avx512vl_vpternlogv32qi_2 */
   18279              : 
   18280              :             case 2:
   18281              :               if (!
   18282              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18283              : ((16 == 64 || TARGET_AVX512VL
   18284              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18285              :    && ix86_pre_reload_split ()
   18286              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18287              :                     STRIP_UNARY (operands[4]))
   18288              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18289              :                        STRIP_UNARY (operands[4]))
   18290              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18291              :                        STRIP_UNARY (operands[3]))
   18292              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18293              :                        STRIP_UNARY (operands[3])))))
   18294              :                 return -1;
   18295              :               return 6242; /* *avx512vl_vpternlogv16qi_2 */
   18296              : 
   18297              :             case 3:
   18298              :               if (!(
   18299              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18300              : ((64 == 64 || TARGET_AVX512VL
   18301              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18302              :    && ix86_pre_reload_split ()
   18303              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18304              :                     STRIP_UNARY (operands[4]))
   18305              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18306              :                        STRIP_UNARY (operands[4]))
   18307              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18308              :                        STRIP_UNARY (operands[3]))
   18309              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18310              :                        STRIP_UNARY (operands[3])))) && 
   18311              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18312              : (TARGET_AVX512F)))
   18313              :                 return -1;
   18314              :               return 6269; /* *avx512bw_vpternlogv32hi_2 */
   18315              : 
   18316              :             case 4:
   18317              :               if (!(
   18318              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18319              : ((32 == 64 || TARGET_AVX512VL
   18320              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18321              :    && ix86_pre_reload_split ()
   18322              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18323              :                     STRIP_UNARY (operands[4]))
   18324              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18325              :                        STRIP_UNARY (operands[4]))
   18326              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18327              :                        STRIP_UNARY (operands[3]))
   18328              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18329              :                        STRIP_UNARY (operands[3])))) && 
   18330              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18331              : (TARGET_AVX)))
   18332              :                 return -1;
   18333              :               return 6296; /* *avx512vl_vpternlogv16hi_2 */
   18334              : 
   18335              :             case 5:
   18336              :               if (!
   18337              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18338              : ((16 == 64 || TARGET_AVX512VL
   18339              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18340              :    && ix86_pre_reload_split ()
   18341              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18342              :                     STRIP_UNARY (operands[4]))
   18343              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18344              :                        STRIP_UNARY (operands[4]))
   18345              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18346              :                        STRIP_UNARY (operands[3]))
   18347              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18348              :                        STRIP_UNARY (operands[3])))))
   18349              :                 return -1;
   18350              :               return 6323; /* *avx512vl_vpternlogv8hi_2 */
   18351              : 
   18352              :             case 6:
   18353              :               if (!(
   18354              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18355              : ((64 == 64 || TARGET_AVX512VL
   18356              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18357              :    && ix86_pre_reload_split ()
   18358              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18359              :                     STRIP_UNARY (operands[4]))
   18360              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18361              :                        STRIP_UNARY (operands[4]))
   18362              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18363              :                        STRIP_UNARY (operands[3]))
   18364              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18365              :                        STRIP_UNARY (operands[3])))) && 
   18366              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18367              : (TARGET_AVX512F)))
   18368              :                 return -1;
   18369              :               return 6350; /* *avx512f_vpternlogv16si_2 */
   18370              : 
   18371              :             case 7:
   18372              :               if (!(
   18373              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18374              : ((32 == 64 || TARGET_AVX512VL
   18375              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18376              :    && ix86_pre_reload_split ()
   18377              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18378              :                     STRIP_UNARY (operands[4]))
   18379              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18380              :                        STRIP_UNARY (operands[4]))
   18381              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18382              :                        STRIP_UNARY (operands[3]))
   18383              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18384              :                        STRIP_UNARY (operands[3])))) && 
   18385              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18386              : (TARGET_AVX)))
   18387              :                 return -1;
   18388              :               return 6377; /* *avx512vl_vpternlogv8si_2 */
   18389              : 
   18390              :             case 8:
   18391              :               if (!
   18392              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18393              : ((16 == 64 || TARGET_AVX512VL
   18394              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18395              :    && ix86_pre_reload_split ()
   18396              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18397              :                     STRIP_UNARY (operands[4]))
   18398              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18399              :                        STRIP_UNARY (operands[4]))
   18400              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18401              :                        STRIP_UNARY (operands[3]))
   18402              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18403              :                        STRIP_UNARY (operands[3])))))
   18404              :                 return -1;
   18405              :               return 6404; /* *avx512vl_vpternlogv4si_2 */
   18406              : 
   18407              :             case 9:
   18408              :               if (!(
   18409              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18410              : ((64 == 64 || TARGET_AVX512VL
   18411              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18412              :    && ix86_pre_reload_split ()
   18413              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18414              :                     STRIP_UNARY (operands[4]))
   18415              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18416              :                        STRIP_UNARY (operands[4]))
   18417              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18418              :                        STRIP_UNARY (operands[3]))
   18419              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18420              :                        STRIP_UNARY (operands[3])))) && 
   18421              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18422              : (TARGET_AVX512F)))
   18423              :                 return -1;
   18424              :               return 6431; /* *avx512f_vpternlogv8di_2 */
   18425              : 
   18426              :             case 10:
   18427              :               if (!(
   18428              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18429              : ((32 == 64 || TARGET_AVX512VL
   18430              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18431              :    && ix86_pre_reload_split ()
   18432              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18433              :                     STRIP_UNARY (operands[4]))
   18434              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18435              :                        STRIP_UNARY (operands[4]))
   18436              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18437              :                        STRIP_UNARY (operands[3]))
   18438              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18439              :                        STRIP_UNARY (operands[3])))) && 
   18440              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18441              : (TARGET_AVX)))
   18442              :                 return -1;
   18443              :               return 6458; /* *avx512vl_vpternlogv4di_2 */
   18444              : 
   18445              :             case 11:
   18446              :               if (!
   18447              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18448              : ((16 == 64 || TARGET_AVX512VL
   18449              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18450              :    && ix86_pre_reload_split ()
   18451              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18452              :                     STRIP_UNARY (operands[4]))
   18453              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18454              :                        STRIP_UNARY (operands[4]))
   18455              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18456              :                        STRIP_UNARY (operands[3]))
   18457              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18458              :                        STRIP_UNARY (operands[3])))))
   18459              :                 return -1;
   18460              :               return 6485; /* *avx512vl_vpternlogv2di_2 */
   18461              : 
   18462              :             default:
   18463              :               return -1;
   18464              :             }
   18465              : 
   18466              :         case XOR:
   18467              :           switch (pattern537 (x2))
   18468              :             {
   18469              :             case 0:
   18470              :               if (!(
   18471              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18472              : ((64 == 64 || TARGET_AVX512VL
   18473              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18474              :    && ix86_pre_reload_split ()
   18475              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18476              :                     STRIP_UNARY (operands[4]))
   18477              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18478              :                        STRIP_UNARY (operands[4]))
   18479              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18480              :                        STRIP_UNARY (operands[3]))
   18481              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18482              :                        STRIP_UNARY (operands[3])))) && 
   18483              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18484              : (TARGET_AVX512F)))
   18485              :                 return -1;
   18486              :               return 6191; /* *avx512bw_vpternlogv64qi_2 */
   18487              : 
   18488              :             case 1:
   18489              :               if (!(
   18490              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18491              : ((32 == 64 || TARGET_AVX512VL
   18492              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18493              :    && ix86_pre_reload_split ()
   18494              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18495              :                     STRIP_UNARY (operands[4]))
   18496              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18497              :                        STRIP_UNARY (operands[4]))
   18498              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18499              :                        STRIP_UNARY (operands[3]))
   18500              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18501              :                        STRIP_UNARY (operands[3])))) && 
   18502              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18503              : (TARGET_AVX)))
   18504              :                 return -1;
   18505              :               return 6218; /* *avx512vl_vpternlogv32qi_2 */
   18506              : 
   18507              :             case 2:
   18508              :               if (!
   18509              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18510              : ((16 == 64 || TARGET_AVX512VL
   18511              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18512              :    && ix86_pre_reload_split ()
   18513              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18514              :                     STRIP_UNARY (operands[4]))
   18515              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18516              :                        STRIP_UNARY (operands[4]))
   18517              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18518              :                        STRIP_UNARY (operands[3]))
   18519              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18520              :                        STRIP_UNARY (operands[3])))))
   18521              :                 return -1;
   18522              :               return 6245; /* *avx512vl_vpternlogv16qi_2 */
   18523              : 
   18524              :             case 3:
   18525              :               if (!(
   18526              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18527              : ((64 == 64 || TARGET_AVX512VL
   18528              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18529              :    && ix86_pre_reload_split ()
   18530              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18531              :                     STRIP_UNARY (operands[4]))
   18532              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18533              :                        STRIP_UNARY (operands[4]))
   18534              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18535              :                        STRIP_UNARY (operands[3]))
   18536              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18537              :                        STRIP_UNARY (operands[3])))) && 
   18538              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18539              : (TARGET_AVX512F)))
   18540              :                 return -1;
   18541              :               return 6272; /* *avx512bw_vpternlogv32hi_2 */
   18542              : 
   18543              :             case 4:
   18544              :               if (!(
   18545              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18546              : ((32 == 64 || TARGET_AVX512VL
   18547              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18548              :    && ix86_pre_reload_split ()
   18549              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18550              :                     STRIP_UNARY (operands[4]))
   18551              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18552              :                        STRIP_UNARY (operands[4]))
   18553              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18554              :                        STRIP_UNARY (operands[3]))
   18555              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18556              :                        STRIP_UNARY (operands[3])))) && 
   18557              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18558              : (TARGET_AVX)))
   18559              :                 return -1;
   18560              :               return 6299; /* *avx512vl_vpternlogv16hi_2 */
   18561              : 
   18562              :             case 5:
   18563              :               if (!
   18564              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18565              : ((16 == 64 || TARGET_AVX512VL
   18566              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18567              :    && ix86_pre_reload_split ()
   18568              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18569              :                     STRIP_UNARY (operands[4]))
   18570              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18571              :                        STRIP_UNARY (operands[4]))
   18572              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18573              :                        STRIP_UNARY (operands[3]))
   18574              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18575              :                        STRIP_UNARY (operands[3])))))
   18576              :                 return -1;
   18577              :               return 6326; /* *avx512vl_vpternlogv8hi_2 */
   18578              : 
   18579              :             case 6:
   18580              :               if (!(
   18581              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18582              : ((64 == 64 || TARGET_AVX512VL
   18583              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18584              :    && ix86_pre_reload_split ()
   18585              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18586              :                     STRIP_UNARY (operands[4]))
   18587              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18588              :                        STRIP_UNARY (operands[4]))
   18589              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18590              :                        STRIP_UNARY (operands[3]))
   18591              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18592              :                        STRIP_UNARY (operands[3])))) && 
   18593              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18594              : (TARGET_AVX512F)))
   18595              :                 return -1;
   18596              :               return 6353; /* *avx512f_vpternlogv16si_2 */
   18597              : 
   18598              :             case 7:
   18599              :               if (!(
   18600              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18601              : ((32 == 64 || TARGET_AVX512VL
   18602              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18603              :    && ix86_pre_reload_split ()
   18604              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18605              :                     STRIP_UNARY (operands[4]))
   18606              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18607              :                        STRIP_UNARY (operands[4]))
   18608              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18609              :                        STRIP_UNARY (operands[3]))
   18610              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18611              :                        STRIP_UNARY (operands[3])))) && 
   18612              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18613              : (TARGET_AVX)))
   18614              :                 return -1;
   18615              :               return 6380; /* *avx512vl_vpternlogv8si_2 */
   18616              : 
   18617              :             case 8:
   18618              :               if (!
   18619              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18620              : ((16 == 64 || TARGET_AVX512VL
   18621              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18622              :    && ix86_pre_reload_split ()
   18623              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18624              :                     STRIP_UNARY (operands[4]))
   18625              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18626              :                        STRIP_UNARY (operands[4]))
   18627              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18628              :                        STRIP_UNARY (operands[3]))
   18629              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18630              :                        STRIP_UNARY (operands[3])))))
   18631              :                 return -1;
   18632              :               return 6407; /* *avx512vl_vpternlogv4si_2 */
   18633              : 
   18634              :             case 9:
   18635              :               if (!(
   18636              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18637              : ((64 == 64 || TARGET_AVX512VL
   18638              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18639              :    && ix86_pre_reload_split ()
   18640              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18641              :                     STRIP_UNARY (operands[4]))
   18642              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18643              :                        STRIP_UNARY (operands[4]))
   18644              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18645              :                        STRIP_UNARY (operands[3]))
   18646              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18647              :                        STRIP_UNARY (operands[3])))) && 
   18648              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18649              : (TARGET_AVX512F)))
   18650              :                 return -1;
   18651              :               return 6434; /* *avx512f_vpternlogv8di_2 */
   18652              : 
   18653              :             case 10:
   18654              :               if (!(
   18655              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18656              : ((32 == 64 || TARGET_AVX512VL
   18657              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18658              :    && ix86_pre_reload_split ()
   18659              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18660              :                     STRIP_UNARY (operands[4]))
   18661              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18662              :                        STRIP_UNARY (operands[4]))
   18663              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18664              :                        STRIP_UNARY (operands[3]))
   18665              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18666              :                        STRIP_UNARY (operands[3])))) && 
   18667              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18668              : (TARGET_AVX)))
   18669              :                 return -1;
   18670              :               return 6461; /* *avx512vl_vpternlogv4di_2 */
   18671              : 
   18672              :             case 11:
   18673              :               if (!
   18674              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18675              : ((16 == 64 || TARGET_AVX512VL
   18676              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18677              :    && ix86_pre_reload_split ()
   18678              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18679              :                     STRIP_UNARY (operands[4]))
   18680              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18681              :                        STRIP_UNARY (operands[4]))
   18682              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18683              :                        STRIP_UNARY (operands[3]))
   18684              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18685              :                        STRIP_UNARY (operands[3])))))
   18686              :                 return -1;
   18687              :               return 6488; /* *avx512vl_vpternlogv2di_2 */
   18688              : 
   18689              :             default:
   18690              :               return -1;
   18691              :             }
   18692              : 
   18693              :         default:
   18694              :           return -1;
   18695              :         }
   18696              : 
   18697              :     case IOR:
   18698              :       return recog_307 (x1, insn, pnum_clobbers);
   18699              : 
   18700              :     case XOR:
   18701              :       return recog_306 (x1, insn, pnum_clobbers);
   18702              : 
   18703              :     default:
   18704              :       return -1;
   18705              :     }
   18706              : }
   18707              : 
   18708              :  int
   18709              : recog_324 (rtx x1 ATTRIBUTE_UNUSED,
   18710              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   18711              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   18712              : {
   18713              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   18714              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   18715              :   rtx x10, x11, x12, x13, x14, x15, x16, x17;
   18716              :   rtx x18, x19, x20, x21, x22, x23, x24, x25;
   18717              :   rtx x26, x27, x28, x29, x30, x31, x32, x33;
   18718              :   rtx x34, x35, x36, x37, x38, x39, x40, x41;
   18719              :   rtx x42, x43, x44, x45, x46, x47;
   18720              :   int res ATTRIBUTE_UNUSED;
   18721              :   x2 = XEXP (x1, 0);
   18722              :   operands[0] = x2;
   18723              :   x3 = XEXP (x1, 1);
   18724              :   x4 = XEXP (x3, 0);
   18725              :   switch (GET_CODE (x4))
   18726              :     {
   18727              :     case REG:
   18728              :     case SUBREG:
   18729              :     case MEM:
   18730              :     case VEC_DUPLICATE:
   18731              :       switch (pattern190 (x3))
   18732              :         {
   18733              :         case 0:
   18734              :           if (!(
   18735              : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18736              : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V32HFmode, operands)
   18737              :    && 1 && 1) && 
   18738              : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18739              : (TARGET_AVX512FP16)))
   18740              :             return -1;
   18741              :           return 2745; /* *addv32hf3 */
   18742              : 
   18743              :         case 1:
   18744              :           if (!(
   18745              : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18746              : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V16HFmode, operands)
   18747              :    && 1 && 1) && 
   18748              : #line 394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18749              : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
   18750              :             return -1;
   18751              :           return 2753; /* *addv16hf3 */
   18752              : 
   18753              :         case 2:
   18754              :           if (!(
   18755              : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18756              : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V8HFmode, operands)
   18757              :    && 1 && 1) && 
   18758              : #line 395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18759              : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
   18760              :             return -1;
   18761              :           return 2761; /* *addv8hf3 */
   18762              : 
   18763              :         case 3:
   18764              :           if (!(
   18765              : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18766              : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V16SFmode, operands)
   18767              :    && 1 && 1) && 
   18768              : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18769              : (TARGET_AVX512F)))
   18770              :             return -1;
   18771              :           return 2769; /* *addv16sf3 */
   18772              : 
   18773              :         case 4:
   18774              :           if (!(
   18775              : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18776              : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V8SFmode, operands)
   18777              :    && 1 && 1) && 
   18778              : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18779              : (TARGET_AVX)))
   18780              :             return -1;
   18781              :           return 2777; /* *addv8sf3 */
   18782              : 
   18783              :         case 5:
   18784              :           if (!
   18785              : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18786              : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V4SFmode, operands)
   18787              :    && 1 && 1))
   18788              :             return -1;
   18789              :           return 2785; /* *addv4sf3 */
   18790              : 
   18791              :         case 6:
   18792              :           if (!(
   18793              : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18794              : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V8DFmode, operands)
   18795              :    && 1 && 1) && 
   18796              : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18797              : (TARGET_AVX512F)))
   18798              :             return -1;
   18799              :           return 2793; /* *addv8df3 */
   18800              : 
   18801              :         case 7:
   18802              :           if (!(
   18803              : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18804              : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V4DFmode, operands)
   18805              :    && 1 && 1) && 
   18806              : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18807              : (TARGET_AVX)))
   18808              :             return -1;
   18809              :           return 2801; /* *addv4df3 */
   18810              : 
   18811              :         case 8:
   18812              :           if (!(
   18813              : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18814              : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V2DFmode, operands)
   18815              :    && 1 && 1) && 
   18816              : #line 398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18817              : (TARGET_SSE2)))
   18818              :             return -1;
   18819              :           return 2809; /* *addv2df3 */
   18820              : 
   18821              :         case 9:
   18822              :           if (!(
   18823              : #line 16592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18824              : (TARGET_SSE2 && ix86_binary_operator_ok (PLUS, V64QImode, operands)) && 
   18825              : #line 572 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18826              : (TARGET_AVX512BW)))
   18827              :             return -1;
   18828              :           return 7498; /* *addv64qi3 */
   18829              : 
   18830              :         case 10:
   18831              :           if (!(
   18832              : #line 16592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18833              : (TARGET_SSE2 && ix86_binary_operator_ok (PLUS, V32QImode, operands)) && 
   18834              : #line 572 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18835              : (TARGET_AVX2)))
   18836              :             return -1;
   18837              :           return 7500; /* *addv32qi3 */
   18838              : 
   18839              :         case 11:
   18840              :           if (!
   18841              : #line 16592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18842              : (TARGET_SSE2 && ix86_binary_operator_ok (PLUS, V16QImode, operands)))
   18843              :             return -1;
   18844              :           return 7502; /* *addv16qi3 */
   18845              : 
   18846              :         case 12:
   18847              :           if (!(
   18848              : #line 16592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18849              : (TARGET_SSE2 && ix86_binary_operator_ok (PLUS, V32HImode, operands)) && 
   18850              : #line 573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18851              : (TARGET_AVX512BW)))
   18852              :             return -1;
   18853              :           return 7504; /* *addv32hi3 */
   18854              : 
   18855              :         case 13:
   18856              :           if (!(
   18857              : #line 16592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18858              : (TARGET_SSE2 && ix86_binary_operator_ok (PLUS, V16HImode, operands)) && 
   18859              : #line 573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18860              : (TARGET_AVX2)))
   18861              :             return -1;
   18862              :           return 7506; /* *addv16hi3 */
   18863              : 
   18864              :         case 14:
   18865              :           if (!
   18866              : #line 16592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18867              : (TARGET_SSE2 && ix86_binary_operator_ok (PLUS, V8HImode, operands)))
   18868              :             return -1;
   18869              :           return 7508; /* *addv8hi3 */
   18870              : 
   18871              :         case 15:
   18872              :           if (!(
   18873              : #line 16592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18874              : (TARGET_SSE2 && ix86_binary_operator_ok (PLUS, V16SImode, operands)) && 
   18875              : #line 574 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18876              : (TARGET_AVX512F)))
   18877              :             return -1;
   18878              :           return 7510; /* *addv16si3 */
   18879              : 
   18880              :         case 16:
   18881              :           if (!(
   18882              : #line 16592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18883              : (TARGET_SSE2 && ix86_binary_operator_ok (PLUS, V8SImode, operands)) && 
   18884              : #line 574 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18885              : (TARGET_AVX2)))
   18886              :             return -1;
   18887              :           return 7512; /* *addv8si3 */
   18888              : 
   18889              :         case 17:
   18890              :           if (!
   18891              : #line 16592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18892              : (TARGET_SSE2 && ix86_binary_operator_ok (PLUS, V4SImode, operands)))
   18893              :             return -1;
   18894              :           return 7514; /* *addv4si3 */
   18895              : 
   18896              :         case 18:
   18897              :           if (!(
   18898              : #line 16592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18899              : (TARGET_SSE2 && ix86_binary_operator_ok (PLUS, V8DImode, operands)) && 
   18900              : #line 575 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18901              : (TARGET_AVX512F)))
   18902              :             return -1;
   18903              :           return 7516; /* *addv8di3 */
   18904              : 
   18905              :         case 19:
   18906              :           if (!(
   18907              : #line 16592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18908              : (TARGET_SSE2 && ix86_binary_operator_ok (PLUS, V4DImode, operands)) && 
   18909              : #line 575 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18910              : (TARGET_AVX2)))
   18911              :             return -1;
   18912              :           return 7518; /* *addv4di3 */
   18913              : 
   18914              :         case 20:
   18915              :           if (!
   18916              : #line 16592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18917              : (TARGET_SSE2 && ix86_binary_operator_ok (PLUS, V2DImode, operands)))
   18918              :             return -1;
   18919              :           return 7520; /* *addv2di3 */
   18920              : 
   18921              :         case 21:
   18922              :           if (!
   18923              : #line 32831 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18924              : (TARGET_AVX10_2))
   18925              :             return -1;
   18926              :           return 10677; /* avx10_2_addbf16_v32bf */
   18927              : 
   18928              :         case 22:
   18929              :           if (!
   18930              : #line 32831 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18931              : (TARGET_AVX10_2))
   18932              :             return -1;
   18933              :           return 10685; /* avx10_2_addbf16_v16bf */
   18934              : 
   18935              :         case 23:
   18936              :           if (!
   18937              : #line 32831 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18938              : (TARGET_AVX10_2))
   18939              :             return -1;
   18940              :           return 10693; /* avx10_2_addbf16_v8bf */
   18941              : 
   18942              :         default:
   18943              :           return -1;
   18944              :         }
   18945              : 
   18946              :     case UNSPEC:
   18947              :       switch (pattern193 (x3))
   18948              :         {
   18949              :         case 0:
   18950              :           if (!
   18951              : #line 7521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18952              : (TARGET_AVX512FP16 && flag_unsafe_math_optimizations
   18953              :   && ix86_pre_reload_split ()))
   18954              :             return -1;
   18955              :           return 4377; /* fma_v32hf_fadd_fmul */
   18956              : 
   18957              :         case 1:
   18958              :           if (!(
   18959              : #line 7521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18960              : (TARGET_AVX512FP16 && flag_unsafe_math_optimizations
   18961              :   && ix86_pre_reload_split ()) && 
   18962              : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18963              : (TARGET_AVX512VL)))
   18964              :             return -1;
   18965              :           return 4378; /* fma_v16hf_fadd_fmul */
   18966              : 
   18967              :         case 2:
   18968              :           if (!(
   18969              : #line 7521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18970              : (TARGET_AVX512FP16 && flag_unsafe_math_optimizations
   18971              :   && ix86_pre_reload_split ()) && 
   18972              : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18973              : (TARGET_AVX512VL)))
   18974              :             return -1;
   18975              :           return 4379; /* fma_v8hf_fadd_fmul */
   18976              : 
   18977              :         case 3:
   18978              :           if (!
   18979              : #line 7538 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18980              : (TARGET_AVX512FP16 && flag_unsafe_math_optimizations
   18981              :   && ix86_pre_reload_split ()))
   18982              :             return -1;
   18983              :           return 4380; /* fma_v32hf_fadd_fcmul */
   18984              : 
   18985              :         case 4:
   18986              :           if (!(
   18987              : #line 7538 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18988              : (TARGET_AVX512FP16 && flag_unsafe_math_optimizations
   18989              :   && ix86_pre_reload_split ()) && 
   18990              : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18991              : (TARGET_AVX512VL)))
   18992              :             return -1;
   18993              :           return 4381; /* fma_v16hf_fadd_fcmul */
   18994              : 
   18995              :         case 5:
   18996              :           if (!(
   18997              : #line 7538 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18998              : (TARGET_AVX512FP16 && flag_unsafe_math_optimizations
   18999              :   && ix86_pre_reload_split ()) && 
   19000              : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19001              : (TARGET_AVX512VL)))
   19002              :             return -1;
   19003              :           return 4382; /* fma_v8hf_fadd_fcmul */
   19004              : 
   19005              :         case 6:
   19006              :           if (!
   19007              : #line 7556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19008              : (TARGET_AVX512FP16 && flag_unsafe_math_optimizations
   19009              :   && ix86_pre_reload_split ()))
   19010              :             return -1;
   19011              :           return 4383; /* fma_fmaddc_v32hf_fma_zero */
   19012              : 
   19013              :         case 7:
   19014              :           if (!(
   19015              : #line 7556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19016              : (TARGET_AVX512FP16 && flag_unsafe_math_optimizations
   19017              :   && ix86_pre_reload_split ()) && 
   19018              : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19019              : (TARGET_AVX512VL)))
   19020              :             return -1;
   19021              :           return 4385; /* fma_fmaddc_v16hf_fma_zero */
   19022              : 
   19023              :         case 8:
   19024              :           if (!(
   19025              : #line 7556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19026              : (TARGET_AVX512FP16 && flag_unsafe_math_optimizations
   19027              :   && ix86_pre_reload_split ()) && 
   19028              : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19029              : (TARGET_AVX512VL)))
   19030              :             return -1;
   19031              :           return 4387; /* fma_fmaddc_v8hf_fma_zero */
   19032              : 
   19033              :         case 9:
   19034              :           if (!
   19035              : #line 7556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19036              : (TARGET_AVX512FP16 && flag_unsafe_math_optimizations
   19037              :   && ix86_pre_reload_split ()))
   19038              :             return -1;
   19039              :           return 4384; /* fma_fcmaddc_v32hf_fma_zero */
   19040              : 
   19041              :         case 10:
   19042              :           if (!(
   19043              : #line 7556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19044              : (TARGET_AVX512FP16 && flag_unsafe_math_optimizations
   19045              :   && ix86_pre_reload_split ()) && 
   19046              : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19047              : (TARGET_AVX512VL)))
   19048              :             return -1;
   19049              :           return 4386; /* fma_fcmaddc_v16hf_fma_zero */
   19050              : 
   19051              :         case 11:
   19052              :           if (!(
   19053              : #line 7556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19054              : (TARGET_AVX512FP16 && flag_unsafe_math_optimizations
   19055              :   && ix86_pre_reload_split ()) && 
   19056              : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19057              : (TARGET_AVX512VL)))
   19058              :             return -1;
   19059              :           return 4388; /* fma_fcmaddc_v8hf_fma_zero */
   19060              : 
   19061              :         default:
   19062              :           return -1;
   19063              :         }
   19064              : 
   19065              :     case MULT:
   19066              :       x5 = XEXP (x4, 0);
   19067              :       switch (GET_CODE (x5))
   19068              :         {
   19069              :         case SIGN_EXTEND:
   19070              :           if (pattern332 (x4) != 0)
   19071              :             return -1;
   19072              :           x6 = XEXP (x5, 0);
   19073              :           x7 = XEXP (x6, 1);
   19074              :           switch (XVECLEN (x7, 0))
   19075              :             {
   19076              :             case 8:
   19077              :               if (pattern1321 (x4) != 0)
   19078              :                 return -1;
   19079              :               x8 = XEXP (x3, 1);
   19080              :               if (GET_CODE (x8) != MULT
   19081              :                   || GET_MODE (x8) != E_V8SImode)
   19082              :                 return -1;
   19083              :               x9 = XEXP (x8, 0);
   19084              :               if (GET_CODE (x9) != SIGN_EXTEND
   19085              :                   || GET_MODE (x9) != E_V8SImode)
   19086              :                 return -1;
   19087              :               x10 = XEXP (x9, 0);
   19088              :               if (GET_CODE (x10) != VEC_SELECT
   19089              :                   || GET_MODE (x10) != E_V8HImode)
   19090              :                 return -1;
   19091              :               x11 = XEXP (x10, 1);
   19092              :               if (GET_CODE (x11) != PARALLEL
   19093              :                   || pattern1894 (x11, 
   19094              : 8) != 0)
   19095              :                 return -1;
   19096              :               x12 = XEXP (x8, 1);
   19097              :               if (pattern1874 (x12, 
   19098              : E_V8HImode, 
   19099              : E_V8SImode) != 0)
   19100              :                 return -1;
   19101              :               x13 = XEXP (x12, 0);
   19102              :               x14 = XEXP (x13, 1);
   19103              :               if (pattern1911 (x14, 
   19104              : 8) != 0
   19105              :                   || !register_operand (operands[0], E_V8SImode)
   19106              :                   || GET_MODE (x3) != E_V8SImode
   19107              :                   || GET_MODE (x4) != E_V8SImode
   19108              :                   || GET_MODE (x5) != E_V8SImode
   19109              :                   || GET_MODE (x6) != E_V8HImode
   19110              :                   || !nonimmediate_operand (operands[1], E_V16HImode))
   19111              :                 return -1;
   19112              :               x15 = XEXP (x4, 1);
   19113              :               if (GET_MODE (x15) != E_V8SImode)
   19114              :                 return -1;
   19115              :               x16 = XEXP (x15, 0);
   19116              :               if (GET_MODE (x16) != E_V8HImode
   19117              :                   || !nonimmediate_operand (operands[2], E_V16HImode))
   19118              :                 return -1;
   19119              :               x17 = XEXP (x10, 0);
   19120              :               if (!rtx_equal_p (x17, operands[1]))
   19121              :                 return -1;
   19122              :               x18 = XEXP (x13, 0);
   19123              :               if (!rtx_equal_p (x18, operands[2])
   19124              :                   || !
   19125              : #line 17067 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19126              : (TARGET_AVX2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   19127              :                 return -1;
   19128              :               return 7630; /* *avx2_pmaddwd */
   19129              : 
   19130              :             case 4:
   19131              :               x19 = XVECEXP (x7, 0, 0);
   19132              :               if (GET_CODE (x19) != CONST_INT)
   19133              :                 return -1;
   19134              :               x20 = XVECEXP (x7, 0, 1);
   19135              :               if (GET_CODE (x20) != CONST_INT)
   19136              :                 return -1;
   19137              :               x21 = XVECEXP (x7, 0, 2);
   19138              :               if (GET_CODE (x21) != CONST_INT)
   19139              :                 return -1;
   19140              :               x22 = XVECEXP (x7, 0, 3);
   19141              :               if (GET_CODE (x22) != CONST_INT)
   19142              :                 return -1;
   19143              :               x15 = XEXP (x4, 1);
   19144              :               x16 = XEXP (x15, 0);
   19145              :               x23 = XEXP (x16, 1);
   19146              :               if (XVECLEN (x23, 0) != 4)
   19147              :                 return -1;
   19148              :               x24 = XVECEXP (x23, 0, 0);
   19149              :               if (GET_CODE (x24) != CONST_INT)
   19150              :                 return -1;
   19151              :               x25 = XVECEXP (x23, 0, 1);
   19152              :               if (GET_CODE (x25) != CONST_INT)
   19153              :                 return -1;
   19154              :               x26 = XVECEXP (x23, 0, 2);
   19155              :               if (GET_CODE (x26) != CONST_INT)
   19156              :                 return -1;
   19157              :               x27 = XVECEXP (x23, 0, 3);
   19158              :               if (GET_CODE (x27) != CONST_INT
   19159              :                   || pattern893 (x3, 
   19160              : E_V4HImode, 
   19161              : E_V4SImode) != 0
   19162              :                   || GET_MODE (x15) != E_V4SImode
   19163              :                   || GET_MODE (x16) != E_V4HImode)
   19164              :                 return -1;
   19165              :               switch (XWINT (x19, 0))
   19166              :                 {
   19167              :                 case 0L:
   19168              :                   if (XWINT (x20, 0) != 2L
   19169              :                       || XWINT (x21, 0) != 4L
   19170              :                       || XWINT (x22, 0) != 6L
   19171              :                       || XWINT (x24, 0) != 0L
   19172              :                       || XWINT (x25, 0) != 2L
   19173              :                       || XWINT (x26, 0) != 4L
   19174              :                       || XWINT (x27, 0) != 6L)
   19175              :                     return -1;
   19176              :                   x8 = XEXP (x3, 1);
   19177              :                   if (pattern1808 (x8, 
   19178              : E_V4HImode, 
   19179              : E_V4SImode, 
   19180              : SIGN_EXTEND) != 0
   19181              :                       || !vector_operand (operands[1], E_V8HImode)
   19182              :                       || !vector_operand (operands[2], E_V8HImode))
   19183              :                     return -1;
   19184              :                   x9 = XEXP (x8, 0);
   19185              :                   x10 = XEXP (x9, 0);
   19186              :                   x17 = XEXP (x10, 0);
   19187              :                   if (!rtx_equal_p (x17, operands[1]))
   19188              :                     return -1;
   19189              :                   x12 = XEXP (x8, 1);
   19190              :                   x13 = XEXP (x12, 0);
   19191              :                   x18 = XEXP (x13, 0);
   19192              :                   if (!rtx_equal_p (x18, operands[2])
   19193              :                       || !
   19194              : #line 17122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19195              : (TARGET_SSE2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   19196              :                     return -1;
   19197              :                   return 7631; /* *sse2_pmaddwd */
   19198              : 
   19199              :                 case 1L:
   19200              :                   if (XWINT (x20, 0) != 3L
   19201              :                       || XWINT (x21, 0) != 5L
   19202              :                       || XWINT (x22, 0) != 7L
   19203              :                       || XWINT (x24, 0) != 1L
   19204              :                       || XWINT (x25, 0) != 3L
   19205              :                       || XWINT (x26, 0) != 5L
   19206              :                       || XWINT (x27, 0) != 7L
   19207              :                       || !nonimmediate_operand (operands[1], E_V8HImode)
   19208              :                       || !nonimmediate_operand (operands[2], E_V8HImode))
   19209              :                     return -1;
   19210              :                   x8 = XEXP (x3, 1);
   19211              :                   operands[3] = x8;
   19212              :                   if (!register_operand (operands[3], E_V4SImode)
   19213              :                       || !
   19214              : #line 26782 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19215              : (TARGET_XOP))
   19216              :                     return -1;
   19217              :                   return 9047; /* xop_pmacswd */
   19218              : 
   19219              :                 default:
   19220              :                   return -1;
   19221              :                 }
   19222              : 
   19223              :             case 2:
   19224              :               if (pattern1322 (x3) != 0)
   19225              :                 return -1;
   19226              :               x15 = XEXP (x4, 1);
   19227              :               if (GET_MODE (x15) != E_V2DImode)
   19228              :                 return -1;
   19229              :               x16 = XEXP (x15, 0);
   19230              :               if (GET_MODE (x16) != E_V2SImode
   19231              :                   || !nonimmediate_operand (operands[2], E_V4SImode))
   19232              :                 return -1;
   19233              :               x8 = XEXP (x3, 1);
   19234              :               operands[3] = x8;
   19235              :               switch (pattern1858 (x4))
   19236              :                 {
   19237              :                 case 0:
   19238              :                   if (!
   19239              : #line 26741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19240              : (TARGET_XOP))
   19241              :                     return -1;
   19242              :                   return 9043; /* xop_pmacsdql */
   19243              : 
   19244              :                 case 1:
   19245              :                   if (!
   19246              : #line 26760 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19247              : (TARGET_XOP))
   19248              :                     return -1;
   19249              :                   return 9045; /* xop_pmacsdqh */
   19250              : 
   19251              :                 default:
   19252              :                   return -1;
   19253              :                 }
   19254              : 
   19255              :             default:
   19256              :               return -1;
   19257              :             }
   19258              : 
   19259              :         case REG:
   19260              :         case SUBREG:
   19261              :         case MEM:
   19262              :           switch (pattern334 (x3))
   19263              :             {
   19264              :             case 0:
   19265              :               if (!
   19266              : #line 26722 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19267              : (TARGET_XOP))
   19268              :                 return -1;
   19269              :               return 9039; /* xop_pmacsww */
   19270              : 
   19271              :             case 1:
   19272              :               if (!
   19273              : #line 26722 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19274              : (TARGET_XOP))
   19275              :                 return -1;
   19276              :               return 9041; /* xop_pmacsdd */
   19277              : 
   19278              :             default:
   19279              :               return -1;
   19280              :             }
   19281              : 
   19282              :         default:
   19283              :           return -1;
   19284              :         }
   19285              : 
   19286              :     case VEC_SELECT:
   19287              :       switch (pattern197 (x3))
   19288              :         {
   19289              :         case 0:
   19290              :           if (!
   19291              : #line 22922 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19292              : (TARGET_AVX2))
   19293              :             return -1;
   19294              :           return 8631; /* avx2_phaddwv16hi3 */
   19295              : 
   19296              :         case 1:
   19297              :           if (!
   19298              : #line 22945 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19299              : (TARGET_SSSE3))
   19300              :             return -1;
   19301              :           return 8635; /* ssse3_phaddwv8hi3 */
   19302              : 
   19303              :         case 2:
   19304              :           if (!
   19305              : #line 23012 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19306              : (TARGET_AVX2))
   19307              :             return -1;
   19308              :           return 8643; /* avx2_phadddv8si3 */
   19309              : 
   19310              :         case 3:
   19311              :           if (!
   19312              : #line 23033 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19313              : (TARGET_SSSE3))
   19314              :             return -1;
   19315              :           return 8645; /* ssse3_phadddv4si3 */
   19316              : 
   19317              :         default:
   19318              :           return -1;
   19319              :         }
   19320              : 
   19321              :     case PLUS:
   19322              :       x5 = XEXP (x4, 0);
   19323              :       switch (GET_CODE (x5))
   19324              :         {
   19325              :         case MULT:
   19326              :           if (pattern335 (x5) != 0)
   19327              :             return -1;
   19328              :           x28 = XEXP (x5, 1);
   19329              :           if (GET_MODE (x28) != E_V4SImode)
   19330              :             return -1;
   19331              :           x29 = XEXP (x28, 0);
   19332              :           if (GET_CODE (x29) != VEC_SELECT
   19333              :               || GET_MODE (x29) != E_V4HImode)
   19334              :             return -1;
   19335              :           x30 = XEXP (x29, 1);
   19336              :           if (GET_CODE (x30) != PARALLEL
   19337              :               || XVECLEN (x30, 0) != 4)
   19338              :             return -1;
   19339              :           x31 = XVECEXP (x30, 0, 0);
   19340              :           if (x31 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   19341              :             return -1;
   19342              :           x32 = XVECEXP (x30, 0, 1);
   19343              :           if (x32 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
   19344              :             return -1;
   19345              :           x33 = XVECEXP (x30, 0, 2);
   19346              :           if (x33 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
   19347              :             return -1;
   19348              :           x34 = XVECEXP (x30, 0, 3);
   19349              :           if (x34 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
   19350              :             return -1;
   19351              :           x15 = XEXP (x4, 1);
   19352              :           if (GET_CODE (x15) != MULT
   19353              :               || GET_MODE (x15) != E_V4SImode)
   19354              :             return -1;
   19355              :           x16 = XEXP (x15, 0);
   19356              :           if (GET_CODE (x16) != SIGN_EXTEND
   19357              :               || GET_MODE (x16) != E_V4SImode)
   19358              :             return -1;
   19359              :           x35 = XEXP (x16, 0);
   19360              :           if (GET_CODE (x35) != VEC_SELECT
   19361              :               || GET_MODE (x35) != E_V4HImode)
   19362              :             return -1;
   19363              :           x36 = XEXP (x35, 1);
   19364              :           if (GET_CODE (x36) != PARALLEL
   19365              :               || XVECLEN (x36, 0) != 4)
   19366              :             return -1;
   19367              :           x37 = XVECEXP (x36, 0, 0);
   19368              :           if (x37 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   19369              :             return -1;
   19370              :           x38 = XVECEXP (x36, 0, 1);
   19371              :           if (x38 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
   19372              :             return -1;
   19373              :           x39 = XVECEXP (x36, 0, 2);
   19374              :           if (x39 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
   19375              :             return -1;
   19376              :           x40 = XVECEXP (x36, 0, 3);
   19377              :           if (x40 != const_int_rtx[MAX_SAVED_CONST_INT + 7])
   19378              :             return -1;
   19379              :           x41 = XEXP (x15, 1);
   19380              :           if (GET_CODE (x41) != SIGN_EXTEND
   19381              :               || GET_MODE (x41) != E_V4SImode)
   19382              :             return -1;
   19383              :           x42 = XEXP (x41, 0);
   19384              :           if (GET_CODE (x42) != VEC_SELECT
   19385              :               || GET_MODE (x42) != E_V4HImode)
   19386              :             return -1;
   19387              :           x43 = XEXP (x42, 1);
   19388              :           if (GET_CODE (x43) != PARALLEL
   19389              :               || XVECLEN (x43, 0) != 4)
   19390              :             return -1;
   19391              :           x44 = XVECEXP (x43, 0, 0);
   19392              :           if (x44 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   19393              :             return -1;
   19394              :           x45 = XVECEXP (x43, 0, 1);
   19395              :           if (x45 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
   19396              :             return -1;
   19397              :           x46 = XVECEXP (x43, 0, 2);
   19398              :           if (x46 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
   19399              :             return -1;
   19400              :           x47 = XVECEXP (x43, 0, 3);
   19401              :           if (x47 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
   19402              :               || !register_operand (operands[0], E_V4SImode)
   19403              :               || GET_MODE (x3) != E_V4SImode
   19404              :               || GET_MODE (x4) != E_V4SImode
   19405              :               || pattern1914 (x3) != 0
   19406              :               || !
   19407              : #line 26815 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19408              : (TARGET_XOP))
   19409              :             return -1;
   19410              :           return 9049; /* xop_pmadcswd */
   19411              : 
   19412              :         case SIGN_EXTEND:
   19413              :           switch (pattern338 (x3, 
   19414              : SIGN_EXTEND))
   19415              :             {
   19416              :             case 0:
   19417              :               if (!
   19418              : #line 26909 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19419              : (TARGET_XOP))
   19420              :                 return -1;
   19421              :               return 9069; /* xop_phaddbd */
   19422              : 
   19423              :             case 1:
   19424              :               if (!
   19425              : #line 27005 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19426              : (TARGET_XOP))
   19427              :                 return -1;
   19428              :               return 9075; /* xop_phaddwq */
   19429              : 
   19430              :             default:
   19431              :               return -1;
   19432              :             }
   19433              : 
   19434              :         case ZERO_EXTEND:
   19435              :           switch (pattern338 (x3, 
   19436              : ZERO_EXTEND))
   19437              :             {
   19438              :             case 0:
   19439              :               if (!
   19440              : #line 26909 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19441              : (TARGET_XOP))
   19442              :                 return -1;
   19443              :               return 9070; /* xop_phaddubd */
   19444              : 
   19445              :             case 1:
   19446              :               if (!
   19447              : #line 27005 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19448              : (TARGET_XOP))
   19449              :                 return -1;
   19450              :               return 9076; /* xop_phadduwq */
   19451              : 
   19452              :             default:
   19453              :               return -1;
   19454              :             }
   19455              : 
   19456              :         case PLUS:
   19457              :           if (GET_MODE (x5) != E_V2DImode)
   19458              :             return -1;
   19459              :           x15 = XEXP (x4, 1);
   19460              :           if (GET_CODE (x15) != PLUS
   19461              :               || GET_MODE (x15) != E_V2DImode)
   19462              :             return -1;
   19463              :           x8 = XEXP (x3, 1);
   19464              :           if (GET_CODE (x8) != PLUS
   19465              :               || GET_MODE (x8) != E_V2DImode
   19466              :               || pattern1040 (x8, 
   19467              : E_V2DImode, 
   19468              : PLUS) != 0
   19469              :               || !register_operand (operands[0], E_V2DImode)
   19470              :               || GET_MODE (x3) != E_V2DImode
   19471              :               || GET_MODE (x4) != E_V2DImode
   19472              :               || pattern1564 (x3, 
   19473              : E_V2DImode) != 0)
   19474              :             return -1;
   19475              :           x6 = XEXP (x5, 0);
   19476              :           switch (GET_CODE (x6))
   19477              :             {
   19478              :             case SIGN_EXTEND:
   19479              :               if (pattern1845 (x3, 
   19480              : SIGN_EXTEND) != 0
   19481              :                   || !
   19482              : #line 26957 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19483              : (TARGET_XOP))
   19484              :                 return -1;
   19485              :               return 9071; /* xop_phaddbq */
   19486              : 
   19487              :             case ZERO_EXTEND:
   19488              :               if (pattern1845 (x3, 
   19489              : ZERO_EXTEND) != 0
   19490              :                   || !
   19491              : #line 26957 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19492              : (TARGET_XOP))
   19493              :                 return -1;
   19494              :               return 9072; /* xop_phaddubq */
   19495              : 
   19496              :             default:
   19497              :               return -1;
   19498              :             }
   19499              : 
   19500              :         default:
   19501              :           return -1;
   19502              :         }
   19503              : 
   19504              :     case SIGN_EXTEND:
   19505              :       switch (pattern199 (x3, 
   19506              : SIGN_EXTEND))
   19507              :         {
   19508              :         case 0:
   19509              :           if (!
   19510              : #line 26877 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19511              : (TARGET_XOP))
   19512              :             return -1;
   19513              :           return 9067; /* xop_phaddbw */
   19514              : 
   19515              :         case 1:
   19516              :           if (!
   19517              : #line 26977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19518              : (TARGET_XOP))
   19519              :             return -1;
   19520              :           return 9073; /* xop_phaddwd */
   19521              : 
   19522              :         case 2:
   19523              :           if (!
   19524              : #line 27023 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19525              : (TARGET_XOP))
   19526              :             return -1;
   19527              :           return 9077; /* xop_phadddq */
   19528              : 
   19529              :         default:
   19530              :           return -1;
   19531              :         }
   19532              : 
   19533              :     case ZERO_EXTEND:
   19534              :       switch (pattern199 (x3, 
   19535              : ZERO_EXTEND))
   19536              :         {
   19537              :         case 0:
   19538              :           if (!
   19539              : #line 26877 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19540              : (TARGET_XOP))
   19541              :             return -1;
   19542              :           return 9068; /* xop_phaddubw */
   19543              : 
   19544              :         case 1:
   19545              :           if (!
   19546              : #line 26977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19547              : (TARGET_XOP))
   19548              :             return -1;
   19549              :           return 9074; /* xop_phadduwd */
   19550              : 
   19551              :         case 2:
   19552              :           if (!
   19553              : #line 27023 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19554              : (TARGET_XOP))
   19555              :             return -1;
   19556              :           return 9078; /* xop_phaddudq */
   19557              : 
   19558              :         default:
   19559              :           return -1;
   19560              :         }
   19561              : 
   19562              :     default:
   19563              :       return -1;
   19564              :     }
   19565              : }
   19566              : 
   19567              :  int
   19568              : recog_328 (rtx x1 ATTRIBUTE_UNUSED,
   19569              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   19570              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   19571              : {
   19572              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   19573              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   19574              :   rtx x10, x11, x12, x13, x14, x15, x16, x17;
   19575              :   rtx x18, x19, x20, x21, x22, x23, x24, x25;
   19576              :   rtx x26, x27, x28, x29, x30, x31, x32, x33;
   19577              :   rtx x34, x35, x36, x37, x38, x39, x40, x41;
   19578              :   rtx x42, x43, x44, x45, x46, x47, x48, x49;
   19579              :   rtx x50, x51, x52, x53, x54, x55, x56, x57;
   19580              :   rtx x58, x59, x60, x61, x62, x63, x64, x65;
   19581              :   rtx x66, x67, x68, x69, x70, x71, x72, x73;
   19582              :   rtx x74, x75, x76;
   19583              :   int res ATTRIBUTE_UNUSED;
   19584              :   x2 = XEXP (x1, 0);
   19585              :   operands[0] = x2;
   19586              :   x3 = XEXP (x1, 1);
   19587              :   x4 = XEXP (x3, 0);
   19588              :   switch (GET_CODE (x4))
   19589              :     {
   19590              :     case REG:
   19591              :     case SUBREG:
   19592              :     case MEM:
   19593              :       switch (pattern54 (x3))
   19594              :         {
   19595              :         case 0:
   19596              :           if (!(
   19597              : #line 16643 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19598              : (TARGET_SSE2 && 1 && 1
   19599              :    && ix86_binary_operator_ok (SS_PLUS, V64QImode, operands)) && 
   19600              : #line 732 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19601              : (TARGET_AVX512BW)))
   19602              :             return -1;
   19603              :           return 7546; /* *avx512bw_ssaddv64qi3 */
   19604              : 
   19605              :         case 1:
   19606              :           if (!(
   19607              : #line 16643 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19608              : (TARGET_SSE2 && 1 && 1
   19609              :    && ix86_binary_operator_ok (SS_PLUS, V32QImode, operands)) && 
   19610              : #line 732 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19611              : (TARGET_AVX2)))
   19612              :             return -1;
   19613              :           return 7554; /* *avx2_ssaddv32qi3 */
   19614              : 
   19615              :         case 2:
   19616              :           if (!
   19617              : #line 16643 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19618              : (TARGET_SSE2 && 1 && 1
   19619              :    && ix86_binary_operator_ok (SS_PLUS, V16QImode, operands)))
   19620              :             return -1;
   19621              :           return 7562; /* *sse2_ssaddv16qi3 */
   19622              : 
   19623              :         case 3:
   19624              :           if (!(
   19625              : #line 16643 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19626              : (TARGET_SSE2 && 1 && 1
   19627              :    && ix86_binary_operator_ok (SS_PLUS, V32HImode, operands)) && 
   19628              : #line 733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19629              : (TARGET_AVX512BW)))
   19630              :             return -1;
   19631              :           return 7570; /* *avx512bw_ssaddv32hi3 */
   19632              : 
   19633              :         case 4:
   19634              :           if (!(
   19635              : #line 16643 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19636              : (TARGET_SSE2 && 1 && 1
   19637              :    && ix86_binary_operator_ok (SS_PLUS, V16HImode, operands)) && 
   19638              : #line 733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19639              : (TARGET_AVX2)))
   19640              :             return -1;
   19641              :           return 7578; /* *avx2_ssaddv16hi3 */
   19642              : 
   19643              :         case 5:
   19644              :           if (!
   19645              : #line 16643 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19646              : (TARGET_SSE2 && 1 && 1
   19647              :    && ix86_binary_operator_ok (SS_PLUS, V8HImode, operands)))
   19648              :             return -1;
   19649              :           return 7586; /* *sse2_ssaddv8hi3 */
   19650              : 
   19651              :         default:
   19652              :           return -1;
   19653              :         }
   19654              : 
   19655              :     case VEC_SELECT:
   19656              :       switch (pattern205 (x3))
   19657              :         {
   19658              :         case 0:
   19659              :           if (!
   19660              : #line 22922 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19661              : (TARGET_AVX2))
   19662              :             return -1;
   19663              :           return 8632; /* avx2_phaddswv16hi3 */
   19664              : 
   19665              :         case 1:
   19666              :           if (!
   19667              : #line 22945 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19668              : (TARGET_SSSE3))
   19669              :             return -1;
   19670              :           return 8636; /* ssse3_phaddswv8hi3 */
   19671              : 
   19672              :         default:
   19673              :           return -1;
   19674              :         }
   19675              : 
   19676              :     case MULT:
   19677              :       x5 = XEXP (x4, 0);
   19678              :       switch (GET_CODE (x5))
   19679              :         {
   19680              :         case ZERO_EXTEND:
   19681              :           x6 = XEXP (x5, 0);
   19682              :           if (GET_CODE (x6) != VEC_SELECT)
   19683              :             return -1;
   19684              :           x7 = XEXP (x6, 1);
   19685              :           if (GET_CODE (x7) != PARALLEL)
   19686              :             return -1;
   19687              :           x8 = XEXP (x4, 1);
   19688              :           if (GET_CODE (x8) != SIGN_EXTEND)
   19689              :             return -1;
   19690              :           x9 = XEXP (x8, 0);
   19691              :           if (GET_CODE (x9) != VEC_SELECT)
   19692              :             return -1;
   19693              :           x10 = XEXP (x9, 1);
   19694              :           if (GET_CODE (x10) != PARALLEL)
   19695              :             return -1;
   19696              :           x11 = XEXP (x3, 1);
   19697              :           if (GET_CODE (x11) != MULT)
   19698              :             return -1;
   19699              :           x12 = XEXP (x11, 0);
   19700              :           if (GET_CODE (x12) != ZERO_EXTEND)
   19701              :             return -1;
   19702              :           x13 = XEXP (x12, 0);
   19703              :           if (GET_CODE (x13) != VEC_SELECT)
   19704              :             return -1;
   19705              :           x14 = XEXP (x13, 1);
   19706              :           if (GET_CODE (x14) != PARALLEL)
   19707              :             return -1;
   19708              :           x15 = XEXP (x11, 1);
   19709              :           if (GET_CODE (x15) != SIGN_EXTEND)
   19710              :             return -1;
   19711              :           x16 = XEXP (x15, 0);
   19712              :           if (GET_CODE (x16) != VEC_SELECT)
   19713              :             return -1;
   19714              :           x17 = XEXP (x16, 1);
   19715              :           if (GET_CODE (x17) != PARALLEL)
   19716              :             return -1;
   19717              :           x18 = XEXP (x6, 0);
   19718              :           operands[1] = x18;
   19719              :           x19 = XEXP (x9, 0);
   19720              :           operands[2] = x19;
   19721              :           x20 = XEXP (x13, 0);
   19722              :           if (!rtx_equal_p (x20, operands[1]))
   19723              :             return -1;
   19724              :           x21 = XEXP (x16, 0);
   19725              :           if (!rtx_equal_p (x21, operands[2]))
   19726              :             return -1;
   19727              :           switch (XVECLEN (x7, 0))
   19728              :             {
   19729              :             case 16:
   19730              :               if (pattern1092 (x7, 
   19731              : 6, 
   19732              : 4, 
   19733              : 2, 
   19734              : 0) != 0)
   19735              :                 return -1;
   19736              :               x22 = XVECEXP (x7, 0, 4);
   19737              :               if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
   19738              :                 return -1;
   19739              :               x23 = XVECEXP (x7, 0, 5);
   19740              :               if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 10])
   19741              :                 return -1;
   19742              :               x24 = XVECEXP (x7, 0, 6);
   19743              :               if (x24 != const_int_rtx[MAX_SAVED_CONST_INT + 12])
   19744              :                 return -1;
   19745              :               x25 = XVECEXP (x7, 0, 7);
   19746              :               if (x25 != const_int_rtx[MAX_SAVED_CONST_INT + 14])
   19747              :                 return -1;
   19748              :               x26 = XVECEXP (x7, 0, 8);
   19749              :               if (x26 != const_int_rtx[MAX_SAVED_CONST_INT + 16])
   19750              :                 return -1;
   19751              :               x27 = XVECEXP (x7, 0, 9);
   19752              :               if (x27 != const_int_rtx[MAX_SAVED_CONST_INT + 18])
   19753              :                 return -1;
   19754              :               x28 = XVECEXP (x7, 0, 10);
   19755              :               if (x28 != const_int_rtx[MAX_SAVED_CONST_INT + 20])
   19756              :                 return -1;
   19757              :               x29 = XVECEXP (x7, 0, 11);
   19758              :               if (x29 != const_int_rtx[MAX_SAVED_CONST_INT + 22])
   19759              :                 return -1;
   19760              :               x30 = XVECEXP (x7, 0, 12);
   19761              :               if (x30 != const_int_rtx[MAX_SAVED_CONST_INT + 24])
   19762              :                 return -1;
   19763              :               x31 = XVECEXP (x7, 0, 13);
   19764              :               if (x31 != const_int_rtx[MAX_SAVED_CONST_INT + 26])
   19765              :                 return -1;
   19766              :               x32 = XVECEXP (x7, 0, 14);
   19767              :               if (x32 != const_int_rtx[MAX_SAVED_CONST_INT + 28])
   19768              :                 return -1;
   19769              :               x33 = XVECEXP (x7, 0, 15);
   19770              :               if (x33 != const_int_rtx[MAX_SAVED_CONST_INT + 30]
   19771              :                   || pattern1320 (x10, 
   19772              : 16) != 0)
   19773              :                 return -1;
   19774              :               x34 = XVECEXP (x10, 0, 8);
   19775              :               if (x34 != const_int_rtx[MAX_SAVED_CONST_INT + 16])
   19776              :                 return -1;
   19777              :               x35 = XVECEXP (x10, 0, 9);
   19778              :               if (x35 != const_int_rtx[MAX_SAVED_CONST_INT + 18])
   19779              :                 return -1;
   19780              :               x36 = XVECEXP (x10, 0, 10);
   19781              :               if (x36 != const_int_rtx[MAX_SAVED_CONST_INT + 20])
   19782              :                 return -1;
   19783              :               x37 = XVECEXP (x10, 0, 11);
   19784              :               if (x37 != const_int_rtx[MAX_SAVED_CONST_INT + 22])
   19785              :                 return -1;
   19786              :               x38 = XVECEXP (x10, 0, 12);
   19787              :               if (x38 != const_int_rtx[MAX_SAVED_CONST_INT + 24])
   19788              :                 return -1;
   19789              :               x39 = XVECEXP (x10, 0, 13);
   19790              :               if (x39 != const_int_rtx[MAX_SAVED_CONST_INT + 26])
   19791              :                 return -1;
   19792              :               x40 = XVECEXP (x10, 0, 14);
   19793              :               if (x40 != const_int_rtx[MAX_SAVED_CONST_INT + 28])
   19794              :                 return -1;
   19795              :               x41 = XVECEXP (x10, 0, 15);
   19796              :               if (x41 != const_int_rtx[MAX_SAVED_CONST_INT + 30]
   19797              :                   || pattern1894 (x14, 
   19798              : 16) != 0)
   19799              :                 return -1;
   19800              :               x42 = XVECEXP (x14, 0, 8);
   19801              :               if (x42 != const_int_rtx[MAX_SAVED_CONST_INT + 17])
   19802              :                 return -1;
   19803              :               x43 = XVECEXP (x14, 0, 9);
   19804              :               if (x43 != const_int_rtx[MAX_SAVED_CONST_INT + 19])
   19805              :                 return -1;
   19806              :               x44 = XVECEXP (x14, 0, 10);
   19807              :               if (x44 != const_int_rtx[MAX_SAVED_CONST_INT + 21])
   19808              :                 return -1;
   19809              :               x45 = XVECEXP (x14, 0, 11);
   19810              :               if (x45 != const_int_rtx[MAX_SAVED_CONST_INT + 23])
   19811              :                 return -1;
   19812              :               x46 = XVECEXP (x14, 0, 12);
   19813              :               if (x46 != const_int_rtx[MAX_SAVED_CONST_INT + 25])
   19814              :                 return -1;
   19815              :               x47 = XVECEXP (x14, 0, 13);
   19816              :               if (x47 != const_int_rtx[MAX_SAVED_CONST_INT + 27])
   19817              :                 return -1;
   19818              :               x48 = XVECEXP (x14, 0, 14);
   19819              :               if (x48 != const_int_rtx[MAX_SAVED_CONST_INT + 29])
   19820              :                 return -1;
   19821              :               x49 = XVECEXP (x14, 0, 15);
   19822              :               if (x49 != const_int_rtx[MAX_SAVED_CONST_INT + 31]
   19823              :                   || pattern1911 (x17, 
   19824              : 16) != 0)
   19825              :                 return -1;
   19826              :               x50 = XVECEXP (x17, 0, 8);
   19827              :               if (x50 != const_int_rtx[MAX_SAVED_CONST_INT + 17])
   19828              :                 return -1;
   19829              :               x51 = XVECEXP (x17, 0, 9);
   19830              :               if (x51 != const_int_rtx[MAX_SAVED_CONST_INT + 19])
   19831              :                 return -1;
   19832              :               x52 = XVECEXP (x17, 0, 10);
   19833              :               if (x52 != const_int_rtx[MAX_SAVED_CONST_INT + 21])
   19834              :                 return -1;
   19835              :               x53 = XVECEXP (x17, 0, 11);
   19836              :               if (x53 != const_int_rtx[MAX_SAVED_CONST_INT + 23])
   19837              :                 return -1;
   19838              :               x54 = XVECEXP (x17, 0, 12);
   19839              :               if (x54 != const_int_rtx[MAX_SAVED_CONST_INT + 25])
   19840              :                 return -1;
   19841              :               x55 = XVECEXP (x17, 0, 13);
   19842              :               if (x55 != const_int_rtx[MAX_SAVED_CONST_INT + 27])
   19843              :                 return -1;
   19844              :               x56 = XVECEXP (x17, 0, 14);
   19845              :               if (x56 != const_int_rtx[MAX_SAVED_CONST_INT + 29])
   19846              :                 return -1;
   19847              :               x57 = XVECEXP (x17, 0, 15);
   19848              :               if (x57 != const_int_rtx[MAX_SAVED_CONST_INT + 31]
   19849              :                   || pattern1917 (x3, 
   19850              : E_V32QImode, 
   19851              : E_V16QImode, 
   19852              : E_V16HImode) != 0
   19853              :                   || GET_MODE (x8) != E_V16HImode
   19854              :                   || GET_MODE (x9) != E_V16QImode
   19855              :                   || !nonimmediate_operand (operands[2], E_V32QImode)
   19856              :                   || pattern336 (x11, 
   19857              : E_V16QImode, 
   19858              : E_V16HImode) != 0
   19859              :                   || !
   19860              : #line 23132 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19861              : (TARGET_AVX2))
   19862              :                 return -1;
   19863              :               return 8649; /* avx2_pmaddubsw256 */
   19864              : 
   19865              :             case 8:
   19866              :               if (pattern1321 (x4) != 0
   19867              :                   || pattern1894 (x14, 
   19868              : 8) != 0
   19869              :                   || pattern1911 (x17, 
   19870              : 8) != 0
   19871              :                   || pattern1917 (x3, 
   19872              : E_V16QImode, 
   19873              : E_V8QImode, 
   19874              : E_V8HImode) != 0
   19875              :                   || GET_MODE (x8) != E_V8HImode
   19876              :                   || GET_MODE (x9) != E_V8QImode
   19877              :                   || !vector_operand (operands[2], E_V16QImode)
   19878              :                   || pattern336 (x11, 
   19879              : E_V8QImode, 
   19880              : E_V8HImode) != 0
   19881              :                   || !
   19882              : #line 23219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19883              : (TARGET_SSSE3))
   19884              :                 return -1;
   19885              :               return 8658; /* ssse3_pmaddubsw128 */
   19886              : 
   19887              :             default:
   19888              :               return -1;
   19889              :             }
   19890              : 
   19891              :         case REG:
   19892              :         case SUBREG:
   19893              :         case MEM:
   19894              :           switch (pattern334 (x3))
   19895              :             {
   19896              :             case 0:
   19897              :               if (!
   19898              : #line 26722 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19899              : (TARGET_XOP))
   19900              :                 return -1;
   19901              :               return 9040; /* xop_pmacssww */
   19902              : 
   19903              :             case 1:
   19904              :               if (!
   19905              : #line 26722 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19906              : (TARGET_XOP))
   19907              :                 return -1;
   19908              :               return 9042; /* xop_pmacssdd */
   19909              : 
   19910              :             default:
   19911              :               return -1;
   19912              :             }
   19913              : 
   19914              :         case SIGN_EXTEND:
   19915              :           if (pattern332 (x4) != 0)
   19916              :             return -1;
   19917              :           x11 = XEXP (x3, 1);
   19918              :           operands[3] = x11;
   19919              :           x6 = XEXP (x5, 0);
   19920              :           x7 = XEXP (x6, 1);
   19921              :           switch (XVECLEN (x7, 0))
   19922              :             {
   19923              :             case 2:
   19924              :               if (pattern1322 (x3) != 0)
   19925              :                 return -1;
   19926              :               x8 = XEXP (x4, 1);
   19927              :               if (GET_MODE (x8) != E_V2DImode)
   19928              :                 return -1;
   19929              :               x9 = XEXP (x8, 0);
   19930              :               if (GET_MODE (x9) != E_V2SImode
   19931              :                   || !nonimmediate_operand (operands[2], E_V4SImode))
   19932              :                 return -1;
   19933              :               switch (pattern1858 (x4))
   19934              :                 {
   19935              :                 case 0:
   19936              :                   if (!
   19937              : #line 26741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19938              : (TARGET_XOP))
   19939              :                     return -1;
   19940              :                   return 9044; /* xop_pmacssdql */
   19941              : 
   19942              :                 case 1:
   19943              :                   if (!
   19944              : #line 26760 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19945              : (TARGET_XOP))
   19946              :                     return -1;
   19947              :                   return 9046; /* xop_pmacssdqh */
   19948              : 
   19949              :                 default:
   19950              :                   return -1;
   19951              :                 }
   19952              : 
   19953              :             case 4:
   19954              :               if (pattern1092 (x7, 
   19955              : 7, 
   19956              : 5, 
   19957              : 3, 
   19958              : 1) != 0)
   19959              :                 return -1;
   19960              :               x8 = XEXP (x4, 1);
   19961              :               x9 = XEXP (x8, 0);
   19962              :               x10 = XEXP (x9, 1);
   19963              :               if (pattern1633 (x10, 
   19964              : 7, 
   19965              : 5, 
   19966              : 3, 
   19967              : 1) != 0
   19968              :                   || !register_operand (operands[0], E_V4SImode)
   19969              :                   || GET_MODE (x3) != E_V4SImode
   19970              :                   || GET_MODE (x4) != E_V4SImode
   19971              :                   || GET_MODE (x5) != E_V4SImode
   19972              :                   || GET_MODE (x6) != E_V4HImode
   19973              :                   || !nonimmediate_operand (operands[1], E_V8HImode)
   19974              :                   || GET_MODE (x8) != E_V4SImode
   19975              :                   || GET_MODE (x9) != E_V4HImode
   19976              :                   || !nonimmediate_operand (operands[2], E_V8HImode)
   19977              :                   || !register_operand (operands[3], E_V4SImode)
   19978              :                   || !
   19979              : #line 26782 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19980              : (TARGET_XOP))
   19981              :                 return -1;
   19982              :               return 9048; /* xop_pmacsswd */
   19983              : 
   19984              :             default:
   19985              :               return -1;
   19986              :             }
   19987              : 
   19988              :         default:
   19989              :           return -1;
   19990              :         }
   19991              : 
   19992              :     case PLUS:
   19993              :       if (GET_MODE (x4) != E_V4SImode)
   19994              :         return -1;
   19995              :       x5 = XEXP (x4, 0);
   19996              :       if (GET_CODE (x5) != MULT
   19997              :           || pattern335 (x5) != 0)
   19998              :         return -1;
   19999              :       x58 = XEXP (x5, 1);
   20000              :       if (GET_MODE (x58) != E_V4SImode)
   20001              :         return -1;
   20002              :       x59 = XEXP (x58, 0);
   20003              :       if (GET_CODE (x59) != VEC_SELECT
   20004              :           || GET_MODE (x59) != E_V4HImode)
   20005              :         return -1;
   20006              :       x60 = XEXP (x59, 1);
   20007              :       if (GET_CODE (x60) != PARALLEL
   20008              :           || XVECLEN (x60, 0) != 4)
   20009              :         return -1;
   20010              :       x61 = XVECEXP (x60, 0, 0);
   20011              :       if (x61 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   20012              :         return -1;
   20013              :       x62 = XVECEXP (x60, 0, 1);
   20014              :       if (x62 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
   20015              :         return -1;
   20016              :       x63 = XVECEXP (x60, 0, 2);
   20017              :       if (x63 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
   20018              :         return -1;
   20019              :       x64 = XVECEXP (x60, 0, 3);
   20020              :       if (x64 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
   20021              :         return -1;
   20022              :       x8 = XEXP (x4, 1);
   20023              :       if (GET_CODE (x8) != MULT
   20024              :           || GET_MODE (x8) != E_V4SImode)
   20025              :         return -1;
   20026              :       x9 = XEXP (x8, 0);
   20027              :       if (GET_CODE (x9) != SIGN_EXTEND
   20028              :           || GET_MODE (x9) != E_V4SImode)
   20029              :         return -1;
   20030              :       x19 = XEXP (x9, 0);
   20031              :       if (GET_CODE (x19) != VEC_SELECT
   20032              :           || GET_MODE (x19) != E_V4HImode)
   20033              :         return -1;
   20034              :       x65 = XEXP (x19, 1);
   20035              :       if (GET_CODE (x65) != PARALLEL
   20036              :           || XVECLEN (x65, 0) != 4)
   20037              :         return -1;
   20038              :       x66 = XVECEXP (x65, 0, 0);
   20039              :       if (x66 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   20040              :         return -1;
   20041              :       x67 = XVECEXP (x65, 0, 1);
   20042              :       if (x67 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
   20043              :         return -1;
   20044              :       x68 = XVECEXP (x65, 0, 2);
   20045              :       if (x68 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
   20046              :         return -1;
   20047              :       x69 = XVECEXP (x65, 0, 3);
   20048              :       if (x69 != const_int_rtx[MAX_SAVED_CONST_INT + 7])
   20049              :         return -1;
   20050              :       x70 = XEXP (x8, 1);
   20051              :       if (GET_CODE (x70) != SIGN_EXTEND
   20052              :           || GET_MODE (x70) != E_V4SImode)
   20053              :         return -1;
   20054              :       x71 = XEXP (x70, 0);
   20055              :       if (GET_CODE (x71) != VEC_SELECT
   20056              :           || GET_MODE (x71) != E_V4HImode)
   20057              :         return -1;
   20058              :       x72 = XEXP (x71, 1);
   20059              :       if (GET_CODE (x72) != PARALLEL
   20060              :           || XVECLEN (x72, 0) != 4)
   20061              :         return -1;
   20062              :       x73 = XVECEXP (x72, 0, 0);
   20063              :       if (x73 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   20064              :         return -1;
   20065              :       x74 = XVECEXP (x72, 0, 1);
   20066              :       if (x74 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
   20067              :         return -1;
   20068              :       x75 = XVECEXP (x72, 0, 2);
   20069              :       if (x75 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
   20070              :         return -1;
   20071              :       x76 = XVECEXP (x72, 0, 3);
   20072              :       if (x76 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
   20073              :           || !register_operand (operands[0], E_V4SImode)
   20074              :           || GET_MODE (x3) != E_V4SImode
   20075              :           || pattern1914 (x3) != 0
   20076              :           || !
   20077              : #line 26815 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20078              : (TARGET_XOP))
   20079              :         return -1;
   20080              :       return 9050; /* xop_pmadcsswd */
   20081              : 
   20082              :     default:
   20083              :       return -1;
   20084              :     }
   20085              : }
   20086              : 
   20087              :  int
   20088              : recog_335 (rtx x1 ATTRIBUTE_UNUSED,
   20089              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   20090              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   20091              : {
   20092              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   20093              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   20094              :   rtx x10, x11;
   20095              :   int res ATTRIBUTE_UNUSED;
   20096              :   x2 = XEXP (x1, 0);
   20097              :   operands[0] = x2;
   20098              :   x3 = XEXP (x1, 1);
   20099              :   x4 = XEXP (x3, 0);
   20100              :   switch (GET_CODE (x4))
   20101              :     {
   20102              :     case REG:
   20103              :     case SUBREG:
   20104              :     case MEM:
   20105              :       operands[3] = x4;
   20106              :       x5 = XEXP (x3, 1);
   20107              :       operands[1] = x5;
   20108              :       x6 = XEXP (x3, 2);
   20109              :       operands[2] = x6;
   20110              :       switch (GET_MODE (operands[0]))
   20111              :         {
   20112              :         case E_V32QImode:
   20113              :           if (pattern818 (x3, 
   20114              : E_V32QImode) != 0
   20115              :               || !
   20116              : #line 26828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20117              : (TARGET_XOP))
   20118              :             return -1;
   20119              :           return 9051; /* xop_pcmov_v32qi256 */
   20120              : 
   20121              :         case E_V16QImode:
   20122              :           if (pattern818 (x3, 
   20123              : E_V16QImode) != 0
   20124              :               || !
   20125              : #line 26828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20126              : (TARGET_XOP))
   20127              :             return -1;
   20128              :           return 9052; /* xop_pcmov_v16qi */
   20129              : 
   20130              :         case E_V16HImode:
   20131              :           if (pattern818 (x3, 
   20132              : E_V16HImode) != 0
   20133              :               || !
   20134              : #line 26828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20135              : (TARGET_XOP))
   20136              :             return -1;
   20137              :           return 9053; /* xop_pcmov_v16hi256 */
   20138              : 
   20139              :         case E_V8HImode:
   20140              :           if (pattern818 (x3, 
   20141              : E_V8HImode) != 0
   20142              :               || !
   20143              : #line 26828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20144              : (TARGET_XOP))
   20145              :             return -1;
   20146              :           return 9054; /* xop_pcmov_v8hi */
   20147              : 
   20148              :         case E_V8SImode:
   20149              :           if (pattern818 (x3, 
   20150              : E_V8SImode) != 0
   20151              :               || !
   20152              : #line 26828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20153              : (TARGET_XOP))
   20154              :             return -1;
   20155              :           return 9055; /* xop_pcmov_v8si256 */
   20156              : 
   20157              :         case E_V4SImode:
   20158              :           if (pattern818 (x3, 
   20159              : E_V4SImode) != 0
   20160              :               || !
   20161              : #line 26828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20162              : (TARGET_XOP))
   20163              :             return -1;
   20164              :           return 9056; /* xop_pcmov_v4si */
   20165              : 
   20166              :         case E_V4DImode:
   20167              :           if (pattern818 (x3, 
   20168              : E_V4DImode) != 0
   20169              :               || !
   20170              : #line 26828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20171              : (TARGET_XOP))
   20172              :             return -1;
   20173              :           return 9057; /* xop_pcmov_v4di256 */
   20174              : 
   20175              :         case E_V2DImode:
   20176              :           if (pattern818 (x3, 
   20177              : E_V2DImode) != 0
   20178              :               || !
   20179              : #line 26828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20180              : (TARGET_XOP))
   20181              :             return -1;
   20182              :           return 9058; /* xop_pcmov_v2di */
   20183              : 
   20184              :         case E_V2TImode:
   20185              :           if (pattern818 (x3, 
   20186              : E_V2TImode) != 0
   20187              :               || !
   20188              : #line 26828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20189              : (TARGET_XOP))
   20190              :             return -1;
   20191              :           return 9059; /* xop_pcmov_v2ti256 */
   20192              : 
   20193              :         case E_V1TImode:
   20194              :           if (pattern818 (x3, 
   20195              : E_V1TImode) != 0
   20196              :               || !
   20197              : #line 26828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20198              : (TARGET_XOP))
   20199              :             return -1;
   20200              :           return 9060; /* xop_pcmov_v1ti */
   20201              : 
   20202              :         case E_V16HFmode:
   20203              :           if (pattern818 (x3, 
   20204              : E_V16HFmode) != 0
   20205              :               || !
   20206              : #line 26828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20207              : (TARGET_XOP))
   20208              :             return -1;
   20209              :           return 9061; /* xop_pcmov_v16hf256 */
   20210              : 
   20211              :         case E_V8HFmode:
   20212              :           if (pattern818 (x3, 
   20213              : E_V8HFmode) != 0
   20214              :               || !
   20215              : #line 26828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20216              : (TARGET_XOP))
   20217              :             return -1;
   20218              :           return 9062; /* xop_pcmov_v8hf */
   20219              : 
   20220              :         case E_V8SFmode:
   20221              :           if (pattern818 (x3, 
   20222              : E_V8SFmode) != 0
   20223              :               || !
   20224              : #line 26828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20225              : (TARGET_XOP))
   20226              :             return -1;
   20227              :           return 9063; /* xop_pcmov_v8sf256 */
   20228              : 
   20229              :         case E_V4SFmode:
   20230              :           if (pattern818 (x3, 
   20231              : E_V4SFmode) != 0
   20232              :               || !
   20233              : #line 26828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20234              : (TARGET_XOP))
   20235              :             return -1;
   20236              :           return 9064; /* xop_pcmov_v4sf */
   20237              : 
   20238              :         case E_V4DFmode:
   20239              :           if (pattern818 (x3, 
   20240              : E_V4DFmode) != 0
   20241              :               || !
   20242              : #line 26828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20243              : (TARGET_XOP))
   20244              :             return -1;
   20245              :           return 9065; /* xop_pcmov_v4df256 */
   20246              : 
   20247              :         case E_V2DFmode:
   20248              :           if (pattern818 (x3, 
   20249              : E_V2DFmode) != 0
   20250              :               || !
   20251              : #line 26828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20252              : (TARGET_XOP))
   20253              :             return -1;
   20254              :           return 9066; /* xop_pcmov_v2df */
   20255              : 
   20256              :         default:
   20257              :           return -1;
   20258              :         }
   20259              : 
   20260              :     case GE:
   20261              :       x7 = XEXP (x4, 1);
   20262              :       if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   20263              :         return -1;
   20264              :       x8 = XEXP (x4, 0);
   20265              :       operands[2] = x8;
   20266              :       x5 = XEXP (x3, 1);
   20267              :       switch (GET_CODE (x5))
   20268              :         {
   20269              :         case ROTATE:
   20270              :           x6 = XEXP (x3, 2);
   20271              :           if (GET_CODE (x6) != ROTATERT)
   20272              :             return -1;
   20273              :           x9 = XEXP (x6, 1);
   20274              :           if (GET_CODE (x9) != NEG)
   20275              :             return -1;
   20276              :           x10 = XEXP (x5, 0);
   20277              :           operands[1] = x10;
   20278              :           x11 = XEXP (x5, 1);
   20279              :           if (!rtx_equal_p (x11, operands[2]))
   20280              :             return -1;
   20281              :           switch (pattern1157 (x3))
   20282              :             {
   20283              :             case 0:
   20284              :               if (!
   20285              : #line 27274 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20286              : (TARGET_XOP && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   20287              :                 return -1;
   20288              :               return 9094; /* xop_vrotlv16qi3 */
   20289              : 
   20290              :             case 1:
   20291              :               if (!
   20292              : #line 27274 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20293              : (TARGET_XOP && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   20294              :                 return -1;
   20295              :               return 9095; /* xop_vrotlv8hi3 */
   20296              : 
   20297              :             case 2:
   20298              :               if (!
   20299              : #line 27274 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20300              : (TARGET_XOP && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   20301              :                 return -1;
   20302              :               return 9096; /* xop_vrotlv4si3 */
   20303              : 
   20304              :             case 3:
   20305              :               if (!
   20306              : #line 27274 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20307              : (TARGET_XOP && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   20308              :                 return -1;
   20309              :               return 9097; /* xop_vrotlv2di3 */
   20310              : 
   20311              :             default:
   20312              :               return -1;
   20313              :             }
   20314              : 
   20315              :         case ASHIFT:
   20316              :           x10 = XEXP (x5, 0);
   20317              :           operands[1] = x10;
   20318              :           x11 = XEXP (x5, 1);
   20319              :           if (!rtx_equal_p (x11, operands[2]))
   20320              :             return -1;
   20321              :           x6 = XEXP (x3, 2);
   20322              :           switch (GET_CODE (x6))
   20323              :             {
   20324              :             case ASHIFTRT:
   20325              :               x9 = XEXP (x6, 1);
   20326              :               if (GET_CODE (x9) != NEG)
   20327              :                 return -1;
   20328              :               switch (pattern1157 (x3))
   20329              :                 {
   20330              :                 case 0:
   20331              :                   if (!
   20332              : #line 27511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20333              : (TARGET_XOP && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   20334              :                     return -1;
   20335              :                   return 9098; /* xop_shav16qi3 */
   20336              : 
   20337              :                 case 1:
   20338              :                   if (!
   20339              : #line 27511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20340              : (TARGET_XOP && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   20341              :                     return -1;
   20342              :                   return 9099; /* xop_shav8hi3 */
   20343              : 
   20344              :                 case 2:
   20345              :                   if (!
   20346              : #line 27511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20347              : (TARGET_XOP && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   20348              :                     return -1;
   20349              :                   return 9100; /* xop_shav4si3 */
   20350              : 
   20351              :                 case 3:
   20352              :                   if (!
   20353              : #line 27511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20354              : (TARGET_XOP && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   20355              :                     return -1;
   20356              :                   return 9101; /* xop_shav2di3 */
   20357              : 
   20358              :                 default:
   20359              :                   return -1;
   20360              :                 }
   20361              : 
   20362              :             case LSHIFTRT:
   20363              :               x9 = XEXP (x6, 1);
   20364              :               if (GET_CODE (x9) != NEG)
   20365              :                 return -1;
   20366              :               switch (pattern1157 (x3))
   20367              :                 {
   20368              :                 case 0:
   20369              :                   if (!
   20370              : #line 27530 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20371              : (TARGET_XOP && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   20372              :                     return -1;
   20373              :                   return 9102; /* xop_shlv16qi3 */
   20374              : 
   20375              :                 case 1:
   20376              :                   if (!
   20377              : #line 27530 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20378              : (TARGET_XOP && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   20379              :                     return -1;
   20380              :                   return 9103; /* xop_shlv8hi3 */
   20381              : 
   20382              :                 case 2:
   20383              :                   if (!
   20384              : #line 27530 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20385              : (TARGET_XOP && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   20386              :                     return -1;
   20387              :                   return 9104; /* xop_shlv4si3 */
   20388              : 
   20389              :                 case 3:
   20390              :                   if (!
   20391              : #line 27530 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20392              : (TARGET_XOP && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   20393              :                     return -1;
   20394              :                   return 9105; /* xop_shlv2di3 */
   20395              : 
   20396              :                 default:
   20397              :                   return -1;
   20398              :                 }
   20399              : 
   20400              :             default:
   20401              :               return -1;
   20402              :             }
   20403              : 
   20404              :         default:
   20405              :           return -1;
   20406              :         }
   20407              : 
   20408              :     default:
   20409              :       return -1;
   20410              :     }
   20411              : }
   20412              : 
   20413              :  int
   20414              : recog_340 (rtx x1 ATTRIBUTE_UNUSED,
   20415              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   20416              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   20417              : {
   20418              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   20419              :   rtx x2, x3, x4;
   20420              :   int res ATTRIBUTE_UNUSED;
   20421              :   x2 = XEXP (x1, 0);
   20422              :   operands[0] = x2;
   20423              :   x3 = XEXP (x1, 1);
   20424              :   x4 = XEXP (x3, 0);
   20425              :   operands[1] = x4;
   20426              :   switch (GET_MODE (operands[0]))
   20427              :     {
   20428              :     case E_V64QImode:
   20429              :       if (!register_operand (operands[0], E_V64QImode)
   20430              :           || GET_MODE (x3) != E_V64QImode
   20431              :           || !vector_operand (operands[1], E_V64QImode)
   20432              :           || !(
   20433              : #line 23706 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20434              : (TARGET_SSSE3) && 
   20435              : #line 23696 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20436              : (TARGET_AVX512BW)))
   20437              :         return -1;
   20438              :       return 8691; /* *absv64qi2 */
   20439              : 
   20440              :     case E_V32QImode:
   20441              :       if (!register_operand (operands[0], E_V32QImode)
   20442              :           || GET_MODE (x3) != E_V32QImode
   20443              :           || !vector_operand (operands[1], E_V32QImode)
   20444              :           || !(
   20445              : #line 23706 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20446              : (TARGET_SSSE3) && 
   20447              : #line 23696 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20448              : (TARGET_AVX2)))
   20449              :         return -1;
   20450              :       return 8692; /* *absv32qi2 */
   20451              : 
   20452              :     case E_V16QImode:
   20453              :       if (!register_operand (operands[0], E_V16QImode)
   20454              :           || GET_MODE (x3) != E_V16QImode
   20455              :           || !vector_operand (operands[1], E_V16QImode)
   20456              :           || !
   20457              : #line 23706 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20458              : (TARGET_SSSE3))
   20459              :         return -1;
   20460              :       return 8693; /* *absv16qi2 */
   20461              : 
   20462              :     case E_V32HImode:
   20463              :       if (!register_operand (operands[0], E_V32HImode)
   20464              :           || GET_MODE (x3) != E_V32HImode
   20465              :           || !vector_operand (operands[1], E_V32HImode)
   20466              :           || !(
   20467              : #line 23706 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20468              : (TARGET_SSSE3) && 
   20469              : #line 23697 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20470              : (TARGET_AVX512BW)))
   20471              :         return -1;
   20472              :       return 8694; /* *absv32hi2 */
   20473              : 
   20474              :     case E_V16HImode:
   20475              :       if (!register_operand (operands[0], E_V16HImode)
   20476              :           || GET_MODE (x3) != E_V16HImode
   20477              :           || !vector_operand (operands[1], E_V16HImode)
   20478              :           || !(
   20479              : #line 23706 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20480              : (TARGET_SSSE3) && 
   20481              : #line 23697 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20482              : (TARGET_AVX2)))
   20483              :         return -1;
   20484              :       return 8695; /* *absv16hi2 */
   20485              : 
   20486              :     case E_V8HImode:
   20487              :       if (!register_operand (operands[0], E_V8HImode)
   20488              :           || GET_MODE (x3) != E_V8HImode
   20489              :           || !vector_operand (operands[1], E_V8HImode)
   20490              :           || !
   20491              : #line 23706 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20492              : (TARGET_SSSE3))
   20493              :         return -1;
   20494              :       return 8696; /* *absv8hi2 */
   20495              : 
   20496              :     case E_V16SImode:
   20497              :       if (!register_operand (operands[0], E_V16SImode)
   20498              :           || GET_MODE (x3) != E_V16SImode
   20499              :           || !vector_operand (operands[1], E_V16SImode)
   20500              :           || !(
   20501              : #line 23706 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20502              : (TARGET_SSSE3) && 
   20503              : #line 23698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20504              : (TARGET_AVX512F)))
   20505              :         return -1;
   20506              :       return 8697; /* *absv16si2 */
   20507              : 
   20508              :     case E_V8SImode:
   20509              :       if (!register_operand (operands[0], E_V8SImode)
   20510              :           || GET_MODE (x3) != E_V8SImode
   20511              :           || !vector_operand (operands[1], E_V8SImode)
   20512              :           || !(
   20513              : #line 23706 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20514              : (TARGET_SSSE3) && 
   20515              : #line 23698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20516              : (TARGET_AVX2)))
   20517              :         return -1;
   20518              :       return 8698; /* *absv8si2 */
   20519              : 
   20520              :     case E_V4SImode:
   20521              :       if (!register_operand (operands[0], E_V4SImode)
   20522              :           || GET_MODE (x3) != E_V4SImode
   20523              :           || !vector_operand (operands[1], E_V4SImode)
   20524              :           || !
   20525              : #line 23706 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20526              : (TARGET_SSSE3))
   20527              :         return -1;
   20528              :       return 8699; /* *absv4si2 */
   20529              : 
   20530              :     case E_V8DImode:
   20531              :       if (!register_operand (operands[0], E_V8DImode)
   20532              :           || GET_MODE (x3) != E_V8DImode
   20533              :           || !vector_operand (operands[1], E_V8DImode)
   20534              :           || !(
   20535              : #line 23706 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20536              : (TARGET_SSSE3) && 
   20537              : #line 23699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20538              : (TARGET_AVX512F)))
   20539              :         return -1;
   20540              :       return 8700; /* *absv8di2 */
   20541              : 
   20542              :     case E_V4DImode:
   20543              :       if (!register_operand (operands[0], E_V4DImode)
   20544              :           || GET_MODE (x3) != E_V4DImode
   20545              :           || !vector_operand (operands[1], E_V4DImode)
   20546              :           || !(
   20547              : #line 23706 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20548              : (TARGET_SSSE3) && 
   20549              : #line 23699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20550              : (TARGET_AVX512VL)))
   20551              :         return -1;
   20552              :       return 8701; /* *absv4di2 */
   20553              : 
   20554              :     case E_V2DImode:
   20555              :       if (!register_operand (operands[0], E_V2DImode)
   20556              :           || GET_MODE (x3) != E_V2DImode
   20557              :           || !vector_operand (operands[1], E_V2DImode)
   20558              :           || !(
   20559              : #line 23706 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20560              : (TARGET_SSSE3) && 
   20561              : #line 23700 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20562              : (TARGET_AVX512VL)))
   20563              :         return -1;
   20564              :       return 8702; /* *absv2di2 */
   20565              : 
   20566              :     default:
   20567              :       return -1;
   20568              :     }
   20569              : }
   20570              : 
   20571              :  int
   20572              : recog_344 (rtx x1 ATTRIBUTE_UNUSED,
   20573              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   20574              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   20575              : {
   20576              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   20577              :   rtx x2, x3, x4, x5;
   20578              :   int res ATTRIBUTE_UNUSED;
   20579              :   x2 = XEXP (x1, 0);
   20580              :   operands[0] = x2;
   20581              :   x3 = XEXP (x1, 1);
   20582              :   switch (GET_CODE (x3))
   20583              :     {
   20584              :     case NE:
   20585              :     case EQ:
   20586              :     case GE:
   20587              :     case GT:
   20588              :     case LE:
   20589              :     case LT:
   20590              :     case LTGT:
   20591              :     case UNORDERED:
   20592              :     case ORDERED:
   20593              :     case UNEQ:
   20594              :     case UNGE:
   20595              :     case UNGT:
   20596              :     case UNLE:
   20597              :     case UNLT:
   20598              :       res = recog_276 (x1, insn, pnum_clobbers);
   20599              :       if (res >= 0)
   20600              :         return res;
   20601              :       break;
   20602              : 
   20603              :     default:
   20604              :       break;
   20605              :     }
   20606              :   switch (GET_CODE (x3))
   20607              :     {
   20608              :     case LT:
   20609              :       switch (pattern203 (x3))
   20610              :         {
   20611              :         case 0:
   20612              :           if ((
   20613              : #line 17452 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20614              : (TARGET_SSE2 && ix86_pre_reload_split ()) && 
   20615              : #line 736 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20616              : (TARGET_AVX2)))
   20617              :             return 7658; /* *ashrv16hi3_1 */
   20618              :           break;
   20619              : 
   20620              :         case 1:
   20621              :           if (
   20622              : #line 17452 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20623              : (TARGET_SSE2 && ix86_pre_reload_split ()))
   20624              :             return 7659; /* *ashrv8hi3_1 */
   20625              :           break;
   20626              : 
   20627              :         case 2:
   20628              :           if ((
   20629              : #line 17452 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20630              : (TARGET_SSE2 && ix86_pre_reload_split ()) && 
   20631              : #line 737 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20632              : (TARGET_AVX2)))
   20633              :             return 7660; /* *ashrv8si3_1 */
   20634              :           break;
   20635              : 
   20636              :         case 3:
   20637              :           if (
   20638              : #line 17452 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20639              : (TARGET_SSE2 && ix86_pre_reload_split ()))
   20640              :             return 7661; /* *ashrv4si3_1 */
   20641              :           break;
   20642              : 
   20643              :         default:
   20644              :           break;
   20645              :         }
   20646              :       break;
   20647              : 
   20648              :     case EQ:
   20649              :       res = recog_277 (x1, insn, pnum_clobbers);
   20650              :       if (res >= 0)
   20651              :         return res;
   20652              :       break;
   20653              : 
   20654              :     case GT:
   20655              :       x4 = XEXP (x3, 0);
   20656              :       operands[1] = x4;
   20657              :       x5 = XEXP (x3, 1);
   20658              :       operands[2] = x5;
   20659              :       switch (GET_MODE (operands[0]))
   20660              :         {
   20661              :         case E_V2DImode:
   20662              :           if (pattern680 (x3, 
   20663              : E_V2DImode) == 0
   20664              :               && 
   20665              : #line 18594 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20666              : (TARGET_SSE4_2))
   20667              :             return 7992; /* sse4_2_gtv2di3 */
   20668              :           break;
   20669              : 
   20670              :         case E_V32QImode:
   20671              :           if (pattern12 (x3, 
   20672              : E_V32QImode) == 0
   20673              :               && 
   20674              : #line 18611 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20675              : (TARGET_AVX2))
   20676              :             return 7993; /* avx2_gtv32qi3 */
   20677              :           break;
   20678              : 
   20679              :         case E_V16HImode:
   20680              :           if (pattern12 (x3, 
   20681              : E_V16HImode) == 0
   20682              :               && 
   20683              : #line 18611 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20684              : (TARGET_AVX2))
   20685              :             return 7994; /* avx2_gtv16hi3 */
   20686              :           break;
   20687              : 
   20688              :         case E_V8SImode:
   20689              :           if (pattern12 (x3, 
   20690              : E_V8SImode) == 0
   20691              :               && 
   20692              : #line 18611 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20693              : (TARGET_AVX2))
   20694              :             return 7995; /* avx2_gtv8si3 */
   20695              :           break;
   20696              : 
   20697              :         case E_V4DImode:
   20698              :           if (pattern12 (x3, 
   20699              : E_V4DImode) == 0
   20700              :               && 
   20701              : #line 18611 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20702              : (TARGET_AVX2))
   20703              :             return 7996; /* avx2_gtv4di3 */
   20704              :           break;
   20705              : 
   20706              :         case E_V16QImode:
   20707              :           if (pattern680 (x3, 
   20708              : E_V16QImode) == 0
   20709              :               && 
   20710              : #line 18643 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20711              : (TARGET_SSE2))
   20712              :             return 7997; /* *sse2_gtv16qi3 */
   20713              :           break;
   20714              : 
   20715              :         case E_V8HImode:
   20716              :           if (pattern680 (x3, 
   20717              : E_V8HImode) == 0
   20718              :               && 
   20719              : #line 18643 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20720              : (TARGET_SSE2))
   20721              :             return 7998; /* *sse2_gtv8hi3 */
   20722              :           break;
   20723              : 
   20724              :         case E_V4SImode:
   20725              :           if (pattern680 (x3, 
   20726              : E_V4SImode) == 0
   20727              :               && 
   20728              : #line 18643 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20729              : (TARGET_SSE2))
   20730              :             return 7999; /* *sse2_gtv4si3 */
   20731              :           break;
   20732              : 
   20733              :         default:
   20734              :           break;
   20735              :         }
   20736              :       break;
   20737              : 
   20738              :     default:
   20739              :       break;
   20740              :     }
   20741              :   operands[1] = x3;
   20742              :   x4 = XEXP (x3, 0);
   20743              :   operands[2] = x4;
   20744              :   x5 = XEXP (x3, 1);
   20745              :   operands[3] = x5;
   20746              :   switch (GET_CODE (operands[1]))
   20747              :     {
   20748              :     case NE:
   20749              :     case EQ:
   20750              :     case GE:
   20751              :     case GT:
   20752              :     case LE:
   20753              :     case LT:
   20754              :       switch (GET_MODE (operands[0]))
   20755              :         {
   20756              :         case E_V16QImode:
   20757              :           if (pattern804 (
   20758              : E_V16QImode) == 0
   20759              :               && 
   20760              : #line 27719 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20761              : (TARGET_XOP))
   20762              :             return 9115; /* xop_maskcmpv16qi3 */
   20763              :           break;
   20764              : 
   20765              :         case E_V8HImode:
   20766              :           if (pattern804 (
   20767              : E_V8HImode) == 0
   20768              :               && 
   20769              : #line 27719 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20770              : (TARGET_XOP))
   20771              :             return 9116; /* xop_maskcmpv8hi3 */
   20772              :           break;
   20773              : 
   20774              :         case E_V4SImode:
   20775              :           if (pattern804 (
   20776              : E_V4SImode) == 0
   20777              :               && 
   20778              : #line 27719 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20779              : (TARGET_XOP))
   20780              :             return 9117; /* xop_maskcmpv4si3 */
   20781              :           break;
   20782              : 
   20783              :         case E_V2DImode:
   20784              :           if (pattern804 (
   20785              : E_V2DImode) == 0
   20786              :               && 
   20787              : #line 27719 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20788              : (TARGET_XOP))
   20789              :             return 9118; /* xop_maskcmpv2di3 */
   20790              :           break;
   20791              : 
   20792              :         default:
   20793              :           break;
   20794              :         }
   20795              :       break;
   20796              : 
   20797              :     default:
   20798              :       break;
   20799              :     }
   20800              :   switch (GET_CODE (operands[1]))
   20801              :     {
   20802              :     case NE:
   20803              :     case EQ:
   20804              :     case GEU:
   20805              :     case GTU:
   20806              :     case LEU:
   20807              :     case LTU:
   20808              :       switch (GET_MODE (operands[0]))
   20809              :         {
   20810              :         case E_V16QImode:
   20811              :           if (pattern805 (
   20812              : E_V16QImode) != 0
   20813              :               || !
   20814              : #line 27729 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20815              : (TARGET_XOP))
   20816              :             return -1;
   20817              :           return 9119; /* xop_maskcmp_unsv16qi3 */
   20818              : 
   20819              :         case E_V8HImode:
   20820              :           if (pattern805 (
   20821              : E_V8HImode) != 0
   20822              :               || !
   20823              : #line 27729 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20824              : (TARGET_XOP))
   20825              :             return -1;
   20826              :           return 9120; /* xop_maskcmp_unsv8hi3 */
   20827              : 
   20828              :         case E_V4SImode:
   20829              :           if (pattern805 (
   20830              : E_V4SImode) != 0
   20831              :               || !
   20832              : #line 27729 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20833              : (TARGET_XOP))
   20834              :             return -1;
   20835              :           return 9121; /* xop_maskcmp_unsv4si3 */
   20836              : 
   20837              :         case E_V2DImode:
   20838              :           if (pattern805 (
   20839              : E_V2DImode) != 0
   20840              :               || !
   20841              : #line 27729 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20842              : (TARGET_XOP))
   20843              :             return -1;
   20844              :           return 9122; /* xop_maskcmp_unsv2di3 */
   20845              : 
   20846              :         default:
   20847              :           return -1;
   20848              :         }
   20849              : 
   20850              :     default:
   20851              :       return -1;
   20852              :     }
   20853              : }
   20854              : 
   20855              :  int
   20856              : recog_350 (rtx x1 ATTRIBUTE_UNUSED,
   20857              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   20858              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   20859              : {
   20860              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   20861              :   int res ATTRIBUTE_UNUSED;
   20862              :   switch (pattern29 (x1))
   20863              :     {
   20864              :     case 0:
   20865              :       if (!(
   20866              : #line 8212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20867              : (TARGET_AVX512FP16) && 
   20868              : #line 687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20869              : (TARGET_AVX512VL)))
   20870              :         return -1;
   20871              :       return 4651; /* avx512fp16_fix_truncv8hi2 */
   20872              : 
   20873              :     case 1:
   20874              :       if (!(
   20875              : #line 8212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20876              : (TARGET_AVX512FP16) && 
   20877              : #line 687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20878              : (TARGET_AVX512VL)))
   20879              :         return -1;
   20880              :       return 4659; /* avx512fp16_fix_truncv16hi2 */
   20881              : 
   20882              :     case 2:
   20883              :       if (!
   20884              : #line 8212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20885              : (TARGET_AVX512FP16))
   20886              :         return -1;
   20887              :       return 4667; /* avx512fp16_fix_truncv32hi2 */
   20888              : 
   20889              :     case 3:
   20890              :       switch (GET_MODE (operands[1]))
   20891              :         {
   20892              :         case E_V8HFmode:
   20893              :           if (!vector_operand (operands[1], E_V8HFmode)
   20894              :               || !(
   20895              : #line 8212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20896              : (TARGET_AVX512FP16) && 
   20897              : #line 688 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20898              : (TARGET_AVX512VL)))
   20899              :             return -1;
   20900              :           return 4675; /* avx512fp16_fix_truncv8si2 */
   20901              : 
   20902              :         case E_V8SFmode:
   20903              :           if (!nonimmediate_operand (operands[1], E_V8SFmode)
   20904              :               || !
   20905              : #line 9126 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20906              : (TARGET_AVX && 1))
   20907              :             return -1;
   20908              :           return 4927; /* fix_truncv8sfv8si2 */
   20909              : 
   20910              :         case E_V8DFmode:
   20911              :           if (!vector_operand (operands[1], E_V8DFmode)
   20912              :               || !
   20913              : #line 9900 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20914              : (TARGET_AVX512F))
   20915              :             return -1;
   20916              :           return 5066; /* fix_truncv8dfv8si2 */
   20917              : 
   20918              :         default:
   20919              :           return -1;
   20920              :         }
   20921              : 
   20922              :     case 4:
   20923              :       if (!
   20924              : #line 8212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20925              : (TARGET_AVX512FP16))
   20926              :         return -1;
   20927              :       return 4683; /* avx512fp16_fix_truncv16si2 */
   20928              : 
   20929              :     case 5:
   20930              :       if (!
   20931              : #line 9107 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20932              : (TARGET_AVX512F))
   20933              :         return -1;
   20934              :       return 4917; /* fix_truncv16sfv16si2 */
   20935              : 
   20936              :     case 6:
   20937              :       if (!
   20938              : #line 8212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20939              : (TARGET_AVX512FP16))
   20940              :         return -1;
   20941              :       return 4691; /* avx512fp16_fix_truncv8di2 */
   20942              : 
   20943              :     case 7:
   20944              :       if (!
   20945              : #line 10029 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20946              : (TARGET_AVX512DQ && 1))
   20947              :         return -1;
   20948              :       return 5103; /* fix_truncv8dfv8di2 */
   20949              : 
   20950              :     case 8:
   20951              :       if (!
   20952              : #line 10072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20953              : (TARGET_AVX512DQ && 1))
   20954              :         return -1;
   20955              :       return 5147; /* fix_truncv8sfv8di2 */
   20956              : 
   20957              :     case 9:
   20958              :       switch (GET_MODE (operands[1]))
   20959              :         {
   20960              :         case E_V4HFmode:
   20961              :           if (!memory_operand (operands[1], E_V4HFmode)
   20962              :               || !
   20963              : #line 8262 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20964              : (TARGET_AVX512FP16 && TARGET_AVX512VL))
   20965              :             return -1;
   20966              :           return 4715; /* *avx512fp16_fix_truncv4si2_load */
   20967              : 
   20968              :         case E_V4SFmode:
   20969              :           if (!vector_operand (operands[1], E_V4SFmode)
   20970              :               || !
   20971              : #line 9156 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20972              : (TARGET_SSE2 && 1))
   20973              :             return -1;
   20974              :           return 4931; /* fix_truncv4sfv4si2 */
   20975              : 
   20976              :         case E_V4DFmode:
   20977              :           if (!nonimmediate_operand (operands[1], E_V4DFmode)
   20978              :               || !
   20979              : #line 9989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20980              : (TARGET_AVX || (TARGET_AVX512VL && TARGET_AVX512F)))
   20981              :             return -1;
   20982              :           return 5081; /* fix_truncv4dfv4si2 */
   20983              : 
   20984              :         default:
   20985              :           return -1;
   20986              :         }
   20987              : 
   20988              :     case 10:
   20989              :       if (!
   20990              : #line 8262 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20991              : (TARGET_AVX512FP16 && TARGET_AVX512VL))
   20992              :         return -1;
   20993              :       return 4719; /* *avx512fp16_fix_truncv4di2_load */
   20994              : 
   20995              :     case 11:
   20996              :       if (!(
   20997              : #line 10029 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20998              : (TARGET_AVX512DQ && 1) && 
   20999              : #line 531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21000              : (TARGET_AVX512VL)))
   21001              :         return -1;
   21002              :       return 5111; /* fix_truncv4dfv4di2 */
   21003              : 
   21004              :     case 12:
   21005              :       if (!(
   21006              : #line 10072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21007              : (TARGET_AVX512DQ && 1) && 
   21008              : #line 620 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21009              : (TARGET_AVX512VL)))
   21010              :         return -1;
   21011              :       return 5155; /* fix_truncv4sfv4di2 */
   21012              : 
   21013              :     case 13:
   21014              :       if (!
   21015              : #line 8312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21016              : (TARGET_AVX512FP16 && TARGET_AVX512VL))
   21017              :         return -1;
   21018              :       return 4731; /* *avx512fp16_fix_truncv2di2_load */
   21019              : 
   21020              :     case 14:
   21021              :       if (!(
   21022              : #line 10029 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21023              : (TARGET_AVX512DQ && 1) && 
   21024              : #line 531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21025              : (TARGET_AVX512VL)))
   21026              :         return -1;
   21027              :       return 5115; /* fix_truncv2dfv2di2 */
   21028              : 
   21029              :     case 15:
   21030              :       if (!
   21031              : #line 8252 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21032              : (TARGET_AVX512FP16 && TARGET_AVX512VL))
   21033              :         return -1;
   21034              :       return 4707; /* avx512fp16_fix_truncv4si2 */
   21035              : 
   21036              :     case 16:
   21037              :       if (!
   21038              : #line 8252 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21039              : (TARGET_AVX512FP16 && TARGET_AVX512VL))
   21040              :         return -1;
   21041              :       return 4711; /* avx512fp16_fix_truncv4di2 */
   21042              : 
   21043              :     case 17:
   21044              :       if (!
   21045              : #line 8302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21046              : (TARGET_AVX512FP16 && TARGET_AVX512VL))
   21047              :         return -1;
   21048              :       return 4727; /* avx512fp16_fix_truncv2di2 */
   21049              : 
   21050              :     case 18:
   21051              :       if (!
   21052              : #line 10095 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21053              : (TARGET_AVX512DQ && TARGET_AVX512VL))
   21054              :         return -1;
   21055              :       return 5163; /* avx512dq_fix_truncv2sfv2di2 */
   21056              : 
   21057              :     default:
   21058              :       return -1;
   21059              :     }
   21060              : }
   21061              : 
   21062              :  int
   21063              : recog_355 (rtx x1 ATTRIBUTE_UNUSED,
   21064              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   21065              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   21066              : {
   21067              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   21068              :   rtx x2, x3, x4;
   21069              :   int res ATTRIBUTE_UNUSED;
   21070              :   x2 = XEXP (x1, 0);
   21071              :   operands[0] = x2;
   21072              :   x3 = XEXP (x1, 1);
   21073              :   x4 = XEXP (x3, 0);
   21074              :   operands[1] = x4;
   21075              :   switch (GET_MODE (operands[0]))
   21076              :     {
   21077              :     case E_V16SImode:
   21078              :       if (!register_operand (operands[0], E_V16SImode)
   21079              :           || GET_MODE (x3) != E_V16SImode
   21080              :           || !nonimmediate_operand (operands[1], E_V16SImode)
   21081              :           || !
   21082              : #line 30636 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21083              : (TARGET_AVX512CD))
   21084              :         return -1;
   21085              :       return 10133; /* clzv16si2 */
   21086              : 
   21087              :     case E_V8SImode:
   21088              :       if (!register_operand (operands[0], E_V8SImode)
   21089              :           || GET_MODE (x3) != E_V8SImode
   21090              :           || !nonimmediate_operand (operands[1], E_V8SImode)
   21091              :           || !(
   21092              : #line 30636 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21093              : (TARGET_AVX512CD) && 
   21094              : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21095              : (TARGET_AVX512VL)))
   21096              :         return -1;
   21097              :       return 10135; /* clzv8si2 */
   21098              : 
   21099              :     case E_V4SImode:
   21100              :       if (!register_operand (operands[0], E_V4SImode)
   21101              :           || GET_MODE (x3) != E_V4SImode
   21102              :           || !nonimmediate_operand (operands[1], E_V4SImode)
   21103              :           || !(
   21104              : #line 30636 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21105              : (TARGET_AVX512CD) && 
   21106              : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21107              : (TARGET_AVX512VL)))
   21108              :         return -1;
   21109              :       return 10137; /* clzv4si2 */
   21110              : 
   21111              :     case E_V8DImode:
   21112              :       if (!register_operand (operands[0], E_V8DImode)
   21113              :           || GET_MODE (x3) != E_V8DImode
   21114              :           || !nonimmediate_operand (operands[1], E_V8DImode)
   21115              :           || !
   21116              : #line 30636 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21117              : (TARGET_AVX512CD))
   21118              :         return -1;
   21119              :       return 10139; /* clzv8di2 */
   21120              : 
   21121              :     case E_V4DImode:
   21122              :       if (!register_operand (operands[0], E_V4DImode)
   21123              :           || GET_MODE (x3) != E_V4DImode
   21124              :           || !nonimmediate_operand (operands[1], E_V4DImode)
   21125              :           || !(
   21126              : #line 30636 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21127              : (TARGET_AVX512CD) && 
   21128              : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21129              : (TARGET_AVX512VL)))
   21130              :         return -1;
   21131              :       return 10141; /* clzv4di2 */
   21132              : 
   21133              :     case E_V2DImode:
   21134              :       if (!register_operand (operands[0], E_V2DImode)
   21135              :           || GET_MODE (x3) != E_V2DImode
   21136              :           || !nonimmediate_operand (operands[1], E_V2DImode)
   21137              :           || !(
   21138              : #line 30636 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21139              : (TARGET_AVX512CD) && 
   21140              : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21141              : (TARGET_AVX512VL)))
   21142              :         return -1;
   21143              :       return 10143; /* clzv2di2 */
   21144              : 
   21145              :     default:
   21146              :       return -1;
   21147              :     }
   21148              : }
   21149              : 
   21150              :  int
   21151              : recog_361 (rtx x1 ATTRIBUTE_UNUSED,
   21152              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   21153              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   21154              : {
   21155              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   21156              :   rtx x2, x3;
   21157              :   int res ATTRIBUTE_UNUSED;
   21158              :   switch (pattern8 (x1, pnum_clobbers))
   21159              :     {
   21160              :     case 0:
   21161              :       if (!(
   21162              : #line 27362 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21163              : (TARGET_CMOVE
   21164              :    && ix86_pre_reload_split ()) && 
   21165              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21166              : (TARGET_64BIT)))
   21167              :         return -1;
   21168              :       *pnum_clobbers = 1;
   21169              :       return 1872; /* *uminti3_doubleword */
   21170              : 
   21171              :     case 1:
   21172              :       if (!
   21173              : #line 27420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21174              : (TARGET_CMOVE
   21175              :    && (QImode != QImode || !TARGET_PARTIAL_REG_STALL)
   21176              :    && ix86_pre_reload_split ()))
   21177              :         return -1;
   21178              :       *pnum_clobbers = 1;
   21179              :       return 1876; /* *uminqi3_1 */
   21180              : 
   21181              :     case 2:
   21182              :       if (!
   21183              : #line 27420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21184              : (TARGET_CMOVE
   21185              :    && (HImode != QImode || !TARGET_PARTIAL_REG_STALL)
   21186              :    && ix86_pre_reload_split ()))
   21187              :         return -1;
   21188              :       *pnum_clobbers = 1;
   21189              :       return 1880; /* *uminhi3_1 */
   21190              : 
   21191              :     case 3:
   21192              :       if (!
   21193              : #line 3765 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   21194              : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
   21195              :         return -1;
   21196              :       return 2237; /* uminv4hi3 */
   21197              : 
   21198              :     case 4:
   21199              :       if (!
   21200              : #line 3765 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   21201              : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
   21202              :         return -1;
   21203              :       return 2239; /* uminv2si3 */
   21204              : 
   21205              :     case 5:
   21206              :       if (!
   21207              : #line 3790 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   21208              : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
   21209              :    && (TARGET_SSE || TARGET_3DNOW_A)
   21210              :    && ix86_binary_operator_ok (UMIN, V8QImode, operands)))
   21211              :         return -1;
   21212              :       return 2241; /* *mmx_uminv8qi3 */
   21213              : 
   21214              :     case 6:
   21215              :       if (!
   21216              : #line 3814 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   21217              : (TARGET_SSE2))
   21218              :         return -1;
   21219              :       return 2243; /* uminv4qi3 */
   21220              : 
   21221              :     case 7:
   21222              :       if (!
   21223              : #line 3814 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   21224              : (TARGET_SSE2))
   21225              :         return -1;
   21226              :       return 2245; /* uminv2qi3 */
   21227              : 
   21228              :     case 8:
   21229              :       if (!
   21230              : #line 3827 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   21231              : (TARGET_SSE4_1))
   21232              :         return -1;
   21233              :       return 2247; /* uminv2hi3 */
   21234              : 
   21235              :     case 9:
   21236              :       x2 = XEXP (x1, 1);
   21237              :       x3 = XEXP (x2, 1);
   21238              :       if (rtx_equal_p (x3, operands[1])
   21239              :           && 
   21240              : #line 27601 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21241              : (TARGET_CMOVE
   21242              :    && ix86_pre_reload_split ()))
   21243              :         {
   21244              :           *pnum_clobbers = 1;
   21245              :           return 1891; /* *plus_within_uminhi3_1 */
   21246              :         }
   21247              :       if (!rtx_equal_p (x3, operands[2])
   21248              :           || !
   21249              : #line 27601 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21250              : (TARGET_CMOVE
   21251              :    && ix86_pre_reload_split ()))
   21252              :         return -1;
   21253              :       *pnum_clobbers = 1;
   21254              :       return 1892; /* *plus_within_uminhi3_2 */
   21255              : 
   21256              :     case 10:
   21257              :       if (!
   21258              : #line 27634 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21259              : (TARGET_CMOVE
   21260              :    && ix86_pre_reload_split ()))
   21261              :         return -1;
   21262              :       *pnum_clobbers = 1;
   21263              :       return 1902; /* *minus_within_uminhi3 */
   21264              : 
   21265              :     default:
   21266              :       return -1;
   21267              :     }
   21268              : }
   21269              : 
   21270              :  int
   21271              : recog_367 (rtx x1 ATTRIBUTE_UNUSED,
   21272              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   21273              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   21274              : {
   21275              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   21276              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   21277              :   int res ATTRIBUTE_UNUSED;
   21278              :   switch (pattern343 (x1))
   21279              :     {
   21280              :     case 0:
   21281              :       x2 = XVECEXP (x1, 0, 0);
   21282              :       x3 = XEXP (x2, 0);
   21283              :       operands[0] = x3;
   21284              :       switch (pattern821 (x1))
   21285              :         {
   21286              :         case 0:
   21287              :           if ((
   21288              : #line 16918 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21289              : (((INTVAL (operands[3]) & (4 * BITS_PER_UNIT)) == 0
   21290              :     || ((INTVAL (operands[3]) & (2 * 4 * BITS_PER_UNIT - 1))
   21291              :          == (2 * 4 * BITS_PER_UNIT - 1)))
   21292              :    && ix86_pre_reload_split ()) && 
   21293              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21294              : (!TARGET_64BIT)))
   21295              :             return 1154; /* *lshrdi3_doubleword_mask */
   21296              :           break;
   21297              : 
   21298              :         case 1:
   21299              :           if ((
   21300              : #line 16918 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21301              : (((INTVAL (operands[3]) & (8 * BITS_PER_UNIT)) == 0
   21302              :     || ((INTVAL (operands[3]) & (2 * 8 * BITS_PER_UNIT - 1))
   21303              :          == (2 * 8 * BITS_PER_UNIT - 1)))
   21304              :    && ix86_pre_reload_split ()) && 
   21305              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21306              : (TARGET_64BIT)))
   21307              :             return 1156; /* *lshrti3_doubleword_mask */
   21308              :           break;
   21309              : 
   21310              :         case 2:
   21311              :           if ((
   21312              : #line 2291 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21313              : (TARGET_AVX512F) && 
   21314              : #line 2093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21315              : (TARGET_AVX512DQ)))
   21316              :             return 2664; /* klshiftrtqi */
   21317              :           break;
   21318              : 
   21319              :         case 3:
   21320              :           if (
   21321              : #line 2291 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21322              : (TARGET_AVX512F))
   21323              :             return 2666; /* klshiftrthi */
   21324              :           break;
   21325              : 
   21326              :         case 4:
   21327              :           if ((
   21328              : #line 2291 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21329              : (TARGET_AVX512F) && 
   21330              : #line 2093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21331              : (TARGET_AVX512BW)))
   21332              :             return 2668; /* klshiftrtsi */
   21333              :           break;
   21334              : 
   21335              :         case 5:
   21336              :           if ((
   21337              : #line 2291 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21338              : (TARGET_AVX512F) && 
   21339              : #line 2093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21340              : (TARGET_AVX512BW)))
   21341              :             return 2670; /* klshiftrtdi */
   21342              :           break;
   21343              : 
   21344              :         default:
   21345              :           break;
   21346              :         }
   21347              :       x4 = XEXP (x2, 1);
   21348              :       x5 = XEXP (x4, 1);
   21349              :       operands[2] = x5;
   21350              :       switch (pattern822 (x1))
   21351              :         {
   21352              :         case 0:
   21353              :           operands[0] = x3;
   21354              :           switch (GET_MODE (operands[0]))
   21355              :             {
   21356              :             case E_DImode:
   21357              :               if (register_operand (operands[0], E_DImode)
   21358              :                   && GET_MODE (x4) == E_DImode
   21359              :                   && register_operand (operands[1], E_DImode)
   21360              :                   && 
   21361              : #line 1196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21362              : (!TARGET_64BIT))
   21363              :                 return 1162; /* lshrdi3_doubleword */
   21364              :               break;
   21365              : 
   21366              :             case E_TImode:
   21367              :               if (register_operand (operands[0], E_TImode)
   21368              :                   && GET_MODE (x4) == E_TImode
   21369              :                   && register_operand (operands[1], E_TImode)
   21370              :                   && 
   21371              : #line 1197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21372              : (TARGET_64BIT))
   21373              :                 return 1164; /* lshrti3_doubleword */
   21374              :               break;
   21375              : 
   21376              :             case E_SImode:
   21377              :               if (nonimmediate_operand (operands[0], E_SImode)
   21378              :                   && GET_MODE (x4) == E_SImode
   21379              :                   && nonimmediate_operand (operands[1], E_SImode)
   21380              :                   && 
   21381              : #line 17721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21382              : (ix86_binary_operator_ok (LSHIFTRT, SImode, operands, TARGET_APX_NDD)
   21383              :    && true))
   21384              :                 return 1213; /* *lshrsi3_1 */
   21385              :               break;
   21386              : 
   21387              :             case E_QImode:
   21388              :               if (nonimmediate_operand (operands[0], E_QImode)
   21389              :                   && GET_MODE (x4) == E_QImode
   21390              :                   && nonimmediate_operand (operands[1], E_QImode)
   21391              :                   && 
   21392              : #line 17897 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21393              : (ix86_binary_operator_ok (LSHIFTRT, QImode, operands, TARGET_APX_NDD)
   21394              :    && true))
   21395              :                 return 1245; /* *lshrqi3_1 */
   21396              :               break;
   21397              : 
   21398              :             case E_HImode:
   21399              :               if (nonimmediate_operand (operands[0], E_HImode)
   21400              :                   && GET_MODE (x4) == E_HImode
   21401              :                   && nonimmediate_operand (operands[1], E_HImode)
   21402              :                   && 
   21403              : #line 17935 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21404              : (ix86_binary_operator_ok (LSHIFTRT, HImode, operands, TARGET_APX_NDD)
   21405              :    && true))
   21406              :                 return 1247; /* *lshrhi3_1 */
   21407              :               break;
   21408              : 
   21409              :             case E_V2QImode:
   21410              :               if (register_operand (operands[0], E_V2QImode)
   21411              :                   && GET_MODE (x4) == E_V2QImode
   21412              :                   && register_operand (operands[1], E_V2QImode)
   21413              :                   && 
   21414              : #line 4035 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   21415              : (!TARGET_PARTIAL_REG_STALL || optimize_size))
   21416              :                 return 2271; /* lshrv2qi3 */
   21417              :               break;
   21418              : 
   21419              :             default:
   21420              :               break;
   21421              :             }
   21422              :           break;
   21423              : 
   21424              :         case 1:
   21425              :           x6 = XEXP (x3, 0);
   21426              :           operands[0] = x6;
   21427              :           switch (pattern377 (x4))
   21428              :             {
   21429              :             case 0:
   21430              :               if (
   21431              : #line 17974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21432              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
   21433              :                 return 1248; /* *lshrqi3_1_slp */
   21434              :               break;
   21435              : 
   21436              :             case 1:
   21437              :               if (
   21438              : #line 17974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21439              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
   21440              :                 return 1250; /* *lshrhi3_1_slp */
   21441              :               break;
   21442              : 
   21443              :             default:
   21444              :               break;
   21445              :             }
   21446              :           break;
   21447              : 
   21448              :         default:
   21449              :           break;
   21450              :         }
   21451              :       x7 = XVECEXP (x1, 0, 1);
   21452              :       if (GET_CODE (x7) != CLOBBER)
   21453              :         return -1;
   21454              :       x8 = XEXP (x7, 0);
   21455              :       if (GET_CODE (x8) != REG
   21456              :           || REGNO (x8) != 17
   21457              :           || GET_MODE (x8) != E_CCmode)
   21458              :         return -1;
   21459              :       switch (GET_CODE (x5))
   21460              :         {
   21461              :         case CONST_INT:
   21462              :           if (pattern1241 (x2) == 0
   21463              :               && GET_MODE (x4) == E_DImode
   21464              :               && nonimmediate_operand (operands[1], E_DImode)
   21465              :               && 
   21466              : #line 17697 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21467              : (TARGET_64BIT))
   21468              :             return 1211; /* *highpartdisi2 */
   21469              :           break;
   21470              : 
   21471              :         case SUBREG:
   21472              :           switch (pattern1244 (x2, 
   21473              : E_SImode))
   21474              :             {
   21475              :             case 0:
   21476              :               if (
   21477              : #line 18174 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21478              : (ix86_binary_operator_ok (LSHIFTRT, SImode, operands)
   21479              :    && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1))
   21480              :       == 4 * BITS_PER_UNIT - 1
   21481              :    && ix86_pre_reload_split ()))
   21482              :                 return 1277; /* *lshrsi3_mask */
   21483              :               break;
   21484              : 
   21485              :             case 1:
   21486              :               if (
   21487              : #line 18222 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21488              : (ix86_binary_operator_ok (LSHIFTRT, SImode, operands)
   21489              :    && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
   21490              :    && ix86_pre_reload_split ()))
   21491              :                 return 1289; /* *lshrsi3_add */
   21492              :               break;
   21493              : 
   21494              :             case 2:
   21495              :               if (
   21496              : #line 18268 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21497              : (ix86_binary_operator_ok (LSHIFTRT, SImode, operands)
   21498              :    && ((INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
   21499              :        || (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1))
   21500              :           == 4 * BITS_PER_UNIT - 1)
   21501              :    && ix86_pre_reload_split ()))
   21502              :                 return 1301; /* *lshrsi3_sub */
   21503              :               break;
   21504              : 
   21505              :             default:
   21506              :               break;
   21507              :             }
   21508              :           break;
   21509              : 
   21510              :         default:
   21511              :           break;
   21512              :         }
   21513              :       operands[0] = x3;
   21514              :       if (!nonimmediate_operand (operands[0], E_DImode)
   21515              :           || GET_MODE (x4) != E_DImode
   21516              :           || !nonimmediate_operand (operands[1], E_DImode))
   21517              :         return -1;
   21518              :       operands[2] = x5;
   21519              :       if (nonmemory_operand (operands[2], E_QImode)
   21520              :           && (
   21521              : #line 17721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21522              : (ix86_binary_operator_ok (LSHIFTRT, DImode, operands, TARGET_APX_NDD)
   21523              :    && true) && 
   21524              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21525              : (TARGET_64BIT)))
   21526              :         return 1215; /* *lshrdi3_1 */
   21527              :       if (GET_CODE (x5) != SUBREG
   21528              :           || maybe_ne (SUBREG_BYTE (x5), 0)
   21529              :           || GET_MODE (x5) != E_QImode)
   21530              :         return -1;
   21531              :       x9 = XEXP (x5, 0);
   21532              :       switch (pattern1242 (x9))
   21533              :         {
   21534              :         case 0:
   21535              :           if (!(
   21536              : #line 18174 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21537              : (ix86_binary_operator_ok (LSHIFTRT, DImode, operands)
   21538              :    && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1))
   21539              :       == 8 * BITS_PER_UNIT - 1
   21540              :    && ix86_pre_reload_split ()) && 
   21541              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21542              : (TARGET_64BIT)))
   21543              :             return -1;
   21544              :           return 1280; /* *lshrdi3_mask */
   21545              : 
   21546              :         case 1:
   21547              :           if (!(
   21548              : #line 18222 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21549              : (ix86_binary_operator_ok (LSHIFTRT, DImode, operands)
   21550              :    && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
   21551              :    && ix86_pre_reload_split ()) && 
   21552              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21553              : (TARGET_64BIT)))
   21554              :             return -1;
   21555              :           return 1292; /* *lshrdi3_add */
   21556              : 
   21557              :         case 2:
   21558              :           if (!(
   21559              : #line 18268 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21560              : (ix86_binary_operator_ok (LSHIFTRT, DImode, operands)
   21561              :    && ((INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
   21562              :        || (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1))
   21563              :           == 8 * BITS_PER_UNIT - 1)
   21564              :    && ix86_pre_reload_split ()) && 
   21565              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21566              : (TARGET_64BIT)))
   21567              :             return -1;
   21568              :           return 1304; /* *lshrdi3_sub */
   21569              : 
   21570              :         default:
   21571              :           return -1;
   21572              :         }
   21573              : 
   21574              :     case 1:
   21575              :       if (register_operand (operands[0], E_DImode)
   21576              :           && register_operand (operands[1], E_DImode)
   21577              :           && (
   21578              : #line 16979 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21579              : (((INTVAL (operands[3]) & (4 * BITS_PER_UNIT)) == 0
   21580              :     || ((INTVAL (operands[3]) & (2 * 4 * BITS_PER_UNIT - 1))
   21581              :          == (2 * 4 * BITS_PER_UNIT - 1)))
   21582              :    && ix86_pre_reload_split ()) && 
   21583              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21584              : (!TARGET_64BIT)))
   21585              :         return 1158; /* *lshrdi3_doubleword_mask_1 */
   21586              :       if (!nonimmediate_operand (operands[0], E_DImode)
   21587              :           || !nonimmediate_operand (operands[1], E_DImode)
   21588              :           || !(
   21589              : #line 18199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21590              : (ix86_binary_operator_ok (LSHIFTRT, DImode, operands)
   21591              :    && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1))
   21592              :       == 8 * BITS_PER_UNIT - 1
   21593              :    && ix86_pre_reload_split ()) && 
   21594              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21595              : (TARGET_64BIT)))
   21596              :         return -1;
   21597              :       return 1286; /* *lshrdi3_mask_1 */
   21598              : 
   21599              :     case 2:
   21600              :       if (!(
   21601              : #line 16979 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21602              : (((INTVAL (operands[3]) & (8 * BITS_PER_UNIT)) == 0
   21603              :     || ((INTVAL (operands[3]) & (2 * 8 * BITS_PER_UNIT - 1))
   21604              :          == (2 * 8 * BITS_PER_UNIT - 1)))
   21605              :    && ix86_pre_reload_split ()) && 
   21606              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21607              : (TARGET_64BIT)))
   21608              :         return -1;
   21609              :       return 1160; /* *lshrti3_doubleword_mask_1 */
   21610              : 
   21611              :     case 3:
   21612              :       if (!
   21613              : #line 18199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21614              : (ix86_binary_operator_ok (LSHIFTRT, SImode, operands)
   21615              :    && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1))
   21616              :       == 4 * BITS_PER_UNIT - 1
   21617              :    && ix86_pre_reload_split ()))
   21618              :         return -1;
   21619              :       return 1283; /* *lshrsi3_mask_1 */
   21620              : 
   21621              :     case 4:
   21622              :       if (!
   21623              : #line 18246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21624              : (ix86_binary_operator_ok (LSHIFTRT, SImode, operands)
   21625              :    && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
   21626              :    && ix86_pre_reload_split ()))
   21627              :         return -1;
   21628              :       return 1295; /* *lshrsi3_add_1 */
   21629              : 
   21630              :     case 5:
   21631              :       if (!(
   21632              : #line 18246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21633              : (ix86_binary_operator_ok (LSHIFTRT, DImode, operands)
   21634              :    && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
   21635              :    && ix86_pre_reload_split ()) && 
   21636              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21637              : (TARGET_64BIT)))
   21638              :         return -1;
   21639              :       return 1298; /* *lshrdi3_add_1 */
   21640              : 
   21641              :     case 6:
   21642              :       if (!
   21643              : #line 18301 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21644              : (ix86_binary_operator_ok (LSHIFTRT, SImode, operands)
   21645              :    && ((INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
   21646              :        || (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1))
   21647              :           == 4 * BITS_PER_UNIT - 1)
   21648              :    && ix86_pre_reload_split ()))
   21649              :         return -1;
   21650              :       return 1307; /* *lshrsi3_sub_1 */
   21651              : 
   21652              :     case 7:
   21653              :       if (!(
   21654              : #line 18301 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21655              : (ix86_binary_operator_ok (LSHIFTRT, DImode, operands)
   21656              :    && ((INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
   21657              :        || (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1))
   21658              :           == 8 * BITS_PER_UNIT - 1)
   21659              :    && ix86_pre_reload_split ()) && 
   21660              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21661              : (TARGET_64BIT)))
   21662              :         return -1;
   21663              :       return 1310; /* *lshrdi3_sub_1 */
   21664              : 
   21665              :     default:
   21666              :       return -1;
   21667              :     }
   21668              : }
   21669              : 
   21670              :  int
   21671              : recog_381 (rtx x1 ATTRIBUTE_UNUSED,
   21672              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   21673              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   21674              : {
   21675              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   21676              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   21677              :   rtx x10, x11, x12, x13, x14, x15, x16, x17;
   21678              :   int res ATTRIBUTE_UNUSED;
   21679              :   x2 = XVECEXP (x1, 0, 0);
   21680              :   x3 = XEXP (x2, 1);
   21681              :   x4 = XEXP (x3, 0);
   21682              :   switch (GET_CODE (x4))
   21683              :     {
   21684              :     case REG:
   21685              :     case SUBREG:
   21686              :     case MEM:
   21687              :       operands[1] = x4;
   21688              :       if (pattern344 (x1) != 0)
   21689              :         return -1;
   21690              :       switch (pattern1162 (x3))
   21691              :         {
   21692              :         case 0:
   21693              :           if (!
   21694              : #line 4850 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21695              : (TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun)))
   21696              :             return -1;
   21697              :           return 182; /* zero_extendqisi2_and */
   21698              : 
   21699              :         case 1:
   21700              :           if (!
   21701              : #line 4850 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21702              : (TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun)))
   21703              :             return -1;
   21704              :           return 183; /* zero_extendhisi2_and */
   21705              : 
   21706              :         case 2:
   21707              :           if (!
   21708              : #line 4904 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21709              : (TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun)))
   21710              :             return -1;
   21711              :           return 186; /* zero_extendqihi2_and */
   21712              : 
   21713              :         default:
   21714              :           return -1;
   21715              :         }
   21716              : 
   21717              :     case PLUS:
   21718              :       return recog_379 (x1, insn, pnum_clobbers);
   21719              : 
   21720              :     case MINUS:
   21721              :       return recog_380 (x1, insn, pnum_clobbers);
   21722              : 
   21723              :     case MULT:
   21724              :       if (pattern345 (x1) != 0)
   21725              :         return -1;
   21726              :       switch (GET_MODE (operands[0]))
   21727              :         {
   21728              :         case E_SImode:
   21729              :           if (!register_operand (operands[0], E_SImode)
   21730              :               || GET_MODE (x3) != E_SImode
   21731              :               || GET_MODE (x4) != E_HImode
   21732              :               || !nonimmediate_operand (operands[1], E_HImode)
   21733              :               || !immediate_operand (operands[2], E_HImode)
   21734              :               || !
   21735              : #line 10986 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21736              : (TARGET_APX_ZU && true))
   21737              :             return -1;
   21738              :           return 625; /* *imulhisizu */
   21739              : 
   21740              :         case E_DImode:
   21741              :           if (!register_operand (operands[0], E_DImode)
   21742              :               || GET_MODE (x3) != E_DImode)
   21743              :             return -1;
   21744              :           switch (GET_MODE (x4))
   21745              :             {
   21746              :             case E_HImode:
   21747              :               if (!nonimmediate_operand (operands[1], E_HImode)
   21748              :                   || !immediate_operand (operands[2], E_HImode)
   21749              :                   || !
   21750              : #line 10986 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21751              : (TARGET_APX_ZU && true))
   21752              :                 return -1;
   21753              :               return 627; /* *imulhidizu */
   21754              : 
   21755              :             case E_SImode:
   21756              :               if (!nonimmediate_operand (operands[1], E_SImode)
   21757              :                   || !x86_64_general_operand (operands[2], E_SImode)
   21758              :                   || !
   21759              : #line 10998 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21760              : (TARGET_64BIT
   21761              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))
   21762              :    && true))
   21763              :                 return -1;
   21764              :               return 629; /* *mulsi3_1_zext */
   21765              : 
   21766              :             default:
   21767              :               return -1;
   21768              :             }
   21769              : 
   21770              :         default:
   21771              :           return -1;
   21772              :         }
   21773              : 
   21774              :     case DIV:
   21775              :       if (pattern346 (x1, pnum_clobbers, 
   21776              : MOD) != 0)
   21777              :         return -1;
   21778              :       x5 = XEXP (x4, 0);
   21779              :       operands[2] = x5;
   21780              :       if (!register_operand (operands[2], E_SImode))
   21781              :         return -1;
   21782              :       x6 = XEXP (x4, 1);
   21783              :       operands[3] = x6;
   21784              :       if (!nonimmediate_operand (operands[3], E_SImode))
   21785              :         return -1;
   21786              :       x7 = XVECEXP (x1, 0, 1);
   21787              :       x8 = XEXP (x7, 0);
   21788              :       operands[1] = x8;
   21789              :       if (!register_operand (operands[1], E_SImode))
   21790              :         return -1;
   21791              :       x9 = XEXP (x7, 1);
   21792              :       x10 = XEXP (x9, 0);
   21793              :       if (!rtx_equal_p (x10, operands[2]))
   21794              :         return -1;
   21795              :       x11 = XEXP (x9, 1);
   21796              :       if (!rtx_equal_p (x11, operands[3])
   21797              :           || !
   21798              : #line 12027 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21799              : (TARGET_64BIT))
   21800              :         return -1;
   21801              :       *pnum_clobbers = 1;
   21802              :       return 683; /* *divmodsi4_zext_1 */
   21803              : 
   21804              :     case UDIV:
   21805              :       if (pattern346 (x1, pnum_clobbers, 
   21806              : UMOD) != 0)
   21807              :         return -1;
   21808              :       x5 = XEXP (x4, 0);
   21809              :       operands[2] = x5;
   21810              :       if (!register_operand (operands[2], E_SImode))
   21811              :         return -1;
   21812              :       x6 = XEXP (x4, 1);
   21813              :       operands[3] = x6;
   21814              :       x7 = XVECEXP (x1, 0, 1);
   21815              :       x8 = XEXP (x7, 0);
   21816              :       operands[1] = x8;
   21817              :       if (!register_operand (operands[1], E_SImode))
   21818              :         return -1;
   21819              :       x9 = XEXP (x7, 1);
   21820              :       switch (pattern1635 (x9))
   21821              :         {
   21822              :         case 0:
   21823              :           if (!
   21824              : #line 12062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21825              : (TARGET_64BIT))
   21826              :             return -1;
   21827              :           *pnum_clobbers = 1;
   21828              :           return 684; /* *udivmodsi4_zext_1 */
   21829              : 
   21830              :         case 1:
   21831              :           if (!
   21832              : #line 12084 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21833              : (TARGET_64BIT
   21834              :    && IN_RANGE (exact_log2 (UINTVAL (operands[3])), 1, 31)))
   21835              :             return -1;
   21836              :           *pnum_clobbers = 1;
   21837              :           return 685; /* *udivmodsi4_pow2_zext_1 */
   21838              : 
   21839              :         default:
   21840              :           return -1;
   21841              :         }
   21842              : 
   21843              :     case MOD:
   21844              :       if (pattern347 (x1, pnum_clobbers, 
   21845              : DIV) != 0)
   21846              :         return -1;
   21847              :       x5 = XEXP (x4, 0);
   21848              :       operands[2] = x5;
   21849              :       if (!register_operand (operands[2], E_SImode))
   21850              :         return -1;
   21851              :       x6 = XEXP (x4, 1);
   21852              :       operands[3] = x6;
   21853              :       if (!nonimmediate_operand (operands[3], E_SImode))
   21854              :         return -1;
   21855              :       x7 = XVECEXP (x1, 0, 1);
   21856              :       x8 = XEXP (x7, 0);
   21857              :       operands[0] = x8;
   21858              :       if (!register_operand (operands[0], E_SImode))
   21859              :         return -1;
   21860              :       x9 = XEXP (x7, 1);
   21861              :       x10 = XEXP (x9, 0);
   21862              :       if (!rtx_equal_p (x10, operands[2]))
   21863              :         return -1;
   21864              :       x11 = XEXP (x9, 1);
   21865              :       if (!rtx_equal_p (x11, operands[3])
   21866              :           || !
   21867              : #line 12110 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21868              : (TARGET_64BIT))
   21869              :         return -1;
   21870              :       *pnum_clobbers = 1;
   21871              :       return 686; /* *divmodsi4_zext_2 */
   21872              : 
   21873              :     case UMOD:
   21874              :       if (pattern347 (x1, pnum_clobbers, 
   21875              : UDIV) != 0)
   21876              :         return -1;
   21877              :       x5 = XEXP (x4, 0);
   21878              :       operands[2] = x5;
   21879              :       if (!register_operand (operands[2], E_SImode))
   21880              :         return -1;
   21881              :       x6 = XEXP (x4, 1);
   21882              :       operands[3] = x6;
   21883              :       x7 = XVECEXP (x1, 0, 1);
   21884              :       x8 = XEXP (x7, 0);
   21885              :       operands[0] = x8;
   21886              :       if (!register_operand (operands[0], E_SImode))
   21887              :         return -1;
   21888              :       x9 = XEXP (x7, 1);
   21889              :       switch (pattern1635 (x9))
   21890              :         {
   21891              :         case 0:
   21892              :           if (!
   21893              : #line 12146 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21894              : (TARGET_64BIT))
   21895              :             return -1;
   21896              :           *pnum_clobbers = 1;
   21897              :           return 687; /* *udivmodsi4_zext_2 */
   21898              : 
   21899              :         case 1:
   21900              :           if (!
   21901              : #line 12168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21902              : (TARGET_64BIT
   21903              :    && IN_RANGE (exact_log2 (UINTVAL (operands[3])), 1, 31)))
   21904              :             return -1;
   21905              :           *pnum_clobbers = 1;
   21906              :           return 688; /* *udivmodsi4_pow2_zext_2 */
   21907              : 
   21908              :         default:
   21909              :           return -1;
   21910              :         }
   21911              : 
   21912              :     case AND:
   21913              :       if (pattern344 (x1) != 0)
   21914              :         return -1;
   21915              :       x5 = XEXP (x4, 0);
   21916              :       switch (GET_CODE (x5))
   21917              :         {
   21918              :         case REG:
   21919              :         case SUBREG:
   21920              :         case MEM:
   21921              :           switch (pattern1049 (x3))
   21922              :             {
   21923              :             case 0:
   21924              :               if (!
   21925              : #line 12968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21926              : (TARGET_APX_NDD && true
   21927              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   21928              :                 return -1;
   21929              :               return 737; /* *andqi_1_zexthi */
   21930              : 
   21931              :             case 1:
   21932              :               if (!
   21933              : #line 12968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21934              : (TARGET_APX_NDD && true
   21935              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   21936              :                 return -1;
   21937              :               return 739; /* *andqi_1_zextsi */
   21938              : 
   21939              :             case 2:
   21940              :               if (!
   21941              : #line 12982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21942              : (TARGET_APX_NDD && true
   21943              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   21944              :                 return -1;
   21945              :               return 743; /* *andhi_1_zextsi */
   21946              : 
   21947              :             case 3:
   21948              :               if (!
   21949              : #line 12968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21950              : (TARGET_APX_NDD && true
   21951              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   21952              :                 return -1;
   21953              :               return 741; /* *andqi_1_zextdi */
   21954              : 
   21955              :             case 4:
   21956              :               if (!
   21957              : #line 12982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21958              : (TARGET_APX_NDD && true
   21959              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   21960              :                 return -1;
   21961              :               return 745; /* *andhi_1_zextdi */
   21962              : 
   21963              :             case 5:
   21964              :               if (!
   21965              : #line 12998 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21966              : (TARGET_64BIT
   21967              :    && ix86_binary_operator_ok (AND, SImode, operands, TARGET_APX_NDD)))
   21968              :                 return -1;
   21969              :               return 746; /* *andsi_1_zext */
   21970              : 
   21971              :             default:
   21972              :               return -1;
   21973              :             }
   21974              : 
   21975              :         case PLUS:
   21976              :           if (pattern704 (x5) != 0
   21977              :               || !register_operand (operands[0], E_DImode)
   21978              :               || GET_MODE (x3) != E_DImode
   21979              :               || GET_MODE (x4) != E_SImode)
   21980              :             return -1;
   21981              :           x12 = XEXP (x5, 0);
   21982              :           x13 = XEXP (x12, 1);
   21983              :           operands[2] = x13;
   21984              :           if (!register_operand (operands[2], E_QImode))
   21985              :             return -1;
   21986              :           x6 = XEXP (x4, 1);
   21987              :           operands[1] = x6;
   21988              :           if (!nonimmediate_operand (operands[1], E_SImode)
   21989              :               || !
   21990              : #line 22474 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21991              : (TARGET_64BIT && TARGET_BMI2))
   21992              :             return -1;
   21993              :           return 1632; /* *bmi2_bzhi_zero_extendsidi_4 */
   21994              : 
   21995              :         default:
   21996              :           return -1;
   21997              :         }
   21998              : 
   21999              :     case IOR:
   22000              :       if (pattern348 (x1) != 0)
   22001              :         return -1;
   22002              :       switch (pattern1049 (x3))
   22003              :         {
   22004              :         case 0:
   22005              :           if (!
   22006              : #line 14035 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22007              : (TARGET_APX_NDD && true
   22008              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   22009              :             return -1;
   22010              :           return 872; /* *iorqi_1_zexthi */
   22011              : 
   22012              :         case 1:
   22013              :           if (!
   22014              : #line 14035 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22015              : (TARGET_APX_NDD && true
   22016              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   22017              :             return -1;
   22018              :           return 876; /* *iorqi_1_zextsi */
   22019              : 
   22020              :         case 2:
   22021              :           if (!
   22022              : #line 14049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22023              : (TARGET_APX_NDD && true
   22024              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   22025              :             return -1;
   22026              :           return 884; /* *iorhi_1_zextsi */
   22027              : 
   22028              :         case 3:
   22029              :           if (!
   22030              : #line 14035 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22031              : (TARGET_APX_NDD && true
   22032              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   22033              :             return -1;
   22034              :           return 880; /* *iorqi_1_zextdi */
   22035              : 
   22036              :         case 4:
   22037              :           if (!
   22038              : #line 14049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22039              : (TARGET_APX_NDD && true
   22040              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   22041              :             return -1;
   22042              :           return 888; /* *iorhi_1_zextdi */
   22043              : 
   22044              :         case 5:
   22045              :           if (!
   22046              : #line 14065 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22047              : (TARGET_64BIT
   22048              :    && ix86_binary_operator_ok (IOR, SImode, operands, TARGET_APX_NDD)))
   22049              :             return -1;
   22050              :           return 891; /* *iorsi_1_zext */
   22051              : 
   22052              :         default:
   22053              :           return -1;
   22054              :         }
   22055              : 
   22056              :     case XOR:
   22057              :       if (pattern344 (x1) != 0)
   22058              :         return -1;
   22059              :       x5 = XEXP (x4, 0);
   22060              :       switch (GET_CODE (x5))
   22061              :         {
   22062              :         case REG:
   22063              :         case SUBREG:
   22064              :         case MEM:
   22065              :           switch (pattern1049 (x3))
   22066              :             {
   22067              :             case 0:
   22068              :               if (!
   22069              : #line 14035 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22070              : (TARGET_APX_NDD && true
   22071              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   22072              :                 return -1;
   22073              :               return 874; /* *xorqi_1_zexthi */
   22074              : 
   22075              :             case 1:
   22076              :               if (!
   22077              : #line 14035 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22078              : (TARGET_APX_NDD && true
   22079              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   22080              :                 return -1;
   22081              :               return 878; /* *xorqi_1_zextsi */
   22082              : 
   22083              :             case 2:
   22084              :               if (!
   22085              : #line 14049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22086              : (TARGET_APX_NDD && true
   22087              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   22088              :                 return -1;
   22089              :               return 886; /* *xorhi_1_zextsi */
   22090              : 
   22091              :             case 3:
   22092              :               if (!
   22093              : #line 14035 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22094              : (TARGET_APX_NDD && true
   22095              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   22096              :                 return -1;
   22097              :               return 882; /* *xorqi_1_zextdi */
   22098              : 
   22099              :             case 4:
   22100              :               if (!
   22101              : #line 14049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22102              : (TARGET_APX_NDD && true
   22103              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   22104              :                 return -1;
   22105              :               return 890; /* *xorhi_1_zextdi */
   22106              : 
   22107              :             case 5:
   22108              :               if (!
   22109              : #line 14065 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22110              : (TARGET_64BIT
   22111              :    && ix86_binary_operator_ok (XOR, SImode, operands, TARGET_APX_NDD)))
   22112              :                 return -1;
   22113              :               return 892; /* *xorsi_1_zext */
   22114              : 
   22115              :             default:
   22116              :               return -1;
   22117              :             }
   22118              : 
   22119              :         case MINUS:
   22120              :           if (pattern1166 (x4) != 0
   22121              :               || !register_operand (operands[0], E_DImode)
   22122              :               || GET_MODE (x3) != E_DImode
   22123              :               || GET_MODE (x4) != E_SImode)
   22124              :             return -1;
   22125              :           x14 = XEXP (x5, 1);
   22126              :           x15 = XEXP (x14, 0);
   22127              :           operands[1] = x15;
   22128              :           if (!nonimmediate_operand (operands[1], E_SImode)
   22129              :               || !
   22130              : #line 21705 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22131              : (!TARGET_LZCNT && TARGET_64BIT && ix86_pre_reload_split ()))
   22132              :             return -1;
   22133              :           return 1565; /* *bsru_2 */
   22134              : 
   22135              :         default:
   22136              :           return -1;
   22137              :         }
   22138              : 
   22139              :     case NEG:
   22140              :       if (pattern349 (x1) != 0)
   22141              :         return -1;
   22142              :       switch (pattern351 (x3))
   22143              :         {
   22144              :         case 0:
   22145              :           if (!
   22146              : #line 14696 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22147              : (TARGET_APX_NDD && true))
   22148              :             return -1;
   22149              :           return 995; /* *negqi_1_zexthi */
   22150              : 
   22151              :         case 1:
   22152              :           if (!
   22153              : #line 14696 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22154              : (TARGET_APX_NDD && true))
   22155              :             return -1;
   22156              :           return 997; /* *negqi_1_zextsi */
   22157              : 
   22158              :         case 2:
   22159              :           if (!
   22160              : #line 14706 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22161              : (TARGET_APX_NDD && true))
   22162              :             return -1;
   22163              :           return 1001; /* *neghi_1_zextsi */
   22164              : 
   22165              :         case 3:
   22166              :           if (!
   22167              : #line 14696 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22168              : (TARGET_APX_NDD && true))
   22169              :             return -1;
   22170              :           return 999; /* *negqi_1_zextdi */
   22171              : 
   22172              :         case 4:
   22173              :           if (!
   22174              : #line 14706 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22175              : (TARGET_APX_NDD && true))
   22176              :             return -1;
   22177              :           return 1003; /* *neghi_1_zextdi */
   22178              : 
   22179              :         case 5:
   22180              :           if (!
   22181              : #line 14717 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22182              : (TARGET_64BIT
   22183              :    && ix86_unary_operator_ok (NEG, SImode, operands, TARGET_APX_NDD)))
   22184              :             return -1;
   22185              :           return 1004; /* *negsi_1_zext */
   22186              : 
   22187              :         default:
   22188              :           return -1;
   22189              :         }
   22190              : 
   22191              :     case ASHIFT:
   22192              :       switch (pattern353 (x1))
   22193              :         {
   22194              :         case 0:
   22195              :           if (!
   22196              : #line 16346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22197              : (TARGET_APX_NDD && true))
   22198              :             return -1;
   22199              :           return 1126; /* *ashlqi3_1_zexthi */
   22200              : 
   22201              :         case 1:
   22202              :           if (!
   22203              : #line 16346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22204              : (TARGET_APX_NDD && true))
   22205              :             return -1;
   22206              :           return 1128; /* *ashlqi3_1_zextsi */
   22207              : 
   22208              :         case 2:
   22209              :           if (!
   22210              : #line 16357 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22211              : (TARGET_APX_NDD && true))
   22212              :             return -1;
   22213              :           return 1132; /* *ashlhi3_1_zextsi */
   22214              : 
   22215              :         case 3:
   22216              :           if (!
   22217              : #line 16346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22218              : (TARGET_APX_NDD && true))
   22219              :             return -1;
   22220              :           return 1130; /* *ashlqi3_1_zextdi */
   22221              : 
   22222              :         case 4:
   22223              :           if (!
   22224              : #line 16357 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22225              : (TARGET_APX_NDD && true))
   22226              :             return -1;
   22227              :           return 1134; /* *ashlhi3_1_zextdi */
   22228              : 
   22229              :         case 5:
   22230              :           if (!
   22231              : #line 16369 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22232              : (TARGET_64BIT
   22233              :    && ix86_binary_operator_ok (ASHIFT, SImode, operands, TARGET_APX_NDD)))
   22234              :             return -1;
   22235              :           return 1135; /* *ashlsi3_1_zext */
   22236              : 
   22237              :         default:
   22238              :           return -1;
   22239              :         }
   22240              : 
   22241              :     case ASHIFTRT:
   22242              :       if (pattern345 (x1) != 0)
   22243              :         return -1;
   22244              :       switch (GET_MODE (operands[0]))
   22245              :         {
   22246              :         case E_DImode:
   22247              :           if (!register_operand (operands[0], E_DImode)
   22248              :               || GET_MODE (x3) != E_DImode)
   22249              :             return -1;
   22250              :           switch (GET_MODE (x4))
   22251              :             {
   22252              :             case E_SImode:
   22253              :               if (!nonimmediate_operand (operands[1], E_SImode))
   22254              :                 return -1;
   22255              :               if (const_int_operand (operands[2], E_QImode)
   22256              :                   && 
   22257              : #line 17602 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22258              : (TARGET_64BIT && INTVAL (operands[2]) == 31
   22259              :    && (TARGET_USE_CLTD || optimize_function_for_size_p (cfun))
   22260              :    && ix86_binary_operator_ok (ASHIFTRT, SImode, operands, TARGET_APX_NDD)))
   22261              :                 return 1202; /* *ashrsi3_cvt_zext */
   22262              :               if (!nonmemory_operand (operands[2], E_QImode)
   22263              :                   || !
   22264              : #line 17814 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22265              : (TARGET_64BIT
   22266              :    && ix86_binary_operator_ok (ASHIFTRT, SImode, operands, TARGET_APX_NDD)))
   22267              :                 return -1;
   22268              :               return 1239; /* *ashrsi3_1_zext */
   22269              : 
   22270              :             case E_QImode:
   22271              :               if (!nonimmediate_operand (operands[1], E_QImode)
   22272              :                   || !nonmemory_operand (operands[2], E_QImode)
   22273              :                   || !
   22274              : #line 17791 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22275              : (TARGET_APX_NDD && true))
   22276              :                 return -1;
   22277              :               return 1229; /* *ashrqi3_1_zextdi */
   22278              : 
   22279              :             case E_HImode:
   22280              :               if (!nonimmediate_operand (operands[1], E_HImode)
   22281              :                   || !nonmemory_operand (operands[2], E_QImode)
   22282              :                   || !
   22283              : #line 17802 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22284              : (TARGET_APX_NDD && true))
   22285              :                 return -1;
   22286              :               return 1237; /* *ashrhi3_1_zextdi */
   22287              : 
   22288              :             default:
   22289              :               return -1;
   22290              :             }
   22291              : 
   22292              :         case E_HImode:
   22293              :           if (!register_operand (operands[0], E_HImode)
   22294              :               || GET_MODE (x3) != E_HImode
   22295              :               || GET_MODE (x4) != E_QImode
   22296              :               || !nonimmediate_operand (operands[1], E_QImode)
   22297              :               || !nonmemory_operand (operands[2], E_QImode)
   22298              :               || !
   22299              : #line 17791 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22300              : (TARGET_APX_NDD && true))
   22301              :             return -1;
   22302              :           return 1221; /* *ashrqi3_1_zexthi */
   22303              : 
   22304              :         case E_SImode:
   22305              :           if (!register_operand (operands[0], E_SImode)
   22306              :               || GET_MODE (x3) != E_SImode
   22307              :               || !nonmemory_operand (operands[2], E_QImode))
   22308              :             return -1;
   22309              :           switch (GET_MODE (x4))
   22310              :             {
   22311              :             case E_QImode:
   22312              :               if (!nonimmediate_operand (operands[1], E_QImode)
   22313              :                   || !
   22314              : #line 17791 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22315              : (TARGET_APX_NDD && true))
   22316              :                 return -1;
   22317              :               return 1225; /* *ashrqi3_1_zextsi */
   22318              : 
   22319              :             case E_HImode:
   22320              :               if (!nonimmediate_operand (operands[1], E_HImode)
   22321              :                   || !
   22322              : #line 17802 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22323              : (TARGET_APX_NDD && true))
   22324              :                 return -1;
   22325              :               return 1233; /* *ashrhi3_1_zextsi */
   22326              : 
   22327              :             default:
   22328              :               return -1;
   22329              :             }
   22330              : 
   22331              :         default:
   22332              :           return -1;
   22333              :         }
   22334              : 
   22335              :     case LSHIFTRT:
   22336              :       x16 = XEXP (x2, 0);
   22337              :       operands[0] = x16;
   22338              :       x5 = XEXP (x4, 0);
   22339              :       operands[1] = x5;
   22340              :       x6 = XEXP (x4, 1);
   22341              :       operands[2] = x6;
   22342              :       x7 = XVECEXP (x1, 0, 1);
   22343              :       switch (GET_CODE (x7))
   22344              :         {
   22345              :         case CLOBBER:
   22346              :           x8 = XEXP (x7, 0);
   22347              :           if (GET_CODE (x8) != REG
   22348              :               || REGNO (x8) != 17
   22349              :               || GET_MODE (x8) != E_CCmode)
   22350              :             return -1;
   22351              :           switch (pattern352 (x3))
   22352              :             {
   22353              :             case 0:
   22354              :               if (!
   22355              : #line 17791 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22356              : (TARGET_APX_NDD && true))
   22357              :                 return -1;
   22358              :               return 1219; /* *lshrqi3_1_zexthi */
   22359              : 
   22360              :             case 1:
   22361              :               if (!
   22362              : #line 17791 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22363              : (TARGET_APX_NDD && true))
   22364              :                 return -1;
   22365              :               return 1223; /* *lshrqi3_1_zextsi */
   22366              : 
   22367              :             case 2:
   22368              :               if (!
   22369              : #line 17802 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22370              : (TARGET_APX_NDD && true))
   22371              :                 return -1;
   22372              :               return 1231; /* *lshrhi3_1_zextsi */
   22373              : 
   22374              :             case 3:
   22375              :               if (!
   22376              : #line 17791 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22377              : (TARGET_APX_NDD && true))
   22378              :                 return -1;
   22379              :               return 1227; /* *lshrqi3_1_zextdi */
   22380              : 
   22381              :             case 4:
   22382              :               if (!
   22383              : #line 17802 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22384              : (TARGET_APX_NDD && true))
   22385              :                 return -1;
   22386              :               return 1235; /* *lshrhi3_1_zextdi */
   22387              : 
   22388              :             case 5:
   22389              :               if (!
   22390              : #line 17814 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22391              : (TARGET_64BIT
   22392              :    && ix86_binary_operator_ok (LSHIFTRT, SImode, operands, TARGET_APX_NDD)))
   22393              :                 return -1;
   22394              :               return 1238; /* *lshrsi3_1_zext */
   22395              : 
   22396              :             default:
   22397              :               return -1;
   22398              :             }
   22399              : 
   22400              :         case UNSPEC:
   22401              :           if (XVECLEN (x7, 0) != 1
   22402              :               || XINT (x7, 1) != 175)
   22403              :             return -1;
   22404              :           x17 = XVECEXP (x7, 0, 0);
   22405              :           if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
   22406              :               || pattern1239 (x3, 
   22407              : E_SImode, 
   22408              : E_DImode) != 0
   22409              :               || !const_0_to_31_operand (operands[2], E_VOIDmode)
   22410              :               || !
   22411              : #line 2330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22412              : (TARGET_AVX512BW))
   22413              :             return -1;
   22414              :           return 2671; /* *klshrsi3_1_zext */
   22415              : 
   22416              :         default:
   22417              :           return -1;
   22418              :         }
   22419              : 
   22420              :     case ROTATE:
   22421              :       switch (pattern353 (x1))
   22422              :         {
   22423              :         case 0:
   22424              :           if (!
   22425              : #line 18930 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22426              : (TARGET_APX_NDD && true))
   22427              :             return -1;
   22428              :           return 1384; /* *rotlqi3_1_zexthi */
   22429              : 
   22430              :         case 1:
   22431              :           if (!
   22432              : #line 18930 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22433              : (TARGET_APX_NDD && true))
   22434              :             return -1;
   22435              :           return 1388; /* *rotlqi3_1_zextsi */
   22436              : 
   22437              :         case 2:
   22438              :           if (!
   22439              : #line 18941 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22440              : (TARGET_APX_NDD && true))
   22441              :             return -1;
   22442              :           return 1396; /* *rotlhi3_1_zextsi */
   22443              : 
   22444              :         case 3:
   22445              :           if (!
   22446              : #line 18930 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22447              : (TARGET_APX_NDD && true))
   22448              :             return -1;
   22449              :           return 1392; /* *rotlqi3_1_zextdi */
   22450              : 
   22451              :         case 4:
   22452              :           if (!
   22453              : #line 18941 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22454              : (TARGET_APX_NDD && true))
   22455              :             return -1;
   22456              :           return 1400; /* *rotlhi3_1_zextdi */
   22457              : 
   22458              :         case 5:
   22459              :           if (!
   22460              : #line 18953 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22461              : (TARGET_64BIT && ix86_binary_operator_ok (ROTATE, SImode, operands)))
   22462              :             return -1;
   22463              :           return 1403; /* *rotlsi3_1_zext */
   22464              : 
   22465              :         default:
   22466              :           return -1;
   22467              :         }
   22468              : 
   22469              :     case ROTATERT:
   22470              :       switch (pattern353 (x1))
   22471              :         {
   22472              :         case 0:
   22473              :           if (!
   22474              : #line 18930 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22475              : (TARGET_APX_NDD && true))
   22476              :             return -1;
   22477              :           return 1386; /* *rotrqi3_1_zexthi */
   22478              : 
   22479              :         case 1:
   22480              :           if (!
   22481              : #line 18930 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22482              : (TARGET_APX_NDD && true))
   22483              :             return -1;
   22484              :           return 1390; /* *rotrqi3_1_zextsi */
   22485              : 
   22486              :         case 2:
   22487              :           if (!
   22488              : #line 18941 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22489              : (TARGET_APX_NDD && true))
   22490              :             return -1;
   22491              :           return 1398; /* *rotrhi3_1_zextsi */
   22492              : 
   22493              :         case 3:
   22494              :           if (!
   22495              : #line 18930 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22496              : (TARGET_APX_NDD && true))
   22497              :             return -1;
   22498              :           return 1394; /* *rotrqi3_1_zextdi */
   22499              : 
   22500              :         case 4:
   22501              :           if (!
   22502              : #line 18941 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22503              : (TARGET_APX_NDD && true))
   22504              :             return -1;
   22505              :           return 1402; /* *rotrhi3_1_zextdi */
   22506              : 
   22507              :         case 5:
   22508              :           if (!
   22509              : #line 18953 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22510              : (TARGET_64BIT && ix86_binary_operator_ok (ROTATERT, SImode, operands)))
   22511              :             return -1;
   22512              :           return 1404; /* *rotrsi3_1_zext */
   22513              : 
   22514              :         default:
   22515              :           return -1;
   22516              :         }
   22517              : 
   22518              :     case CTZ:
   22519              :       if (GET_MODE (x4) != E_SImode)
   22520              :         return -1;
   22521              :       x16 = XEXP (x2, 0);
   22522              :       operands[0] = x16;
   22523              :       if (!register_operand (operands[0], E_DImode)
   22524              :           || GET_MODE (x3) != E_DImode)
   22525              :         return -1;
   22526              :       switch (pattern939 (x1, pnum_clobbers))
   22527              :         {
   22528              :         case 0:
   22529              :           if (!
   22530              : #line 21532 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22531              : (TARGET_64BIT))
   22532              :             return -1;
   22533              :           return 1553; /* *ctzsidi2_uext */
   22534              : 
   22535              :         case 1:
   22536              :           if (!
   22537              : #line 21572 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22538              : (TARGET_64BIT))
   22539              :             return -1;
   22540              :           *pnum_clobbers = 1;
   22541              :           return 1555; /* *ctzsidi2_uext_falsedep */
   22542              : 
   22543              :         default:
   22544              :           return -1;
   22545              :         }
   22546              : 
   22547              :     case CLZ:
   22548              :       if (GET_MODE (x4) != E_SImode)
   22549              :         return -1;
   22550              :       x16 = XEXP (x2, 0);
   22551              :       operands[0] = x16;
   22552              :       if (!register_operand (operands[0], E_DImode)
   22553              :           || GET_MODE (x3) != E_DImode)
   22554              :         return -1;
   22555              :       switch (pattern557 (x1, pnum_clobbers))
   22556              :         {
   22557              :         case 0:
   22558              :           if (!nonimmediate_operand (operands[1], E_SImode)
   22559              :               || !
   22560              : #line 21969 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22561              : (TARGET_LZCNT && TARGET_64BIT))
   22562              :             return -1;
   22563              :           return 1577; /* *clzsi2_lzcnt_zext_2 */
   22564              : 
   22565              :         case 1:
   22566              :           x7 = XVECEXP (x1, 0, 1);
   22567              :           x17 = XVECEXP (x7, 0, 0);
   22568              :           switch (pattern1433 (x17))
   22569              :             {
   22570              :             case 0:
   22571              :               if (!
   22572              : #line 21994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22573              : (TARGET_LZCNT))
   22574              :                 return -1;
   22575              :               *pnum_clobbers = 1;
   22576              :               return 1578; /* *clzsi2_lzcnt_zext_2_falsedep */
   22577              : 
   22578              :             case 1:
   22579              :               if (!(
   22580              : #line 21994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22581              : (TARGET_LZCNT) && 
   22582              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22583              : (TARGET_64BIT)))
   22584              :                 return -1;
   22585              :               *pnum_clobbers = 1;
   22586              :               return 1579; /* *clzsi2_lzcnt_zext_2_falsedep */
   22587              : 
   22588              :             default:
   22589              :               return -1;
   22590              :             }
   22591              : 
   22592              :         default:
   22593              :           return -1;
   22594              :         }
   22595              : 
   22596              :     case POPCOUNT:
   22597              :       x16 = XEXP (x2, 0);
   22598              :       operands[0] = x16;
   22599              :       switch (pattern557 (x1, pnum_clobbers))
   22600              :         {
   22601              :         case 0:
   22602              :           switch (GET_MODE (operands[0]))
   22603              :             {
   22604              :             case E_DImode:
   22605              :               if (pattern350 (x3, 
   22606              : E_SImode, 
   22607              : E_DImode) != 0
   22608              :                   || !
   22609              : #line 22808 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22610              : (TARGET_POPCNT && TARGET_64BIT))
   22611              :                 return -1;
   22612              :               return 1668; /* *popcountsi2_zext_2 */
   22613              : 
   22614              :             case E_SImode:
   22615              :               if (pattern350 (x3, 
   22616              : E_HImode, 
   22617              : E_SImode) != 0
   22618              :                   || !
   22619              : #line 22874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22620              : (TARGET_POPCNT
   22621              :    && ix86_pre_reload_split ()))
   22622              :                 return -1;
   22623              :               return 1671; /* *popcounthi2_2 */
   22624              : 
   22625              :             default:
   22626              :               return -1;
   22627              :             }
   22628              : 
   22629              :         case 1:
   22630              :           if (!register_operand (operands[0], E_DImode)
   22631              :               || GET_MODE (x3) != E_DImode
   22632              :               || GET_MODE (x4) != E_SImode
   22633              :               || !nonimmediate_operand (operands[1], E_SImode))
   22634              :             return -1;
   22635              :           x7 = XVECEXP (x1, 0, 1);
   22636              :           x17 = XVECEXP (x7, 0, 0);
   22637              :           operands[2] = x17;
   22638              :           if (!register_operand (operands[2], E_DImode)
   22639              :               || !
   22640              : #line 22839 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22641              : (TARGET_POPCNT && TARGET_64BIT))
   22642              :             return -1;
   22643              :           *pnum_clobbers = 1;
   22644              :           return 1669; /* *popcountsi2_zext_2_falsedep */
   22645              : 
   22646              :         default:
   22647              :           return -1;
   22648              :         }
   22649              : 
   22650              :     case NOT:
   22651              :       if (GET_MODE (x4) != E_SImode)
   22652              :         return -1;
   22653              :       x7 = XVECEXP (x1, 0, 1);
   22654              :       if (pattern384 (x7, 
   22655              : 175, 
   22656              : 0) != 0)
   22657              :         return -1;
   22658              :       x16 = XEXP (x2, 0);
   22659              :       operands[0] = x16;
   22660              :       if (!register_operand (operands[0], E_DImode)
   22661              :           || GET_MODE (x3) != E_DImode)
   22662              :         return -1;
   22663              :       x5 = XEXP (x4, 0);
   22664              :       operands[1] = x5;
   22665              :       if (!register_operand (operands[1], E_SImode)
   22666              :           || !
   22667              : #line 2253 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22668              : (TARGET_AVX512BW))
   22669              :         return -1;
   22670              :       return 2658; /* *knotsi_1_zext */
   22671              : 
   22672              :     case UNSPEC:
   22673              :       return recog_378 (x1, insn, pnum_clobbers);
   22674              : 
   22675              :     default:
   22676              :       return -1;
   22677              :     }
   22678              : }
   22679              : 
   22680              :  int
   22681              : recog_403 (rtx x1 ATTRIBUTE_UNUSED,
   22682              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   22683              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   22684              : {
   22685              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   22686              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   22687              :   rtx x10, x11, x12, x13;
   22688              :   int res ATTRIBUTE_UNUSED;
   22689              :   x2 = XVECEXP (x1, 0, 0);
   22690              :   x3 = XEXP (x2, 1);
   22691              :   x4 = XEXP (x3, 0);
   22692              :   switch (GET_CODE (x4))
   22693              :     {
   22694              :     case CONST_INT:
   22695              :     case CONST_WIDE_INT:
   22696              :     case CONST_POLY_INT:
   22697              :     case CONST_FIXED:
   22698              :     case CONST_DOUBLE:
   22699              :     case CONST_VECTOR:
   22700              :     case CONST:
   22701              :     case REG:
   22702              :     case SUBREG:
   22703              :     case MEM:
   22704              :     case LABEL_REF:
   22705              :     case SYMBOL_REF:
   22706              :     case HIGH:
   22707              :       operands[1] = x4;
   22708              :       res = recog_402 (x1, insn, pnum_clobbers);
   22709              :       if (res >= 0)
   22710              :         return res;
   22711              :       x5 = XVECEXP (x1, 0, 1);
   22712              :       if (GET_CODE (x5) != CLOBBER)
   22713              :         return -1;
   22714              :       x6 = XEXP (x5, 0);
   22715              :       if (GET_CODE (x6) != REG
   22716              :           || REGNO (x6) != 17
   22717              :           || GET_MODE (x6) != E_CCmode)
   22718              :         return -1;
   22719              :       switch (GET_CODE (x4))
   22720              :         {
   22721              :         case SUBREG:
   22722              :           switch (pattern1056 (x2))
   22723              :             {
   22724              :             case 0:
   22725              :               if (!
   22726              : #line 8275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22727              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
   22728              :                 return -1;
   22729              :               return 412; /* *subqi_exthi_2_slp */
   22730              : 
   22731              :             case 1:
   22732              :               if (!
   22733              : #line 8275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22734              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
   22735              :                 return -1;
   22736              :               return 413; /* *subqi_extsi_2_slp */
   22737              : 
   22738              :             case 2:
   22739              :               if (!(
   22740              : #line 8275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22741              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) && 
   22742              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22743              : (TARGET_64BIT)))
   22744              :                 return -1;
   22745              :               return 414; /* *subqi_extdi_2_slp */
   22746              : 
   22747              :             case 3:
   22748              :               return 423; /* *subqi_ext2hi_0 */
   22749              : 
   22750              :             case 4:
   22751              :               return 424; /* *subqi_ext2si_0 */
   22752              : 
   22753              :             case 5:
   22754              :               if (!
   22755              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22756              : (TARGET_64BIT))
   22757              :                 return -1;
   22758              :               return 425; /* *subqi_ext2di_0 */
   22759              : 
   22760              :             default:
   22761              :               return -1;
   22762              :             }
   22763              : 
   22764              :         case CONST_INT:
   22765              :           x7 = XEXP (x3, 1);
   22766              :           if (GET_CODE (x7) != CLZ)
   22767              :             return -1;
   22768              :           x8 = XEXP (x2, 0);
   22769              :           operands[0] = x8;
   22770              :           x9 = XEXP (x7, 0);
   22771              :           operands[1] = x9;
   22772              :           switch (XWINT (x4, 0))
   22773              :             {
   22774              :             case 63L:
   22775              :               if (pattern1441 (x3, 
   22776              : E_DImode) != 0
   22777              :                   || !
   22778              : #line 21606 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22779              : (!TARGET_LZCNT && TARGET_64BIT))
   22780              :                 return -1;
   22781              :               return 1557; /* bsr_rex64_1 */
   22782              : 
   22783              :             case 31L:
   22784              :               if (pattern1441 (x3, 
   22785              : E_SImode) != 0
   22786              :                   || !
   22787              : #line 21647 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22788              : (!TARGET_LZCNT))
   22789              :                 return -1;
   22790              :               return 1560; /* bsr_1 */
   22791              : 
   22792              :             default:
   22793              :               return -1;
   22794              :             }
   22795              : 
   22796              :         default:
   22797              :           return -1;
   22798              :         }
   22799              : 
   22800              :     case MINUS:
   22801              :       x5 = XVECEXP (x1, 0, 1);
   22802              :       if (pattern355 (x5) != 0)
   22803              :         return -1;
   22804              :       x8 = XEXP (x2, 0);
   22805              :       operands[0] = x8;
   22806              :       x10 = XEXP (x4, 0);
   22807              :       operands[1] = x10;
   22808              :       x7 = XEXP (x3, 1);
   22809              :       operands[2] = x7;
   22810              :       x11 = XEXP (x4, 1);
   22811              :       switch (GET_CODE (x11))
   22812              :         {
   22813              :         case LTU:
   22814              :         case UNLT:
   22815              :           operands[4] = x11;
   22816              :           x12 = XEXP (x11, 1);
   22817              :           if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   22818              :             return -1;
   22819              :           x13 = XEXP (x11, 0);
   22820              :           operands[3] = x13;
   22821              :           if (!flags_reg_operand (operands[3], E_VOIDmode))
   22822              :             return -1;
   22823              :           switch (GET_MODE (operands[0]))
   22824              :             {
   22825              :             case E_QImode:
   22826              :               if (pattern1640 (x3, 
   22827              : E_QImode) != 0
   22828              :                   || !
   22829              : #line 9505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22830              : (ix86_binary_operator_ok (MINUS, QImode, operands, TARGET_APX_NDD)))
   22831              :                 return -1;
   22832              :               return 503; /* subqi3_carry */
   22833              : 
   22834              :             case E_HImode:
   22835              :               if (pattern1640 (x3, 
   22836              : E_HImode) != 0
   22837              :                   || !
   22838              : #line 9505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22839              : (ix86_binary_operator_ok (MINUS, HImode, operands, TARGET_APX_NDD)))
   22840              :                 return -1;
   22841              :               return 504; /* subhi3_carry */
   22842              : 
   22843              :             case E_SImode:
   22844              :               if (pattern1641 (x3, 
   22845              : E_SImode) != 0
   22846              :                   || !
   22847              : #line 9505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22848              : (ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)))
   22849              :                 return -1;
   22850              :               return 505; /* subsi3_carry */
   22851              : 
   22852              :             case E_DImode:
   22853              :               if (pattern1641 (x3, 
   22854              : E_DImode) != 0
   22855              :                   || !(
   22856              : #line 9505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22857              : (ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)) && 
   22858              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22859              : (TARGET_64BIT)))
   22860              :                 return -1;
   22861              :               return 506; /* subdi3_carry */
   22862              : 
   22863              :             default:
   22864              :               return -1;
   22865              :             }
   22866              : 
   22867              :         case EQ:
   22868              :           x12 = XEXP (x11, 1);
   22869              :           if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   22870              :             return -1;
   22871              :           x13 = XEXP (x11, 0);
   22872              :           operands[3] = x13;
   22873              :           if (!int_nonimmediate_operand (operands[3], E_VOIDmode))
   22874              :             return -1;
   22875              :           switch (GET_MODE (operands[0]))
   22876              :             {
   22877              :             case E_QImode:
   22878              :               if (pattern1577 (x3, 
   22879              : E_QImode) != 0
   22880              :                   || !
   22881              : #line 10573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22882              : (ix86_binary_operator_ok (MINUS, QImode, operands, TARGET_APX_NDD)
   22883              :    && ix86_pre_reload_split ()))
   22884              :                 return -1;
   22885              :               return 598; /* *subqi3_eq */
   22886              : 
   22887              :             case E_HImode:
   22888              :               if (pattern1577 (x3, 
   22889              : E_HImode) != 0
   22890              :                   || !
   22891              : #line 10573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22892              : (ix86_binary_operator_ok (MINUS, HImode, operands, TARGET_APX_NDD)
   22893              :    && ix86_pre_reload_split ()))
   22894              :                 return -1;
   22895              :               return 599; /* *subhi3_eq */
   22896              : 
   22897              :             case E_SImode:
   22898              :               if (pattern1578 (x3, 
   22899              : E_SImode) != 0
   22900              :                   || !
   22901              : #line 10573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22902              : (ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)
   22903              :    && ix86_pre_reload_split ()))
   22904              :                 return -1;
   22905              :               return 600; /* *subsi3_eq */
   22906              : 
   22907              :             case E_DImode:
   22908              :               if (pattern1578 (x3, 
   22909              : E_DImode) != 0
   22910              :                   || !(
   22911              : #line 10573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22912              : (ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)
   22913              :    && ix86_pre_reload_split ()) && 
   22914              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22915              : (TARGET_64BIT)))
   22916              :                 return -1;
   22917              :               return 601; /* *subdi3_eq */
   22918              : 
   22919              :             default:
   22920              :               return -1;
   22921              :             }
   22922              : 
   22923              :         default:
   22924              :           return -1;
   22925              :         }
   22926              : 
   22927              :     default:
   22928              :       return -1;
   22929              :     }
   22930              : }
   22931              : 
   22932              :  int
   22933              : recog_409 (rtx x1 ATTRIBUTE_UNUSED,
   22934              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   22935              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   22936              : {
   22937              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   22938              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   22939              :   rtx x10, x11, x12, x13, x14, x15, x16, x17;
   22940              :   rtx x18, x19, x20;
   22941              :   int res ATTRIBUTE_UNUSED;
   22942              :   x2 = XVECEXP (x1, 0, 0);
   22943              :   x3 = XEXP (x2, 1);
   22944              :   x4 = XEXP (x3, 0);
   22945              :   switch (GET_CODE (x4))
   22946              :     {
   22947              :     case ASHIFT:
   22948              :       return recog_408 (x1, insn, pnum_clobbers);
   22949              : 
   22950              :     case REG:
   22951              :     case SUBREG:
   22952              :     case MEM:
   22953              :       operands[1] = x4;
   22954              :       switch (pattern572 (x1))
   22955              :         {
   22956              :         case 0:
   22957              :           if (
   22958              : #line 13083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22959              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
   22960              :             return 754; /* *iorqi_1_slp */
   22961              :           break;
   22962              : 
   22963              :         case 1:
   22964              :           if (
   22965              : #line 13083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22966              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
   22967              :             return 757; /* *iorhi_1_slp */
   22968              :           break;
   22969              : 
   22970              :         case 2:
   22971              :           if (x86_64_hilo_general_operand (operands[2], E_DImode)
   22972              :               && (
   22973              : #line 13847 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22974              : (ix86_binary_operator_ok (IOR, DImode, operands, TARGET_APX_NDD)) && 
   22975              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22976              : (!TARGET_64BIT)))
   22977              :             return 847; /* *iordi3_doubleword */
   22978              :           if (x86_64_general_operand (operands[2], E_DImode)
   22979              :               && (
   22980              : #line 13905 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22981              : (ix86_binary_operator_ok (IOR, DImode, operands, TARGET_APX_NDD)
   22982              :    && true) && 
   22983              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22984              : (TARGET_64BIT)))
   22985              :             return 860; /* *iordi_1 */
   22986              :           if (const_int_operand (operands[2], E_DImode)
   22987              :               && 
   22988              : #line 13953 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22989              : (TARGET_64BIT && TARGET_USE_BT
   22990              :    && ix86_binary_operator_ok (IOR, DImode, operands)
   22991              :    && IN_RANGE (exact_log2 (INTVAL (operands[2])), 31, 63)))
   22992              :             return 866; /* *iordi_1_bts */
   22993              :           break;
   22994              : 
   22995              :         case 3:
   22996              :           if ((
   22997              : #line 13847 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22998              : (ix86_binary_operator_ok (IOR, TImode, operands, TARGET_APX_NDD)) && 
   22999              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23000              : (TARGET_64BIT)))
   23001              :             return 849; /* *iorti3_doubleword */
   23002              :           break;
   23003              : 
   23004              :         case 4:
   23005              :           if (
   23006              : #line 13905 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23007              : (ix86_binary_operator_ok (IOR, HImode, operands, TARGET_APX_NDD)
   23008              :    && true))
   23009              :             return 852; /* *iorhi_1 */
   23010              :           break;
   23011              : 
   23012              :         case 5:
   23013              :           if (
   23014              : #line 13905 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23015              : (ix86_binary_operator_ok (IOR, SImode, operands, TARGET_APX_NDD)
   23016              :    && true))
   23017              :             return 856; /* *iorsi_1 */
   23018              :           break;
   23019              : 
   23020              :         case 6:
   23021              :           if (
   23022              : #line 4741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   23023              : (ix86_binary_operator_ok (IOR, V4QImode, operands)))
   23024              :             return 2340; /* *iorv4qi3 */
   23025              :           break;
   23026              : 
   23027              :         case 7:
   23028              :           if (
   23029              : #line 4741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   23030              : (ix86_binary_operator_ok (IOR, V2QImode, operands)))
   23031              :             return 2343; /* *iorv2qi3 */
   23032              :           break;
   23033              : 
   23034              :         case 8:
   23035              :           if (
   23036              : #line 4741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   23037              : (ix86_binary_operator_ok (IOR, V2HImode, operands)))
   23038              :             return 2346; /* *iorv2hi3 */
   23039              :           break;
   23040              : 
   23041              :         case 9:
   23042              :           if (
   23043              : #line 2117 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23044              : (TARGET_AVX512F))
   23045              :             return 2635; /* kiorqi */
   23046              :           break;
   23047              : 
   23048              :         case 10:
   23049              :           if (
   23050              : #line 2117 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23051              : (TARGET_AVX512F))
   23052              :             return 2638; /* kiorhi */
   23053              :           break;
   23054              : 
   23055              :         case 11:
   23056              :           if ((
   23057              : #line 2117 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23058              : (TARGET_AVX512F) && 
   23059              : #line 2098 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23060              : (TARGET_AVX512BW)))
   23061              :             return 2641; /* kiorsi */
   23062              :           break;
   23063              : 
   23064              :         case 12:
   23065              :           if ((
   23066              : #line 2117 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23067              : (TARGET_AVX512F) && 
   23068              : #line 2098 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23069              : (TARGET_AVX512BW)))
   23070              :             return 2644; /* kiordi */
   23071              :           break;
   23072              : 
   23073              :         default:
   23074              :           break;
   23075              :         }
   23076              :       x5 = XVECEXP (x1, 0, 1);
   23077              :       if (GET_CODE (x5) != CLOBBER
   23078              :           || pattern573 (x1) != 0)
   23079              :         return -1;
   23080              :       if (GET_CODE (x4) == SUBREG
   23081              :           && known_eq (SUBREG_BYTE (x4), 0)
   23082              :           && GET_MODE (x4) == E_QImode)
   23083              :         {
   23084              :           res = recog_407 (x1, insn, pnum_clobbers);
   23085              :           if (res >= 0)
   23086              :             return res;
   23087              :         }
   23088              :       x6 = XEXP (x2, 0);
   23089              :       operands[0] = x6;
   23090              :       if (!nonimmediate_operand (operands[0], E_QImode))
   23091              :         return -1;
   23092              :       operands[1] = x4;
   23093              :       if (!nonimmediate_operand (operands[1], E_QImode))
   23094              :         return -1;
   23095              :       x7 = XEXP (x3, 1);
   23096              :       operands[2] = x7;
   23097              :       if (!general_operand (operands[2], E_QImode)
   23098              :           || !
   23099              : #line 14095 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23100              : (ix86_binary_operator_ok (IOR, QImode, operands, TARGET_APX_NDD)
   23101              :    && true))
   23102              :         return -1;
   23103              :       return 896; /* *iorqi_1 */
   23104              : 
   23105              :     case ZERO_EXTEND:
   23106              :       if (GET_MODE (x4) != E_DImode
   23107              :           || pattern574 (x1) != 0)
   23108              :         return -1;
   23109              :       x8 = XEXP (x4, 0);
   23110              :       operands[1] = x8;
   23111              :       if (!nonimmediate_operand (operands[1], E_SImode))
   23112              :         return -1;
   23113              :       x7 = XEXP (x3, 1);
   23114              :       operands[2] = x7;
   23115              :       if (!x86_64_zext_immediate_operand (operands[2], E_DImode)
   23116              :           || !
   23117              : #line 14082 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23118              : (TARGET_64BIT
   23119              :    && ix86_binary_operator_ok (IOR, SImode, operands, TARGET_APX_NDD)))
   23120              :         return -1;
   23121              :       return 893; /* *iorsi_1_zext_imm */
   23122              : 
   23123              :     case LSHIFTRT:
   23124              :       if (pattern344 (x1) != 0)
   23125              :         return -1;
   23126              :       switch (pattern1058 (x3, 
   23127              : ASHIFT))
   23128              :         {
   23129              :         case 0:
   23130              :           x7 = XEXP (x3, 1);
   23131              :           x9 = XEXP (x7, 0);
   23132              :           x10 = XEXP (x9, 0);
   23133              :           x11 = XEXP (x10, 0);
   23134              :           operands[1] = x11;
   23135              :           if (nonimmediate_operand (operands[0], E_DImode))
   23136              :             {
   23137              :               x12 = XEXP (x4, 1);
   23138              :               x13 = XEXP (x12, 0);
   23139              :               operands[2] = x13;
   23140              :               x8 = XEXP (x4, 0);
   23141              :               if (rtx_equal_p (x8, operands[0]))
   23142              :                 {
   23143              :                   x14 = XEXP (x9, 1);
   23144              :                   x15 = XEXP (x14, 1);
   23145              :                   x16 = XEXP (x15, 0);
   23146              :                   if (rtx_equal_p (x16, operands[2])
   23147              :                       && 
   23148              : #line 17122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23149              : (TARGET_64BIT && true))
   23150              :                     return 1175; /* x86_64_shrd */
   23151              :                 }
   23152              :             }
   23153              :           operands[2] = x11;
   23154              :           if (!register_operand (operands[0], E_DImode))
   23155              :             return -1;
   23156              :           x8 = XEXP (x4, 0);
   23157              :           operands[1] = x8;
   23158              :           if (!nonimmediate_operand (operands[1], E_DImode))
   23159              :             return -1;
   23160              :           x12 = XEXP (x4, 1);
   23161              :           x13 = XEXP (x12, 0);
   23162              :           operands[3] = x13;
   23163              :           x14 = XEXP (x9, 1);
   23164              :           x15 = XEXP (x14, 1);
   23165              :           x16 = XEXP (x15, 0);
   23166              :           if (!rtx_equal_p (x16, operands[3])
   23167              :               || !
   23168              : #line 17143 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23169              : (TARGET_APX_NDD && true))
   23170              :             return -1;
   23171              :           return 1177; /* x86_64_shrd_ndd */
   23172              : 
   23173              :         case 1:
   23174              :           if (pattern1057 (x3, 
   23175              : E_SImode, 
   23176              : E_DImode) != 0)
   23177              :             return -1;
   23178              :           x7 = XEXP (x3, 1);
   23179              :           x9 = XEXP (x7, 0);
   23180              :           x10 = XEXP (x9, 0);
   23181              :           x11 = XEXP (x10, 0);
   23182              :           operands[1] = x11;
   23183              :           if (nonimmediate_operand (operands[0], E_SImode))
   23184              :             {
   23185              :               x12 = XEXP (x4, 1);
   23186              :               x13 = XEXP (x12, 0);
   23187              :               operands[2] = x13;
   23188              :               x8 = XEXP (x4, 0);
   23189              :               if (rtx_equal_p (x8, operands[0]))
   23190              :                 {
   23191              :                   x14 = XEXP (x9, 1);
   23192              :                   x15 = XEXP (x14, 1);
   23193              :                   x16 = XEXP (x15, 0);
   23194              :                   if (rtx_equal_p (x16, operands[2]))
   23195              :                     return 1187; /* x86_shrd */
   23196              :                 }
   23197              :             }
   23198              :           operands[2] = x11;
   23199              :           if (!register_operand (operands[0], E_SImode))
   23200              :             return -1;
   23201              :           x8 = XEXP (x4, 0);
   23202              :           operands[1] = x8;
   23203              :           if (!nonimmediate_operand (operands[1], E_SImode))
   23204              :             return -1;
   23205              :           x12 = XEXP (x4, 1);
   23206              :           x13 = XEXP (x12, 0);
   23207              :           operands[3] = x13;
   23208              :           x14 = XEXP (x9, 1);
   23209              :           x15 = XEXP (x14, 1);
   23210              :           x16 = XEXP (x15, 0);
   23211              :           if (!rtx_equal_p (x16, operands[3])
   23212              :               || !
   23213              : #line 17374 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23214              : (TARGET_APX_NDD && true))
   23215              :             return -1;
   23216              :           return 1189; /* x86_shrd_ndd */
   23217              : 
   23218              :         case 2:
   23219              :           x7 = XEXP (x3, 1);
   23220              :           switch (GET_CODE (x7))
   23221              :             {
   23222              :             case SUBREG:
   23223              :               switch (pattern1251 (x3, 
   23224              : ASHIFT))
   23225              :                 {
   23226              :                 case 0:
   23227              :                   x12 = XEXP (x4, 1);
   23228              :                   operands[2] = x12;
   23229              :                   if (pattern1700 (x3) == 0
   23230              :                       && 
   23231              : #line 17158 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23232              : (TARGET_64BIT
   23233              :    && INTVAL (operands[3]) == 64 - INTVAL (operands[2])
   23234              :    && true))
   23235              :                     return 1179; /* x86_64_shrd_1 */
   23236              :                   operands[3] = x12;
   23237              :                   if (pattern1701 (x3) != 0
   23238              :                       || !
   23239              : #line 17180 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23240              : (TARGET_APX_NDD
   23241              :    && INTVAL (operands[4]) == 64 - INTVAL (operands[3])
   23242              :    && true))
   23243              :                     return -1;
   23244              :                   return 1181; /* x86_64_shrd_ndd_1 */
   23245              : 
   23246              :                 case 1:
   23247              :                   x12 = XEXP (x4, 1);
   23248              :                   operands[2] = x12;
   23249              :                   if (pattern1702 (x3) == 0
   23250              :                       && 
   23251              : #line 17389 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23252              : (INTVAL (operands[3]) == 32 - INTVAL (operands[2])
   23253              :    && true))
   23254              :                     return 1191; /* x86_shrd_1 */
   23255              :                   operands[3] = x12;
   23256              :                   if (pattern1703 (x3) != 0
   23257              :                       || !
   23258              : #line 17411 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23259              : (TARGET_APX_NDD
   23260              :    && (INTVAL (operands[4]) == 32 - INTVAL (operands[3]))
   23261              :    && true))
   23262              :                     return -1;
   23263              :                   return 1193; /* x86_shrd_ndd_1 */
   23264              : 
   23265              :                 default:
   23266              :                   return -1;
   23267              :                 }
   23268              : 
   23269              :             case ASHIFT:
   23270              :               switch (pattern1253 (x3))
   23271              :                 {
   23272              :                 case 0:
   23273              :                   if (!
   23274              : #line 17252 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23275              : (TARGET_64BIT
   23276              :    && INTVAL (operands[3]) == 64 - INTVAL (operands[2])
   23277              :    && ix86_pre_reload_split ()))
   23278              :                     return -1;
   23279              :                   return 1183; /* *x86_64_shrd_shld_1_nozext */
   23280              : 
   23281              :                 case 1:
   23282              :                   if (!
   23283              : #line 17483 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23284              : (INTVAL (operands[3]) == 32 - INTVAL (operands[2])
   23285              :    && ix86_pre_reload_split ()))
   23286              :                     return -1;
   23287              :                   return 1195; /* *x86_shrd_shld_1_nozext */
   23288              : 
   23289              :                 case 2:
   23290              :                   x9 = XEXP (x7, 0);
   23291              :                   operands[1] = x9;
   23292              :                   if (nonimmediate_operand (operands[0], E_DImode))
   23293              :                     {
   23294              :                       x12 = XEXP (x4, 1);
   23295              :                       operands[2] = x12;
   23296              :                       x8 = XEXP (x4, 0);
   23297              :                       if (rtx_equal_p (x8, operands[0]))
   23298              :                         {
   23299              :                           x17 = XEXP (x7, 1);
   23300              :                           x18 = XEXP (x17, 1);
   23301              :                           if (rtx_equal_p (x18, operands[2])
   23302              :                               && 
   23303              : #line 17305 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23304              : (TARGET_64BIT && ix86_pre_reload_split ()))
   23305              :                             return 1184; /* *x86_64_shrd_2 */
   23306              :                         }
   23307              :                     }
   23308              :                   operands[2] = x9;
   23309              :                   if (!register_operand (operands[0], E_DImode))
   23310              :                     return -1;
   23311              :                   x8 = XEXP (x4, 0);
   23312              :                   operands[1] = x8;
   23313              :                   if (!nonimmediate_operand (operands[1], E_DImode))
   23314              :                     return -1;
   23315              :                   x12 = XEXP (x4, 1);
   23316              :                   operands[3] = x12;
   23317              :                   x17 = XEXP (x7, 1);
   23318              :                   x18 = XEXP (x17, 1);
   23319              :                   if (!rtx_equal_p (x18, operands[2])
   23320              :                       || !
   23321              : #line 17326 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23322              : (TARGET_APX_NDD
   23323              :   && ix86_pre_reload_split ()))
   23324              :                     return -1;
   23325              :                   return 1185; /* *x86_64_shrd_ndd_2 */
   23326              : 
   23327              :                 case 3:
   23328              :                   x9 = XEXP (x7, 0);
   23329              :                   operands[1] = x9;
   23330              :                   if (nonimmediate_operand (operands[0], E_SImode))
   23331              :                     {
   23332              :                       x12 = XEXP (x4, 1);
   23333              :                       operands[2] = x12;
   23334              :                       x8 = XEXP (x4, 0);
   23335              :                       if (rtx_equal_p (x8, operands[0]))
   23336              :                         {
   23337              :                           x17 = XEXP (x7, 1);
   23338              :                           x18 = XEXP (x17, 1);
   23339              :                           if (rtx_equal_p (x18, operands[2])
   23340              :                               && 
   23341              : #line 17535 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23342              : (TARGET_64BIT && ix86_pre_reload_split ()))
   23343              :                             return 1196; /* *x86_shrd_2 */
   23344              :                         }
   23345              :                     }
   23346              :                   operands[2] = x9;
   23347              :                   if (!register_operand (operands[0], E_SImode))
   23348              :                     return -1;
   23349              :                   x8 = XEXP (x4, 0);
   23350              :                   operands[1] = x8;
   23351              :                   if (!nonimmediate_operand (operands[1], E_SImode))
   23352              :                     return -1;
   23353              :                   x12 = XEXP (x4, 1);
   23354              :                   operands[3] = x12;
   23355              :                   x17 = XEXP (x7, 1);
   23356              :                   x18 = XEXP (x17, 1);
   23357              :                   if (!rtx_equal_p (x18, operands[3])
   23358              :                       || !
   23359              : #line 17556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23360              : (TARGET_APX_NDD
   23361              :    && ix86_pre_reload_split ()))
   23362              :                     return -1;
   23363              :                   return 1197; /* *x86_shrd_ndd_2 */
   23364              : 
   23365              :                 default:
   23366              :                   return -1;
   23367              :                 }
   23368              : 
   23369              :             default:
   23370              :               return -1;
   23371              :             }
   23372              : 
   23373              :         default:
   23374              :           return -1;
   23375              :         }
   23376              : 
   23377              :     case NOT:
   23378              :       x8 = XEXP (x4, 0);
   23379              :       if (GET_CODE (x8) != PLUS)
   23380              :         return -1;
   23381              :       x19 = XEXP (x8, 1);
   23382              :       if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
   23383              :           || pattern344 (x1) != 0)
   23384              :         return -1;
   23385              :       x20 = XEXP (x8, 0);
   23386              :       operands[1] = x20;
   23387              :       x7 = XEXP (x3, 1);
   23388              :       if (!rtx_equal_p (x7, operands[1]))
   23389              :         return -1;
   23390              :       switch (GET_MODE (operands[0]))
   23391              :         {
   23392              :         case E_SImode:
   23393              :           if (!register_operand (operands[0], E_SImode)
   23394              :               || GET_MODE (x3) != E_SImode
   23395              :               || GET_MODE (x4) != E_SImode
   23396              :               || GET_MODE (x8) != E_SImode
   23397              :               || !nonimmediate_operand (operands[1], E_SImode)
   23398              :               || !
   23399              : #line 22556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23400              : (TARGET_TBM))
   23401              :             return -1;
   23402              :           return 1642; /* *tbm_blci_si */
   23403              : 
   23404              :         case E_DImode:
   23405              :           if (!register_operand (operands[0], E_DImode)
   23406              :               || GET_MODE (x3) != E_DImode
   23407              :               || GET_MODE (x4) != E_DImode
   23408              :               || GET_MODE (x8) != E_DImode
   23409              :               || !nonimmediate_operand (operands[1], E_DImode)
   23410              :               || !(
   23411              : #line 22556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23412              : (TARGET_TBM) && 
   23413              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23414              : (TARGET_64BIT)))
   23415              :             return -1;
   23416              :           return 1643; /* *tbm_blci_di */
   23417              : 
   23418              :         default:
   23419              :           return -1;
   23420              :         }
   23421              : 
   23422              :     case PLUS:
   23423              :       x12 = XEXP (x4, 1);
   23424              :       if (GET_CODE (x12) != CONST_INT
   23425              :           || pattern349 (x1) != 0)
   23426              :         return -1;
   23427              :       switch (XWINT (x12, 0))
   23428              :         {
   23429              :         case 1L:
   23430              :           switch (pattern1337 (x3))
   23431              :             {
   23432              :             case 0:
   23433              :               if (!
   23434              : #line 22596 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23435              : (TARGET_TBM))
   23436              :                 return -1;
   23437              :               return 1648; /* *tbm_blcs_si */
   23438              : 
   23439              :             case 1:
   23440              :               if (!(
   23441              : #line 22596 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23442              : (TARGET_TBM) && 
   23443              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23444              : (TARGET_64BIT)))
   23445              :                 return -1;
   23446              :               return 1649; /* *tbm_blcs_di */
   23447              : 
   23448              :             case 2:
   23449              :               if (!
   23450              : #line 22637 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23451              : (TARGET_TBM))
   23452              :                 return -1;
   23453              :               return 1654; /* *tbm_t1mskc_si */
   23454              : 
   23455              :             case 3:
   23456              :               if (!(
   23457              : #line 22637 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23458              : (TARGET_TBM) && 
   23459              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23460              : (TARGET_64BIT)))
   23461              :                 return -1;
   23462              :               return 1655; /* *tbm_t1mskc_di */
   23463              : 
   23464              :             default:
   23465              :               return -1;
   23466              :             }
   23467              : 
   23468              :         case -1L:
   23469              :           switch (pattern1337 (x3))
   23470              :             {
   23471              :             case 0:
   23472              :               if (!
   23473              : #line 22609 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23474              : (TARGET_TBM))
   23475              :                 return -1;
   23476              :               return 1650; /* *tbm_blsfill_si */
   23477              : 
   23478              :             case 1:
   23479              :               if (!(
   23480              : #line 22609 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23481              : (TARGET_TBM) && 
   23482              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23483              : (TARGET_64BIT)))
   23484              :                 return -1;
   23485              :               return 1651; /* *tbm_blsfill_di */
   23486              : 
   23487              :             case 2:
   23488              :               if (!
   23489              : #line 22623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23490              : (TARGET_TBM))
   23491              :                 return -1;
   23492              :               return 1652; /* *tbm_blsic_si */
   23493              : 
   23494              :             case 3:
   23495              :               if (!(
   23496              : #line 22623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23497              : (TARGET_TBM) && 
   23498              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23499              : (TARGET_64BIT)))
   23500              :                 return -1;
   23501              :               return 1653; /* *tbm_blsic_di */
   23502              : 
   23503              :             default:
   23504              :               return -1;
   23505              :             }
   23506              : 
   23507              :         default:
   23508              :           return -1;
   23509              :         }
   23510              : 
   23511              :     default:
   23512              :       return -1;
   23513              :     }
   23514              : }
   23515              : 
   23516              :  int
   23517              : recog_425 (rtx x1 ATTRIBUTE_UNUSED,
   23518              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   23519              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   23520              : {
   23521              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   23522              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   23523              :   rtx x10;
   23524              :   int res ATTRIBUTE_UNUSED;
   23525              :   x2 = XVECEXP (x1, 0, 0);
   23526              :   x3 = XEXP (x2, 1);
   23527              :   x4 = XEXP (x3, 0);
   23528              :   if (GET_CODE (x4) != TRUNCATE)
   23529              :     return -1;
   23530              :   x5 = XEXP (x3, 1);
   23531              :   if (GET_CODE (x5) != TRUNCATE)
   23532              :     return -1;
   23533              :   x6 = XVECEXP (x1, 0, 1);
   23534              :   if (GET_CODE (x6) != USE)
   23535              :     return -1;
   23536              :   x7 = XEXP (x2, 0);
   23537              :   operands[0] = x7;
   23538              :   x8 = XEXP (x4, 0);
   23539              :   operands[1] = x8;
   23540              :   x9 = XEXP (x5, 0);
   23541              :   operands[2] = x9;
   23542              :   x10 = XEXP (x6, 0);
   23543              :   operands[3] = x10;
   23544              :   if (!nonimmediate_operand (operands[3], E_V16QImode))
   23545              :     return -1;
   23546              :   switch (GET_MODE (operands[0]))
   23547              :     {
   23548              :     case E_V4SImode:
   23549              :       if (pattern1340 (x3, 
   23550              : E_V2DImode, 
   23551              : E_V2SImode, 
   23552              : E_V4SImode) != 0
   23553              :           || !
   23554              : #line 27114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23555              : (TARGET_XOP && !(MEM_P (operands[2]) && MEM_P (operands[3]))))
   23556              :         return -1;
   23557              :       return 9083; /* xop_pperm_pack_v2di_v4si */
   23558              : 
   23559              :     case E_V8HImode:
   23560              :       if (pattern1340 (x3, 
   23561              : E_V4SImode, 
   23562              : E_V4HImode, 
   23563              : E_V8HImode) != 0
   23564              :           || !
   23565              : #line 27127 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23566              : (TARGET_XOP && !(MEM_P (operands[2]) && MEM_P (operands[3]))))
   23567              :         return -1;
   23568              :       return 9084; /* xop_pperm_pack_v4si_v8hi */
   23569              : 
   23570              :     case E_V16QImode:
   23571              :       if (pattern1340 (x3, 
   23572              : E_V8HImode, 
   23573              : E_V8QImode, 
   23574              : E_V16QImode) != 0
   23575              :           || !
   23576              : #line 27140 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23577              : (TARGET_XOP && !(MEM_P (operands[2]) && MEM_P (operands[3]))))
   23578              :         return -1;
   23579              :       return 9085; /* xop_pperm_pack_v8hi_v16qi */
   23580              : 
   23581              :     default:
   23582              :       return -1;
   23583              :     }
   23584              : }
   23585              : 
   23586              :  int
   23587              : recog_428 (rtx x1 ATTRIBUTE_UNUSED,
   23588              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   23589              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   23590              : {
   23591              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   23592              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   23593              :   int res ATTRIBUTE_UNUSED;
   23594              :   x2 = XVECEXP (x1, 0, 0);
   23595              :   x3 = XEXP (x2, 0);
   23596              :   operands[0] = x3;
   23597              :   x4 = XEXP (x2, 1);
   23598              :   operands[1] = x4;
   23599              :   x5 = XVECEXP (x1, 0, 1);
   23600              :   x6 = XVECEXP (x5, 0, 0);
   23601              :   operands[2] = x6;
   23602              :   switch (GET_MODE (operands[0]))
   23603              :     {
   23604              :     case E_V64QImode:
   23605              :       if (register_operand (operands[0], E_V64QImode)
   23606              :           && int_float_vector_all_ones_operand (operands[1], E_V64QImode)
   23607              :           && register_operand (operands[2], E_V64QImode)
   23608              :           && (
   23609              : #line 1555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23610              : (TARGET_AVX512VL || 64 == 64) && 
   23611              : #line 287 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23612              : (TARGET_AVX512F)))
   23613              :         return 2478; /* *vmovv64qi_constm1_pternlog_false_dep */
   23614              :       break;
   23615              : 
   23616              :     case E_V32QImode:
   23617              :       if (register_operand (operands[0], E_V32QImode)
   23618              :           && int_float_vector_all_ones_operand (operands[1], E_V32QImode)
   23619              :           && register_operand (operands[2], E_V32QImode)
   23620              :           && (
   23621              : #line 1555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23622              : (TARGET_AVX512VL || 32 == 64) && 
   23623              : #line 287 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23624              : (TARGET_AVX)))
   23625              :         return 2479; /* *vmovv32qi_constm1_pternlog_false_dep */
   23626              :       break;
   23627              : 
   23628              :     case E_V16QImode:
   23629              :       if (register_operand (operands[0], E_V16QImode)
   23630              :           && int_float_vector_all_ones_operand (operands[1], E_V16QImode)
   23631              :           && register_operand (operands[2], E_V16QImode)
   23632              :           && 
   23633              : #line 1555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23634              : (TARGET_AVX512VL || 16 == 64))
   23635              :         return 2480; /* *vmovv16qi_constm1_pternlog_false_dep */
   23636              :       break;
   23637              : 
   23638              :     case E_V32HImode:
   23639              :       if (register_operand (operands[0], E_V32HImode)
   23640              :           && int_float_vector_all_ones_operand (operands[1], E_V32HImode)
   23641              :           && register_operand (operands[2], E_V32HImode)
   23642              :           && (
   23643              : #line 1555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23644              : (TARGET_AVX512VL || 64 == 64) && 
   23645              : #line 288 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23646              : (TARGET_AVX512F)))
   23647              :         return 2481; /* *vmovv32hi_constm1_pternlog_false_dep */
   23648              :       break;
   23649              : 
   23650              :     case E_V16HImode:
   23651              :       if (register_operand (operands[0], E_V16HImode)
   23652              :           && int_float_vector_all_ones_operand (operands[1], E_V16HImode)
   23653              :           && register_operand (operands[2], E_V16HImode)
   23654              :           && (
   23655              : #line 1555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23656              : (TARGET_AVX512VL || 32 == 64) && 
   23657              : #line 288 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23658              : (TARGET_AVX)))
   23659              :         return 2482; /* *vmovv16hi_constm1_pternlog_false_dep */
   23660              :       break;
   23661              : 
   23662              :     case E_V8HImode:
   23663              :       if (register_operand (operands[0], E_V8HImode)
   23664              :           && int_float_vector_all_ones_operand (operands[1], E_V8HImode)
   23665              :           && register_operand (operands[2], E_V8HImode)
   23666              :           && 
   23667              : #line 1555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23668              : (TARGET_AVX512VL || 16 == 64))
   23669              :         return 2483; /* *vmovv8hi_constm1_pternlog_false_dep */
   23670              :       break;
   23671              : 
   23672              :     case E_V16SImode:
   23673              :       if (register_operand (operands[0], E_V16SImode)
   23674              :           && int_float_vector_all_ones_operand (operands[1], E_V16SImode)
   23675              :           && register_operand (operands[2], E_V16SImode)
   23676              :           && (
   23677              : #line 1555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23678              : (TARGET_AVX512VL || 64 == 64) && 
   23679              : #line 289 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23680              : (TARGET_AVX512F)))
   23681              :         return 2484; /* *vmovv16si_constm1_pternlog_false_dep */
   23682              :       break;
   23683              : 
   23684              :     case E_V8SImode:
   23685              :       if (register_operand (operands[0], E_V8SImode)
   23686              :           && int_float_vector_all_ones_operand (operands[1], E_V8SImode)
   23687              :           && register_operand (operands[2], E_V8SImode)
   23688              :           && (
   23689              : #line 1555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23690              : (TARGET_AVX512VL || 32 == 64) && 
   23691              : #line 289 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23692              : (TARGET_AVX)))
   23693              :         return 2485; /* *vmovv8si_constm1_pternlog_false_dep */
   23694              :       break;
   23695              : 
   23696              :     case E_V4SImode:
   23697              :       if (register_operand (operands[0], E_V4SImode)
   23698              :           && int_float_vector_all_ones_operand (operands[1], E_V4SImode)
   23699              :           && register_operand (operands[2], E_V4SImode)
   23700              :           && 
   23701              : #line 1555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23702              : (TARGET_AVX512VL || 16 == 64))
   23703              :         return 2486; /* *vmovv4si_constm1_pternlog_false_dep */
   23704              :       break;
   23705              : 
   23706              :     case E_V8DImode:
   23707              :       if (register_operand (operands[0], E_V8DImode)
   23708              :           && int_float_vector_all_ones_operand (operands[1], E_V8DImode)
   23709              :           && register_operand (operands[2], E_V8DImode)
   23710              :           && (
   23711              : #line 1555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23712              : (TARGET_AVX512VL || 64 == 64) && 
   23713              : #line 290 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23714              : (TARGET_AVX512F)))
   23715              :         return 2487; /* *vmovv8di_constm1_pternlog_false_dep */
   23716              :       break;
   23717              : 
   23718              :     case E_V4DImode:
   23719              :       if (register_operand (operands[0], E_V4DImode)
   23720              :           && int_float_vector_all_ones_operand (operands[1], E_V4DImode)
   23721              :           && register_operand (operands[2], E_V4DImode)
   23722              :           && (
   23723              : #line 1555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23724              : (TARGET_AVX512VL || 32 == 64) && 
   23725              : #line 290 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23726              : (TARGET_AVX)))
   23727              :         return 2488; /* *vmovv4di_constm1_pternlog_false_dep */
   23728              :       break;
   23729              : 
   23730              :     case E_V2DImode:
   23731              :       if (register_operand (operands[0], E_V2DImode)
   23732              :           && int_float_vector_all_ones_operand (operands[1], E_V2DImode)
   23733              :           && register_operand (operands[2], E_V2DImode)
   23734              :           && 
   23735              : #line 1555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23736              : (TARGET_AVX512VL || 16 == 64))
   23737              :         return 2489; /* *vmovv2di_constm1_pternlog_false_dep */
   23738              :       break;
   23739              : 
   23740              :     case E_V4TImode:
   23741              :       if (register_operand (operands[0], E_V4TImode)
   23742              :           && int_float_vector_all_ones_operand (operands[1], E_V4TImode)
   23743              :           && register_operand (operands[2], E_V4TImode)
   23744              :           && (
   23745              : #line 1555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23746              : (TARGET_AVX512VL || 64 == 64) && 
   23747              : #line 291 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23748              : (TARGET_AVX512F)))
   23749              :         return 2490; /* *vmovv4ti_constm1_pternlog_false_dep */
   23750              :       break;
   23751              : 
   23752              :     case E_V2TImode:
   23753              :       if (register_operand (operands[0], E_V2TImode)
   23754              :           && int_float_vector_all_ones_operand (operands[1], E_V2TImode)
   23755              :           && register_operand (operands[2], E_V2TImode)
   23756              :           && (
   23757              : #line 1555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23758              : (TARGET_AVX512VL || 32 == 64) && 
   23759              : #line 291 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23760              : (TARGET_AVX)))
   23761              :         return 2491; /* *vmovv2ti_constm1_pternlog_false_dep */
   23762              :       break;
   23763              : 
   23764              :     case E_V1TImode:
   23765              :       if (register_operand (operands[0], E_V1TImode)
   23766              :           && int_float_vector_all_ones_operand (operands[1], E_V1TImode)
   23767              :           && register_operand (operands[2], E_V1TImode)
   23768              :           && 
   23769              : #line 1555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23770              : (TARGET_AVX512VL || 16 == 64))
   23771              :         return 2492; /* *vmovv1ti_constm1_pternlog_false_dep */
   23772              :       break;
   23773              : 
   23774              :     case E_V32HFmode:
   23775              :       if (register_operand (operands[0], E_V32HFmode)
   23776              :           && int_float_vector_all_ones_operand (operands[1], E_V32HFmode)
   23777              :           && register_operand (operands[2], E_V32HFmode)
   23778              :           && (
   23779              : #line 1555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23780              : (TARGET_AVX512VL || 64 == 64) && 
   23781              : #line 292 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23782              : (TARGET_AVX512F)))
   23783              :         return 2493; /* *vmovv32hf_constm1_pternlog_false_dep */
   23784              :       break;
   23785              : 
   23786              :     case E_V16HFmode:
   23787              :       if (register_operand (operands[0], E_V16HFmode)
   23788              :           && int_float_vector_all_ones_operand (operands[1], E_V16HFmode)
   23789              :           && register_operand (operands[2], E_V16HFmode)
   23790              :           && (
   23791              : #line 1555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23792              : (TARGET_AVX512VL || 32 == 64) && 
   23793              : #line 292 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23794              : (TARGET_AVX)))
   23795              :         return 2494; /* *vmovv16hf_constm1_pternlog_false_dep */
   23796              :       break;
   23797              : 
   23798              :     case E_V8HFmode:
   23799              :       if (register_operand (operands[0], E_V8HFmode)
   23800              :           && int_float_vector_all_ones_operand (operands[1], E_V8HFmode)
   23801              :           && register_operand (operands[2], E_V8HFmode)
   23802              :           && 
   23803              : #line 1555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23804              : (TARGET_AVX512VL || 16 == 64))
   23805              :         return 2495; /* *vmovv8hf_constm1_pternlog_false_dep */
   23806              :       break;
   23807              : 
   23808              :     case E_V32BFmode:
   23809              :       if (register_operand (operands[0], E_V32BFmode)
   23810              :           && int_float_vector_all_ones_operand (operands[1], E_V32BFmode)
   23811              :           && register_operand (operands[2], E_V32BFmode)
   23812              :           && (
   23813              : #line 1555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23814              : (TARGET_AVX512VL || 64 == 64) && 
   23815              : #line 293 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23816              : (TARGET_AVX512F)))
   23817              :         return 2496; /* *vmovv32bf_constm1_pternlog_false_dep */
   23818              :       break;
   23819              : 
   23820              :     case E_V16BFmode:
   23821              :       if (register_operand (operands[0], E_V16BFmode)
   23822              :           && int_float_vector_all_ones_operand (operands[1], E_V16BFmode)
   23823              :           && register_operand (operands[2], E_V16BFmode)
   23824              :           && (
   23825              : #line 1555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23826              : (TARGET_AVX512VL || 32 == 64) && 
   23827              : #line 293 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23828              : (TARGET_AVX)))
   23829              :         return 2497; /* *vmovv16bf_constm1_pternlog_false_dep */
   23830              :       break;
   23831              : 
   23832              :     case E_V8BFmode:
   23833              :       if (register_operand (operands[0], E_V8BFmode)
   23834              :           && int_float_vector_all_ones_operand (operands[1], E_V8BFmode)
   23835              :           && register_operand (operands[2], E_V8BFmode)
   23836              :           && 
   23837              : #line 1555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23838              : (TARGET_AVX512VL || 16 == 64))
   23839              :         return 2498; /* *vmovv8bf_constm1_pternlog_false_dep */
   23840              :       break;
   23841              : 
   23842              :     case E_V16SFmode:
   23843              :       if (register_operand (operands[0], E_V16SFmode)
   23844              :           && int_float_vector_all_ones_operand (operands[1], E_V16SFmode)
   23845              :           && register_operand (operands[2], E_V16SFmode)
   23846              :           && (
   23847              : #line 1555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23848              : (TARGET_AVX512VL || 64 == 64) && 
   23849              : #line 294 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23850              : (TARGET_AVX512F)))
   23851              :         return 2499; /* *vmovv16sf_constm1_pternlog_false_dep */
   23852              :       break;
   23853              : 
   23854              :     case E_V8SFmode:
   23855              :       if (register_operand (operands[0], E_V8SFmode)
   23856              :           && int_float_vector_all_ones_operand (operands[1], E_V8SFmode)
   23857              :           && register_operand (operands[2], E_V8SFmode)
   23858              :           && (
   23859              : #line 1555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23860              : (TARGET_AVX512VL || 32 == 64) && 
   23861              : #line 294 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23862              : (TARGET_AVX)))
   23863              :         return 2500; /* *vmovv8sf_constm1_pternlog_false_dep */
   23864              :       break;
   23865              : 
   23866              :     case E_V4SFmode:
   23867              :       if (register_operand (operands[0], E_V4SFmode)
   23868              :           && int_float_vector_all_ones_operand (operands[1], E_V4SFmode)
   23869              :           && register_operand (operands[2], E_V4SFmode)
   23870              :           && 
   23871              : #line 1555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23872              : (TARGET_AVX512VL || 16 == 64))
   23873              :         return 2501; /* *vmovv4sf_constm1_pternlog_false_dep */
   23874              :       break;
   23875              : 
   23876              :     case E_V8DFmode:
   23877              :       if (register_operand (operands[0], E_V8DFmode)
   23878              :           && int_float_vector_all_ones_operand (operands[1], E_V8DFmode)
   23879              :           && register_operand (operands[2], E_V8DFmode)
   23880              :           && (
   23881              : #line 1555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23882              : (TARGET_AVX512VL || 64 == 64) && 
   23883              : #line 295 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23884              : (TARGET_AVX512F)))
   23885              :         return 2502; /* *vmovv8df_constm1_pternlog_false_dep */
   23886              :       break;
   23887              : 
   23888              :     case E_V4DFmode:
   23889              :       if (register_operand (operands[0], E_V4DFmode)
   23890              :           && int_float_vector_all_ones_operand (operands[1], E_V4DFmode)
   23891              :           && register_operand (operands[2], E_V4DFmode)
   23892              :           && (
   23893              : #line 1555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23894              : (TARGET_AVX512VL || 32 == 64) && 
   23895              : #line 295 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23896              : (TARGET_AVX)))
   23897              :         return 2503; /* *vmovv4df_constm1_pternlog_false_dep */
   23898              :       break;
   23899              : 
   23900              :     case E_V2DFmode:
   23901              :       if (register_operand (operands[0], E_V2DFmode)
   23902              :           && int_float_vector_all_ones_operand (operands[1], E_V2DFmode)
   23903              :           && register_operand (operands[2], E_V2DFmode)
   23904              :           && 
   23905              : #line 1555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23906              : (TARGET_AVX512VL || 16 == 64))
   23907              :         return 2504; /* *vmovv2df_constm1_pternlog_false_dep */
   23908              :       break;
   23909              : 
   23910              :     default:
   23911              :       break;
   23912              :     }
   23913              :   switch (GET_CODE (x4))
   23914              :     {
   23915              :     case VEC_MERGE:
   23916              :       x7 = XEXP (x4, 0);
   23917              :       operands[2] = x7;
   23918              :       x8 = XEXP (x4, 1);
   23919              :       operands[3] = x8;
   23920              :       x9 = XEXP (x4, 2);
   23921              :       operands[1] = x9;
   23922              :       operands[4] = x6;
   23923              :       switch (GET_MODE (operands[0]))
   23924              :         {
   23925              :         case E_V16SImode:
   23926              :           if (pattern1341 (x4, 
   23927              : E_V16SImode, 
   23928              : E_HImode) != 0
   23929              :               || !
   23930              : #line 10690 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23931              : (TARGET_AVX512F && !TARGET_AVX512DQ))
   23932              :             return -1;
   23933              :           return 5244; /* *avx512f_cvtmask2dv16si_pternlog_false_dep */
   23934              : 
   23935              :         case E_V8SImode:
   23936              :           if (pattern1341 (x4, 
   23937              : E_V8SImode, 
   23938              : E_QImode) != 0
   23939              :               || !(
   23940              : #line 10690 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23941              : (TARGET_AVX512F && !TARGET_AVX512DQ) && 
   23942              : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23943              : (TARGET_AVX512VL)))
   23944              :             return -1;
   23945              :           return 5245; /* *avx512vl_cvtmask2dv8si_pternlog_false_dep */
   23946              : 
   23947              :         case E_V4SImode:
   23948              :           if (pattern1341 (x4, 
   23949              : E_V4SImode, 
   23950              : E_QImode) != 0
   23951              :               || !(
   23952              : #line 10690 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23953              : (TARGET_AVX512F && !TARGET_AVX512DQ) && 
   23954              : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23955              : (TARGET_AVX512VL)))
   23956              :             return -1;
   23957              :           return 5246; /* *avx512vl_cvtmask2dv4si_pternlog_false_dep */
   23958              : 
   23959              :         case E_V8DImode:
   23960              :           if (pattern1341 (x4, 
   23961              : E_V8DImode, 
   23962              : E_QImode) != 0
   23963              :               || !
   23964              : #line 10690 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23965              : (TARGET_AVX512F && !TARGET_AVX512DQ))
   23966              :             return -1;
   23967              :           return 5247; /* *avx512f_cvtmask2qv8di_pternlog_false_dep */
   23968              : 
   23969              :         case E_V4DImode:
   23970              :           if (pattern1341 (x4, 
   23971              : E_V4DImode, 
   23972              : E_QImode) != 0
   23973              :               || !(
   23974              : #line 10690 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23975              : (TARGET_AVX512F && !TARGET_AVX512DQ) && 
   23976              : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23977              : (TARGET_AVX512VL)))
   23978              :             return -1;
   23979              :           return 5248; /* *avx512vl_cvtmask2qv4di_pternlog_false_dep */
   23980              : 
   23981              :         case E_V2DImode:
   23982              :           if (pattern1341 (x4, 
   23983              : E_V2DImode, 
   23984              : E_QImode) != 0
   23985              :               || !(
   23986              : #line 10690 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23987              : (TARGET_AVX512F && !TARGET_AVX512DQ) && 
   23988              : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23989              : (TARGET_AVX512VL)))
   23990              :             return -1;
   23991              :           return 5249; /* *avx512vl_cvtmask2qv2di_pternlog_false_dep */
   23992              : 
   23993              :         default:
   23994              :           return -1;
   23995              :         }
   23996              : 
   23997              :     case XOR:
   23998              :       x7 = XEXP (x4, 0);
   23999              :       operands[1] = x7;
   24000              :       x8 = XEXP (x4, 1);
   24001              :       operands[2] = x8;
   24002              :       operands[3] = x6;
   24003              :       switch (GET_MODE (operands[0]))
   24004              :         {
   24005              :         case E_V16SImode:
   24006              :           if (pattern1259 (x4, 
   24007              : E_V16SImode) != 0
   24008              :               || !
   24009              : #line 18765 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   24010              : (TARGET_AVX512F))
   24011              :             return -1;
   24012              :           return 8018; /* *one_cmplv16si2_pternlog_false_dep */
   24013              : 
   24014              :         case E_V8DImode:
   24015              :           if (pattern1259 (x4, 
   24016              : E_V8DImode) != 0
   24017              :               || !
   24018              : #line 18765 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   24019              : (TARGET_AVX512F))
   24020              :             return -1;
   24021              :           return 8019; /* *one_cmplv8di2_pternlog_false_dep */
   24022              : 
   24023              :         case E_V64QImode:
   24024              :           if (pattern1259 (x4, 
   24025              : E_V64QImode) != 0
   24026              :               || !(
   24027              : #line 18765 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   24028              : (TARGET_AVX512F) && 
   24029              : #line 557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   24030              : (TARGET_AVX512BW)))
   24031              :             return -1;
   24032              :           return 8020; /* *one_cmplv64qi2_pternlog_false_dep */
   24033              : 
   24034              :         case E_V32QImode:
   24035              :           if (pattern1259 (x4, 
   24036              : E_V32QImode) != 0
   24037              :               || !(
   24038              : #line 18765 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   24039              : (TARGET_AVX512F) && 
   24040              : #line 557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   24041              : (TARGET_AVX)))
   24042              :             return -1;
   24043              :           return 8021; /* *one_cmplv32qi2_pternlog_false_dep */
   24044              : 
   24045              :         case E_V16QImode:
   24046              :           if (pattern1259 (x4, 
   24047              : E_V16QImode) != 0
   24048              :               || !
   24049              : #line 18765 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   24050              : (TARGET_AVX512F))
   24051              :             return -1;
   24052              :           return 8022; /* *one_cmplv16qi2_pternlog_false_dep */
   24053              : 
   24054              :         case E_V32HImode:
   24055              :           if (pattern1259 (x4, 
   24056              : E_V32HImode) != 0
   24057              :               || !(
   24058              : #line 18765 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   24059              : (TARGET_AVX512F) && 
   24060              : #line 558 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   24061              : (TARGET_AVX512BW)))
   24062              :             return -1;
   24063              :           return 8023; /* *one_cmplv32hi2_pternlog_false_dep */
   24064              : 
   24065              :         case E_V16HImode:
   24066              :           if (pattern1259 (x4, 
   24067              : E_V16HImode) != 0
   24068              :               || !(
   24069              : #line 18765 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   24070              : (TARGET_AVX512F) && 
   24071              : #line 558 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   24072              : (TARGET_AVX)))
   24073              :             return -1;
   24074              :           return 8024; /* *one_cmplv16hi2_pternlog_false_dep */
   24075              : 
   24076              :         case E_V8HImode:
   24077              :           if (pattern1259 (x4, 
   24078              : E_V8HImode) != 0
   24079              :               || !
   24080              : #line 18765 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   24081              : (TARGET_AVX512F))
   24082              :             return -1;
   24083              :           return 8025; /* *one_cmplv8hi2_pternlog_false_dep */
   24084              : 
   24085              :         case E_V8SImode:
   24086              :           if (pattern1259 (x4, 
   24087              : E_V8SImode) != 0
   24088              :               || !(
   24089              : #line 18765 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   24090              : (TARGET_AVX512F) && 
   24091              : #line 559 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   24092              : (TARGET_AVX)))
   24093              :             return -1;
   24094              :           return 8026; /* *one_cmplv8si2_pternlog_false_dep */
   24095              : 
   24096              :         case E_V4SImode:
   24097              :           if (pattern1259 (x4, 
   24098              : E_V4SImode) != 0
   24099              :               || !
   24100              : #line 18765 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   24101              : (TARGET_AVX512F))
   24102              :             return -1;
   24103              :           return 8027; /* *one_cmplv4si2_pternlog_false_dep */
   24104              : 
   24105              :         case E_V4DImode:
   24106              :           if (pattern1259 (x4, 
   24107              : E_V4DImode) != 0
   24108              :               || !(
   24109              : #line 18765 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   24110              : (TARGET_AVX512F) && 
   24111              : #line 560 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   24112              : (TARGET_AVX)))
   24113              :             return -1;
   24114              :           return 8028; /* *one_cmplv4di2_pternlog_false_dep */
   24115              : 
   24116              :         case E_V2DImode:
   24117              :           if (pattern1259 (x4, 
   24118              : E_V2DImode) != 0
   24119              :               || !
   24120              : #line 18765 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   24121              : (TARGET_AVX512F))
   24122              :             return -1;
   24123              :           return 8029; /* *one_cmplv2di2_pternlog_false_dep */
   24124              : 
   24125              :         default:
   24126              :           return -1;
   24127              :         }
   24128              : 
   24129              :     default:
   24130              :       return -1;
   24131              :     }
   24132              : }
   24133              : 
   24134              :  rtx_insn *
   24135              : split_3 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
   24136              : {
   24137              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   24138              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   24139              :   rtx x10, x11;
   24140              :   rtx_insn *res ATTRIBUTE_UNUSED;
   24141              :   x2 = XEXP (x1, 1);
   24142              :   x3 = XEXP (x2, 0);
   24143              :   x4 = XEXP (x3, 0);
   24144              :   if (GET_CODE (x4) != ZERO_EXTRACT)
   24145              :     return NULL;
   24146              :   x5 = XEXP (x4, 1);
   24147              :   if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   24148              :     return NULL;
   24149              :   x6 = XEXP (x3, 1);
   24150              :   if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   24151              :     return NULL;
   24152              :   x7 = XEXP (x1, 0);
   24153              :   operands[0] = x7;
   24154              :   x8 = XEXP (x4, 0);
   24155              :   operands[1] = x8;
   24156              :   x9 = XEXP (x4, 2);
   24157              :   operands[2] = x9;
   24158              :   if (!register_operand (operands[2], E_QImode))
   24159              :     return NULL;
   24160              :   x10 = XEXP (x2, 1);
   24161              :   operands[3] = x10;
   24162              :   x11 = XEXP (x2, 2);
   24163              :   operands[4] = x11;
   24164              :   switch (GET_MODE (operands[0]))
   24165              :     {
   24166              :     case E_HImode:
   24167              :       switch (pattern1540 (x2, 
   24168              : E_HImode))
   24169              :         {
   24170              :         case 0:
   24171              :           if (!
   24172              : #line 19660 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24173              : (TARGET_USE_BT && TARGET_CMOVE
   24174              :    && !(MEM_P (operands[3]) && MEM_P (operands[4]))
   24175              :    && ix86_pre_reload_split ()))
   24176              :             return NULL;
   24177              :           return gen_split_836 (insn, operands);
   24178              : 
   24179              :         case 1:
   24180              :           if (!(
   24181              : #line 19660 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24182              : (TARGET_USE_BT && TARGET_CMOVE
   24183              :    && !(MEM_P (operands[3]) && MEM_P (operands[4]))
   24184              :    && ix86_pre_reload_split ()) && 
   24185              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24186              : (TARGET_64BIT)))
   24187              :             return NULL;
   24188              :           return gen_split_837 (insn, operands);
   24189              : 
   24190              :         default:
   24191              :           return NULL;
   24192              :         }
   24193              : 
   24194              :     case E_SImode:
   24195              :       switch (pattern1540 (x2, 
   24196              : E_SImode))
   24197              :         {
   24198              :         case 0:
   24199              :           if (!
   24200              : #line 19660 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24201              : (TARGET_USE_BT && TARGET_CMOVE
   24202              :    && !(MEM_P (operands[3]) && MEM_P (operands[4]))
   24203              :    && ix86_pre_reload_split ()))
   24204              :             return NULL;
   24205              :           return gen_split_838 (insn, operands);
   24206              : 
   24207              :         case 1:
   24208              :           if (!(
   24209              : #line 19660 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24210              : (TARGET_USE_BT && TARGET_CMOVE
   24211              :    && !(MEM_P (operands[3]) && MEM_P (operands[4]))
   24212              :    && ix86_pre_reload_split ()) && 
   24213              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24214              : (TARGET_64BIT)))
   24215              :             return NULL;
   24216              :           return gen_split_839 (insn, operands);
   24217              : 
   24218              :         default:
   24219              :           return NULL;
   24220              :         }
   24221              : 
   24222              :     case E_DImode:
   24223              :       switch (pattern1540 (x2, 
   24224              : E_DImode))
   24225              :         {
   24226              :         case 0:
   24227              :           if (!(
   24228              : #line 19660 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24229              : (TARGET_USE_BT && TARGET_CMOVE
   24230              :    && !(MEM_P (operands[3]) && MEM_P (operands[4]))
   24231              :    && ix86_pre_reload_split ()) && 
   24232              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24233              : (TARGET_64BIT)))
   24234              :             return NULL;
   24235              :           return gen_split_840 (insn, operands);
   24236              : 
   24237              :         case 1:
   24238              :           if (!(
   24239              : #line 19660 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24240              : (TARGET_USE_BT && TARGET_CMOVE
   24241              :    && !(MEM_P (operands[3]) && MEM_P (operands[4]))
   24242              :    && ix86_pre_reload_split ()) && 
   24243              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24244              : (TARGET_64BIT)))
   24245              :             return NULL;
   24246              :           return gen_split_841 (insn, operands);
   24247              : 
   24248              :         default:
   24249              :           return NULL;
   24250              :         }
   24251              : 
   24252              :     default:
   24253              :       return NULL;
   24254              :     }
   24255              : }
   24256              : 
   24257              :  rtx_insn *
   24258              : split_7 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
   24259              : {
   24260              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   24261              :   rtx x2, x3, x4, x5, x6, x7;
   24262              :   rtx_insn *res ATTRIBUTE_UNUSED;
   24263              :   x2 = XEXP (x1, 0);
   24264              :   operands[0] = x2;
   24265              :   x3 = XEXP (x1, 1);
   24266              :   x4 = XEXP (x3, 0);
   24267              :   switch (GET_CODE (x4))
   24268              :     {
   24269              :     case AND:
   24270              :       switch (pattern76 (x3))
   24271              :         {
   24272              :         case 0:
   24273              :           if (!(
   24274              : #line 3715 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24275              : (TARGET_64BIT
   24276              :    && CONST_WIDE_INT_P (operands[3])
   24277              :    && CONST_WIDE_INT_NUNITS (operands[3]) == 2
   24278              :    && CONST_WIDE_INT_ELT (operands[3], 0) == -1
   24279              :    && CONST_WIDE_INT_ELT (operands[3], 1) == 0) && 
   24280              : #line 3721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24281              : ( reload_completed)))
   24282              :             return NULL;
   24283              :           return gen_split_29 (insn, operands);
   24284              : 
   24285              :         case 1:
   24286              :           if (!(
   24287              : #line 3737 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24288              : (TARGET_64BIT
   24289              :    && CONST_WIDE_INT_P (operands[3])
   24290              :    && CONST_WIDE_INT_NUNITS (operands[3]) == 2
   24291              :    && CONST_WIDE_INT_ELT (operands[3], 0) == 0
   24292              :    && CONST_WIDE_INT_ELT (operands[3], 1) == -1) && 
   24293              : #line 3743 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24294              : ( reload_completed)))
   24295              :             return NULL;
   24296              :           return gen_split_32 (insn, operands);
   24297              : 
   24298              :         case 2:
   24299              :           if (!(
   24300              : #line 3759 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24301              : (!TARGET_64BIT
   24302              :    && CONST_INT_P (operands[3])
   24303              :    && UINTVAL (operands[3]) == 0xffffffff00000000ll) && 
   24304              : #line 3763 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24305              : ( reload_completed)))
   24306              :             return NULL;
   24307              :           return gen_split_35 (insn, operands);
   24308              : 
   24309              :         default:
   24310              :           return NULL;
   24311              :         }
   24312              : 
   24313              :     case ASHIFT:
   24314              :       x5 = XEXP (x4, 1);
   24315              :       operands[2] = x5;
   24316              :       x6 = XEXP (x4, 0);
   24317              :       switch (GET_CODE (x6))
   24318              :         {
   24319              :         case REG:
   24320              :         case SUBREG:
   24321              :         case MEM:
   24322              :           x7 = XEXP (x3, 1);
   24323              :           switch (GET_CODE (x7))
   24324              :             {
   24325              :             case CONST_INT:
   24326              :             case CONST_WIDE_INT:
   24327              :               operands[3] = x7;
   24328              :               operands[1] = x6;
   24329              :               switch (GET_MODE (operands[0]))
   24330              :                 {
   24331              :                 case E_QImode:
   24332              :                   if (pattern614 (x3, 
   24333              : E_QImode) != 0
   24334              :                       || !(
   24335              : #line 8048 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24336              : ((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   24337              :    && ((unsigned HOST_WIDE_INT) INTVAL (operands[3])
   24338              :        < (HOST_WIDE_INT_1U << INTVAL (operands[2])))) && 
   24339              : #line 8052 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24340              : ( reload_completed)))
   24341              :                     return NULL;
   24342              :                   return gen_split_166 (insn, operands);
   24343              : 
   24344              :                 case E_HImode:
   24345              :                   if (pattern614 (x3, 
   24346              : E_HImode) != 0
   24347              :                       || !(
   24348              : #line 8048 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24349              : ((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   24350              :    && ((unsigned HOST_WIDE_INT) INTVAL (operands[3])
   24351              :        < (HOST_WIDE_INT_1U << INTVAL (operands[2])))) && 
   24352              : #line 8052 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24353              : ( reload_completed)))
   24354              :                     return NULL;
   24355              :                   return gen_split_168 (insn, operands);
   24356              : 
   24357              :                 case E_SImode:
   24358              :                   if (pattern614 (x3, 
   24359              : E_SImode) != 0
   24360              :                       || !(
   24361              : #line 8072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24362              : ((unsigned HOST_WIDE_INT) INTVAL (operands[3])
   24363              :    < (HOST_WIDE_INT_1U << INTVAL (operands[2]))) && 
   24364              : #line 8075 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24365              : ( reload_completed)))
   24366              :                     return NULL;
   24367              :                   return gen_split_170 (insn, operands);
   24368              : 
   24369              :                 case E_DImode:
   24370              :                   if (GET_MODE (x3) != E_DImode
   24371              :                       || GET_MODE (x4) != E_DImode)
   24372              :                     return NULL;
   24373              :                   if (register_operand (operands[0], E_DImode)
   24374              :                       && register_no_SP_operand (operands[1], E_DImode)
   24375              :                       && const_0_to_3_operand (operands[2], E_VOIDmode)
   24376              :                       && const_int_operand (operands[3], E_VOIDmode)
   24377              :                       && ((
   24378              : #line 8072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24379              : ((unsigned HOST_WIDE_INT) INTVAL (operands[3])
   24380              :    < (HOST_WIDE_INT_1U << INTVAL (operands[2]))) && 
   24381              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24382              : (TARGET_64BIT)) && 
   24383              : #line 8075 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24384              : ( reload_completed)))
   24385              :                     return gen_split_172 (insn, operands);
   24386              :                   if (!nonimmediate_operand (operands[0], E_DImode)
   24387              :                       || !register_operand (operands[1], E_DImode)
   24388              :                       || !const_int_operand (operands[2], E_QImode)
   24389              :                       || !const_scalar_int_operand (operands[3], E_DImode)
   24390              :                       || !((
   24391              : #line 14473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24392              : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT / 2
   24393              :    && (DImode == DImode
   24394              :        ? CONST_INT_P (operands[3])
   24395              :          && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
   24396              :        : CONST_INT_P (operands[3])
   24397              :        ? INTVAL (operands[3]) >= 0
   24398              :        : CONST_WIDE_INT_NUNITS (operands[3]) == 2
   24399              :          && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
   24400              :    && !(CONST_INT_P (operands[3])
   24401              :         ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
   24402              :         : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
   24403              :                                                                      0)),
   24404              :                                         VOIDmode))) && 
   24405              : #line 1196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24406              : (!TARGET_64BIT)) && 
   24407              : #line 14487 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24408              : ( reload_completed)))
   24409              :                     return NULL;
   24410              :                   return gen_split_473 (insn, operands);
   24411              : 
   24412              :                 case E_TImode:
   24413              :                   if (pattern615 (x3, 
   24414              : E_TImode) != 0
   24415              :                       || !((
   24416              : #line 14473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24417              : (INTVAL (operands[2]) == 16 * BITS_PER_UNIT / 2
   24418              :    && (TImode == DImode
   24419              :        ? CONST_INT_P (operands[3])
   24420              :          && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
   24421              :        : CONST_INT_P (operands[3])
   24422              :        ? INTVAL (operands[3]) >= 0
   24423              :        : CONST_WIDE_INT_NUNITS (operands[3]) == 2
   24424              :          && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
   24425              :    && !(CONST_INT_P (operands[3])
   24426              :         ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
   24427              :         : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
   24428              :                                                                      0)),
   24429              :                                         VOIDmode))) && 
   24430              : #line 1197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24431              : (TARGET_64BIT)) && 
   24432              : #line 14487 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24433              : ( reload_completed)))
   24434              :                     return NULL;
   24435              :                   return gen_split_476 (insn, operands);
   24436              : 
   24437              :                 default:
   24438              :                   return NULL;
   24439              :                 }
   24440              : 
   24441              :             case ZERO_EXTEND:
   24442              :               operands[1] = x6;
   24443              :               switch (pattern955 (x3))
   24444              :                 {
   24445              :                 case 0:
   24446              :                   if (!((
   24447              : #line 14396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24448              : (INTVAL (operands[2]) == 4 * BITS_PER_UNIT) && 
   24449              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24450              : (!TARGET_64BIT)) && 
   24451              : #line 14398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24452              : ( reload_completed)))
   24453              :                     return NULL;
   24454              :                   return gen_split_437 (insn, operands);
   24455              : 
   24456              :                 case 1:
   24457              :                   if (!((
   24458              : #line 14396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24459              : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT) && 
   24460              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24461              : (TARGET_64BIT)) && 
   24462              : #line 14398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24463              : ( reload_completed)))
   24464              :                     return NULL;
   24465              :                   return gen_split_440 (insn, operands);
   24466              : 
   24467              :                 default:
   24468              :                   return NULL;
   24469              :                 }
   24470              : 
   24471              :             case LSHIFTRT:
   24472              :               operands[4] = x6;
   24473              :               switch (pattern841 (x3))
   24474              :                 {
   24475              :                 case 0:
   24476              :                   if (!(
   24477              : #line 15813 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24478              : (TARGET_64BIT && TARGET_APX_NF
   24479              :    && INTVAL (operands[3]) == 64 - INTVAL (operands[2])
   24480              :    && ix86_pre_reload_split ()) && 
   24481              : #line 15817 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24482              : ( 1)))
   24483              :                     return NULL;
   24484              :                   return gen_split_568 (insn, operands);
   24485              : 
   24486              :                 case 1:
   24487              :                   if (!(
   24488              : #line 16045 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24489              : (TARGET_APX_NF
   24490              :    && INTVAL (operands[3]) == 32 - INTVAL (operands[2])
   24491              :    && ix86_pre_reload_split ()) && 
   24492              : #line 16049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24493              : ( 1)))
   24494              :                     return NULL;
   24495              :                   return gen_split_572 (insn, operands);
   24496              : 
   24497              :                 default:
   24498              :                   return NULL;
   24499              :                 }
   24500              : 
   24501              :             default:
   24502              :               return NULL;
   24503              :             }
   24504              : 
   24505              :         case SIGN_EXTEND:
   24506              :           switch (pattern723 (x3))
   24507              :             {
   24508              :             case 0:
   24509              :               if (!((
   24510              : #line 14432 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24511              : (INTVAL (operands[2]) == 4 * BITS_PER_UNIT) && 
   24512              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24513              : (!TARGET_64BIT)) && 
   24514              : #line 14434 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24515              : ( reload_completed)))
   24516              :                 return NULL;
   24517              :               return gen_split_449 (insn, operands);
   24518              : 
   24519              :             case 1:
   24520              :               if (!((
   24521              : #line 14432 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24522              : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT) && 
   24523              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24524              : (TARGET_64BIT)) && 
   24525              : #line 14434 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24526              : ( reload_completed)))
   24527              :                 return NULL;
   24528              :               return gen_split_455 (insn, operands);
   24529              : 
   24530              :             case 2:
   24531              :               if (!((
   24532              : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24533              : (INTVAL (operands[2]) == 4 * BITS_PER_UNIT
   24534              :    && (DImode == DImode
   24535              :        ? CONST_INT_P (operands[3])
   24536              :          && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
   24537              :        : CONST_INT_P (operands[3])
   24538              :        ? INTVAL (operands[3]) >= 0
   24539              :        : CONST_WIDE_INT_NUNITS (operands[3]) == 2
   24540              :          && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
   24541              :    && !(CONST_INT_P (operands[3])
   24542              :         ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
   24543              :         : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
   24544              :                                                                      0)),
   24545              :                                         VOIDmode))) && 
   24546              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24547              : (!TARGET_64BIT)) && 
   24548              : #line 14519 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24549              : ( reload_completed)))
   24550              :                 return NULL;
   24551              :               return gen_split_479 (insn, operands);
   24552              : 
   24553              :             case 3:
   24554              :               if (!((
   24555              : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24556              : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT
   24557              :    && (TImode == DImode
   24558              :        ? CONST_INT_P (operands[3])
   24559              :          && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
   24560              :        : CONST_INT_P (operands[3])
   24561              :        ? INTVAL (operands[3]) >= 0
   24562              :        : CONST_WIDE_INT_NUNITS (operands[3]) == 2
   24563              :          && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
   24564              :    && !(CONST_INT_P (operands[3])
   24565              :         ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
   24566              :         : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
   24567              :                                                                      0)),
   24568              :                                         VOIDmode))) && 
   24569              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24570              : (TARGET_64BIT)) && 
   24571              : #line 14519 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24572              : ( reload_completed)))
   24573              :                 return NULL;
   24574              :               return gen_split_485 (insn, operands);
   24575              : 
   24576              :             default:
   24577              :               return NULL;
   24578              :             }
   24579              : 
   24580              :         case ZERO_EXTEND:
   24581              :           switch (pattern723 (x3))
   24582              :             {
   24583              :             case 0:
   24584              :               if (!((
   24585              : #line 14432 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24586              : (INTVAL (operands[2]) == 4 * BITS_PER_UNIT) && 
   24587              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24588              : (!TARGET_64BIT)) && 
   24589              : #line 14434 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24590              : ( reload_completed)))
   24591              :                 return NULL;
   24592              :               return gen_split_452 (insn, operands);
   24593              : 
   24594              :             case 1:
   24595              :               if (!((
   24596              : #line 14432 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24597              : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT) && 
   24598              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24599              : (TARGET_64BIT)) && 
   24600              : #line 14434 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24601              : ( reload_completed)))
   24602              :                 return NULL;
   24603              :               return gen_split_458 (insn, operands);
   24604              : 
   24605              :             case 2:
   24606              :               if (!((
   24607              : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24608              : (INTVAL (operands[2]) == 4 * BITS_PER_UNIT
   24609              :    && (DImode == DImode
   24610              :        ? CONST_INT_P (operands[3])
   24611              :          && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
   24612              :        : CONST_INT_P (operands[3])
   24613              :        ? INTVAL (operands[3]) >= 0
   24614              :        : CONST_WIDE_INT_NUNITS (operands[3]) == 2
   24615              :          && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
   24616              :    && !(CONST_INT_P (operands[3])
   24617              :         ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
   24618              :         : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
   24619              :                                                                      0)),
   24620              :                                         VOIDmode))) && 
   24621              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24622              : (!TARGET_64BIT)) && 
   24623              : #line 14519 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24624              : ( reload_completed)))
   24625              :                 return NULL;
   24626              :               return gen_split_482 (insn, operands);
   24627              : 
   24628              :             case 3:
   24629              :               if (!((
   24630              : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24631              : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT
   24632              :    && (TImode == DImode
   24633              :        ? CONST_INT_P (operands[3])
   24634              :          && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
   24635              :        : CONST_INT_P (operands[3])
   24636              :        ? INTVAL (operands[3]) >= 0
   24637              :        : CONST_WIDE_INT_NUNITS (operands[3]) == 2
   24638              :          && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
   24639              :    && !(CONST_INT_P (operands[3])
   24640              :         ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
   24641              :         : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
   24642              :                                                                      0)),
   24643              :                                         VOIDmode))) && 
   24644              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24645              : (TARGET_64BIT)) && 
   24646              : #line 14519 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24647              : ( reload_completed)))
   24648              :                 return NULL;
   24649              :               return gen_split_488 (insn, operands);
   24650              : 
   24651              :             default:
   24652              :               return NULL;
   24653              :             }
   24654              : 
   24655              :         default:
   24656              :           return NULL;
   24657              :         }
   24658              : 
   24659              :     case ZERO_EXTEND:
   24660              :       switch (pattern405 (x3))
   24661              :         {
   24662              :         case 0:
   24663              :           if (!((
   24664              : #line 14413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24665              : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) && 
   24666              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24667              : (!TARGET_64BIT)) && 
   24668              : #line 14415 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24669              : ( reload_completed)))
   24670              :             return NULL;
   24671              :           return gen_split_443 (insn, operands);
   24672              : 
   24673              :         case 1:
   24674              :           if (!((
   24675              : #line 14413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24676              : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) && 
   24677              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24678              : (TARGET_64BIT)) && 
   24679              : #line 14415 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24680              : ( reload_completed)))
   24681              :             return NULL;
   24682              :           return gen_split_446 (insn, operands);
   24683              : 
   24684              :         case 2:
   24685              :           if (!((
   24686              : #line 14457 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24687              : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) && 
   24688              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24689              : (!TARGET_64BIT)) && 
   24690              : #line 14459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24691              : ( reload_completed)))
   24692              :             return NULL;
   24693              :           return gen_split_461 (insn, operands);
   24694              : 
   24695              :         case 3:
   24696              :           if (!((
   24697              : #line 14457 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24698              : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) && 
   24699              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24700              : (TARGET_64BIT)) && 
   24701              : #line 14459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24702              : ( reload_completed)))
   24703              :             return NULL;
   24704              :           return gen_split_467 (insn, operands);
   24705              : 
   24706              :         case 4:
   24707              :           if (!((
   24708              : #line 14457 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24709              : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) && 
   24710              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24711              : (!TARGET_64BIT)) && 
   24712              : #line 14459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24713              : ( reload_completed)))
   24714              :             return NULL;
   24715              :           return gen_split_464 (insn, operands);
   24716              : 
   24717              :         case 5:
   24718              :           if (!((
   24719              : #line 14457 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24720              : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) && 
   24721              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24722              : (TARGET_64BIT)) && 
   24723              : #line 14459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24724              : ( reload_completed)))
   24725              :             return NULL;
   24726              :           return gen_split_470 (insn, operands);
   24727              : 
   24728              :         case 6:
   24729              :           if (!((
   24730              : #line 14534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24731              : (DImode == DImode
   24732              :    ? CONST_INT_P (operands[2])
   24733              :      && (UINTVAL (operands[2]) & GET_MODE_MASK (SImode)) == 0
   24734              :      && !ix86_endbr_immediate_operand (operands[2], VOIDmode)
   24735              :    : CONST_WIDE_INT_P (operands[2])
   24736              :      && CONST_WIDE_INT_NUNITS (operands[2]) == 2
   24737              :      && CONST_WIDE_INT_ELT (operands[2], 0) == 0
   24738              :      && !ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[2],
   24739              :                                                                     1)),
   24740              :                                        VOIDmode)) && 
   24741              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24742              : (!TARGET_64BIT)) && 
   24743              : #line 14545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24744              : ( reload_completed)))
   24745              :             return NULL;
   24746              :           return gen_split_491 (insn, operands);
   24747              : 
   24748              :         case 7:
   24749              :           if (!((
   24750              : #line 14534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24751              : (TImode == DImode
   24752              :    ? CONST_INT_P (operands[2])
   24753              :      && (UINTVAL (operands[2]) & GET_MODE_MASK (SImode)) == 0
   24754              :      && !ix86_endbr_immediate_operand (operands[2], VOIDmode)
   24755              :    : CONST_WIDE_INT_P (operands[2])
   24756              :      && CONST_WIDE_INT_NUNITS (operands[2]) == 2
   24757              :      && CONST_WIDE_INT_ELT (operands[2], 0) == 0
   24758              :      && !ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[2],
   24759              :                                                                     1)),
   24760              :                                        VOIDmode)) && 
   24761              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24762              : (TARGET_64BIT)) && 
   24763              : #line 14545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24764              : ( reload_completed)))
   24765              :             return NULL;
   24766              :           return gen_split_494 (insn, operands);
   24767              : 
   24768              :         default:
   24769              :           return NULL;
   24770              :         }
   24771              : 
   24772              :     case LSHIFTRT:
   24773              :       x7 = XEXP (x3, 1);
   24774              :       if (GET_CODE (x7) != ASHIFT)
   24775              :         return NULL;
   24776              :       x6 = XEXP (x4, 0);
   24777              :       operands[4] = x6;
   24778              :       x5 = XEXP (x4, 1);
   24779              :       operands[2] = x5;
   24780              :       switch (pattern841 (x3))
   24781              :         {
   24782              :         case 0:
   24783              :           if (!(
   24784              : #line 17196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24785              : (TARGET_64BIT && TARGET_APX_NF
   24786              :    && INTVAL (operands[3]) == 64 - INTVAL (operands[2])
   24787              :    && ix86_pre_reload_split ()) && 
   24788              : #line 17200 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24789              : ( 1)))
   24790              :             return NULL;
   24791              :           return gen_split_615 (insn, operands);
   24792              : 
   24793              :         case 1:
   24794              :           if (!(
   24795              : #line 17427 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24796              : (TARGET_APX_NF
   24797              :    && INTVAL (operands[3]) == 32 - INTVAL (operands[2])
   24798              :    && ix86_pre_reload_split ()) && 
   24799              : #line 17431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24800              : ( 1)))
   24801              :             return NULL;
   24802              :           return gen_split_619 (insn, operands);
   24803              : 
   24804              :         default:
   24805              :           return NULL;
   24806              :         }
   24807              : 
   24808              :     default:
   24809              :       return NULL;
   24810              :     }
   24811              : }
   24812              : 
   24813              :  rtx_insn *
   24814              : split_19 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
   24815              : {
   24816              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   24817              :   rtx x2, x3;
   24818              :   rtx_insn *res ATTRIBUTE_UNUSED;
   24819              :   x2 = XVECEXP (x1, 0, 0);
   24820              :   switch (pattern1186 (x2))
   24821              :     {
   24822              :     case 0:
   24823              :       switch (GET_MODE (operands[0]))
   24824              :         {
   24825              :         case E_DImode:
   24826              :           x3 = XEXP (x2, 1);
   24827              :           if (GET_MODE (x3) != E_DImode)
   24828              :             return NULL;
   24829              :           if (nonimmediate_operand (operands[0], E_DImode)
   24830              :               && nonimmediate_operand (operands[1], E_DImode)
   24831              :               && x86_64_hilo_general_operand (operands[2], E_DImode)
   24832              :               && ((
   24833              : #line 6516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24834              : (ix86_binary_operator_ok (PLUS, DImode, operands, TARGET_APX_NDD)) && 
   24835              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24836              : (!TARGET_64BIT)) && 
   24837              : #line 6518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24838              : ( reload_completed)))
   24839              :             return gen_split_104 (insn, operands);
   24840              :           if (!register_operand (operands[0], E_DImode)
   24841              :               || !register_operand (operands[1], E_DImode)
   24842              :               || !x86_64_nonmemory_operand (operands[2], E_DImode))
   24843              :             return NULL;
   24844              :           if ((
   24845              : #line 7098 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24846              : (reload_completed && ix86_avoid_lea_for_add (insn, operands)) && 
   24847              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24848              : (TARGET_64BIT)))
   24849              :             return gen_split_129 (insn, operands);
   24850              :           if (!(
   24851              : #line 7124 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24852              : (reload_completed && ix86_lea_for_add_ok (insn, operands)) && 
   24853              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24854              : (TARGET_64BIT)))
   24855              :             return NULL;
   24856              :           return gen_split_134 (insn, operands);
   24857              : 
   24858              :         case E_TImode:
   24859              :           x3 = XEXP (x2, 1);
   24860              :           if (pattern566 (x3, 
   24861              : E_TImode) != 0
   24862              :               || !((
   24863              : #line 6516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24864              : (ix86_binary_operator_ok (PLUS, TImode, operands, TARGET_APX_NDD)) && 
   24865              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24866              : (TARGET_64BIT)) && 
   24867              : #line 6518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24868              : ( reload_completed)))
   24869              :             return NULL;
   24870              :           return gen_split_105 (insn, operands);
   24871              : 
   24872              :         case E_SImode:
   24873              :           x3 = XEXP (x2, 1);
   24874              :           if (pattern1434 (x3, 
   24875              : E_SImode) != 0)
   24876              :             return NULL;
   24877              :           if (
   24878              : #line 7098 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24879              : (reload_completed && ix86_avoid_lea_for_add (insn, operands)))
   24880              :             return gen_split_128 (insn, operands);
   24881              :           if (!
   24882              : #line 7124 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24883              : (reload_completed && ix86_lea_for_add_ok (insn, operands)))
   24884              :             return NULL;
   24885              :           return gen_split_133 (insn, operands);
   24886              : 
   24887              :         case E_QImode:
   24888              :           x3 = XEXP (x2, 1);
   24889              :           if (pattern1343 (x3, 
   24890              : E_QImode) != 0
   24891              :               || !
   24892              : #line 7124 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24893              : (reload_completed && ix86_lea_for_add_ok (insn, operands)))
   24894              :             return NULL;
   24895              :           return gen_split_131 (insn, operands);
   24896              : 
   24897              :         case E_HImode:
   24898              :           if (!register_operand (operands[0], E_HImode))
   24899              :             return NULL;
   24900              :           x3 = XEXP (x2, 1);
   24901              :           if (GET_MODE (x3) != E_HImode
   24902              :               || !register_operand (operands[1], E_HImode)
   24903              :               || !nonmemory_operand (operands[2], E_HImode)
   24904              :               || !
   24905              : #line 7124 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24906              : (reload_completed && ix86_lea_for_add_ok (insn, operands)))
   24907              :             return NULL;
   24908              :           return gen_split_132 (insn, operands);
   24909              : 
   24910              :         default:
   24911              :           return NULL;
   24912              :         }
   24913              : 
   24914              :     case 1:
   24915              :       if (!(
   24916              : #line 6997 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24917              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) && 
   24918              : #line 7020 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24919              : ( reload_completed
   24920              :    && !(rtx_equal_p (operands[0], operands[1])
   24921              :         || rtx_equal_p (operands[0], operands[2])))))
   24922              :         return NULL;
   24923              :       return gen_split_120 (insn, operands);
   24924              : 
   24925              :     case 2:
   24926              :       if (!(
   24927              : #line 6997 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24928              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) && 
   24929              : #line 7020 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24930              : ( reload_completed
   24931              :    && !(rtx_equal_p (operands[0], operands[1])
   24932              :         || rtx_equal_p (operands[0], operands[2])))))
   24933              :         return NULL;
   24934              :       return gen_split_121 (insn, operands);
   24935              : 
   24936              :     default:
   24937              :       return NULL;
   24938              :     }
   24939              : }
   24940              : 
   24941              :  rtx_insn *
   24942              : split_25 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
   24943              : {
   24944              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   24945              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   24946              :   rtx x10;
   24947              :   rtx_insn *res ATTRIBUTE_UNUSED;
   24948              :   x2 = XVECEXP (x1, 0, 1);
   24949              :   if (pattern236 (x2, 
   24950              : E_CCmode, 
   24951              : 17) != 0)
   24952              :     return NULL;
   24953              :   x3 = XVECEXP (x1, 0, 0);
   24954              :   x4 = XEXP (x3, 1);
   24955              :   x5 = XEXP (x4, 0);
   24956              :   switch (GET_CODE (x5))
   24957              :     {
   24958              :     case CONST_INT:
   24959              :     case CONST_WIDE_INT:
   24960              :     case CONST_POLY_INT:
   24961              :     case CONST_FIXED:
   24962              :     case CONST_DOUBLE:
   24963              :     case CONST_VECTOR:
   24964              :     case CONST:
   24965              :     case REG:
   24966              :     case SUBREG:
   24967              :     case MEM:
   24968              :     case LABEL_REF:
   24969              :     case SYMBOL_REF:
   24970              :     case HIGH:
   24971              :       operands[1] = x5;
   24972              :       switch (pattern1186 (x3))
   24973              :         {
   24974              :         case 0:
   24975              :           switch (GET_MODE (operands[0]))
   24976              :             {
   24977              :             case E_DImode:
   24978              :               if (nonimmediate_operand (operands[0], E_DImode)
   24979              :                   && GET_MODE (x4) == E_DImode
   24980              :                   && nonimmediate_operand (operands[1], E_DImode))
   24981              :                 {
   24982              :                   if (x86_64_hilo_general_operand (operands[2], E_DImode)
   24983              :                       && ((
   24984              : #line 12843 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24985              : (ix86_binary_operator_ok (AND, DImode, operands, TARGET_APX_NDD)) && 
   24986              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24987              : (!TARGET_64BIT)) && 
   24988              : #line 12845 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24989              : ( reload_completed)))
   24990              :                     return gen_split_289 (insn, operands);
   24991              :                   if (const_int_operand (operands[2], E_DImode)
   24992              :                       && (
   24993              : #line 12918 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24994              : (TARGET_64BIT && TARGET_USE_BT
   24995              :    && ix86_binary_operator_ok (AND, DImode, operands)
   24996              :    && IN_RANGE (exact_log2 (~INTVAL (operands[2])), 31, 63)) && 
   24997              : #line 12922 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24998              : ( reload_completed)))
   24999              :                     return gen_split_291 (insn, operands);
   25000              :                 }
   25001              :               break;
   25002              : 
   25003              :             case E_TImode:
   25004              :               if (pattern566 (x4, 
   25005              : E_TImode) == 0
   25006              :                   && ((
   25007              : #line 12843 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25008              : (ix86_binary_operator_ok (AND, TImode, operands, TARGET_APX_NDD)) && 
   25009              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25010              : (TARGET_64BIT)) && 
   25011              : #line 12845 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25012              : ( reload_completed)))
   25013              :                 return gen_split_290 (insn, operands);
   25014              :               break;
   25015              : 
   25016              :             case E_HImode:
   25017              :               if (pattern1365 (x4, 
   25018              : E_HImode) == 0
   25019              :                   && 
   25020              : #line 13161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25021              : (reload_completed
   25022              :    && (!REG_P (operands[1])
   25023              :        || REGNO (operands[0]) != REGNO (operands[1]))
   25024              :    && (UINTVAL (operands[2]) == GET_MODE_MASK (SImode)
   25025              :        || UINTVAL (operands[2]) == GET_MODE_MASK (HImode)
   25026              :        || UINTVAL (operands[2]) == GET_MODE_MASK (QImode))))
   25027              :                 return gen_split_317 (insn, operands);
   25028              :               break;
   25029              : 
   25030              :             case E_SImode:
   25031              :               if (pattern1365 (x4, 
   25032              : E_SImode) == 0
   25033              :                   && 
   25034              : #line 13161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25035              : (reload_completed
   25036              :    && (!REG_P (operands[1])
   25037              :        || REGNO (operands[0]) != REGNO (operands[1]))
   25038              :    && (UINTVAL (operands[2]) == GET_MODE_MASK (SImode)
   25039              :        || UINTVAL (operands[2]) == GET_MODE_MASK (HImode)
   25040              :        || UINTVAL (operands[2]) == GET_MODE_MASK (QImode))))
   25041              :                 return gen_split_318 (insn, operands);
   25042              :               break;
   25043              : 
   25044              :             default:
   25045              :               break;
   25046              :             }
   25047              :           break;
   25048              : 
   25049              :         case 1:
   25050              :           if ((
   25051              : #line 13083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25052              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) && 
   25053              : #line 13087 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25054              : ( reload_completed
   25055              :    && !(rtx_equal_p (operands[0], operands[1])
   25056              :         || rtx_equal_p (operands[0], operands[2])))))
   25057              :             return gen_split_293 (insn, operands);
   25058              :           break;
   25059              : 
   25060              :         case 2:
   25061              :           if ((
   25062              : #line 13083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25063              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) && 
   25064              : #line 13087 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25065              : ( reload_completed
   25066              :    && !(rtx_equal_p (operands[0], operands[1])
   25067              :         || rtx_equal_p (operands[0], operands[2])))))
   25068              :             return gen_split_296 (insn, operands);
   25069              :           break;
   25070              : 
   25071              :         default:
   25072              :           break;
   25073              :         }
   25074              :       x6 = XEXP (x4, 1);
   25075              :       if (GET_CODE (x6) == CONST_INT)
   25076              :         {
   25077              :           res = split_21 (x1, insn);
   25078              :           if (res != NULL_RTX)
   25079              :             return res;
   25080              :         }
   25081              :       if (GET_CODE (x5) == SUBREG
   25082              :           && known_eq (SUBREG_BYTE (x5), 0))
   25083              :         {
   25084              :           res = split_22 (x1, insn);
   25085              :           if (res != NULL_RTX)
   25086              :             return res;
   25087              :         }
   25088              :       if (GET_CODE (x6) != CONST_INT)
   25089              :         return NULL;
   25090              :       operands[2] = x6;
   25091              :       if (const_int_operand (operands[2], E_DImode))
   25092              :         {
   25093              :           x7 = XEXP (x3, 0);
   25094              :           operands[0] = x7;
   25095              :           if (register_operand (operands[0], E_DImode)
   25096              :               && GET_MODE (x4) == E_DImode)
   25097              :             {
   25098              :               operands[1] = x5;
   25099              :               if (nonimmediate_operand (operands[1], E_DImode)
   25100              :                   && (
   25101              : #line 13161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25102              : (reload_completed
   25103              :    && (!REG_P (operands[1])
   25104              :        || REGNO (operands[0]) != REGNO (operands[1]))
   25105              :    && (UINTVAL (operands[2]) == GET_MODE_MASK (SImode)
   25106              :        || UINTVAL (operands[2]) == GET_MODE_MASK (HImode)
   25107              :        || UINTVAL (operands[2]) == GET_MODE_MASK (QImode))) && 
   25108              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25109              : (TARGET_64BIT)))
   25110              :                 return gen_split_319 (insn, operands);
   25111              :             }
   25112              :         }
   25113              :       x7 = XEXP (x3, 0);
   25114              :       operands[0] = x7;
   25115              :       if (GET_MODE (x4) != E_DImode)
   25116              :         return NULL;
   25117              :       if (rtx_equal_p (x5, operands[0]))
   25118              :         {
   25119              :           switch (XWINT (x6, 0))
   25120              :             {
   25121              :             case -65536L:
   25122              :               if (register_operand (operands[0], E_DImode)
   25123              :                   && (
   25124              : #line 13196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25125              : ((TARGET_FAST_PREFIX && !TARGET_PARTIAL_REG_STALL)
   25126              :     || optimize_function_for_size_p (cfun)) && 
   25127              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25128              : (TARGET_64BIT)))
   25129              :                 return gen_split_321 (insn, operands);
   25130              :               break;
   25131              : 
   25132              :             case -256L:
   25133              :               if (any_QIreg_operand (operands[0], E_DImode)
   25134              :                   && (
   25135              : #line 13206 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25136              : ((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   25137              :    && reload_completed) && 
   25138              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25139              : (TARGET_64BIT)))
   25140              :                 return gen_split_324 (insn, operands);
   25141              :               break;
   25142              : 
   25143              :             case -65281L:
   25144              :               if (QIreg_operand (operands[0], E_DImode)
   25145              :                   && (
   25146              : #line 13216 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25147              : ((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   25148              :    && reload_completed) && 
   25149              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25150              : (TARGET_64BIT)))
   25151              :                 return gen_split_327 (insn, operands);
   25152              :               break;
   25153              : 
   25154              :             default:
   25155              :               break;
   25156              :             }
   25157              :         }
   25158              :       operands[1] = x5;
   25159              :       if (register_operand (operands[1], E_DImode)
   25160              :           && QIreg_operand (operands[0], E_DImode))
   25161              :         {
   25162              :           operands[2] = x6;
   25163              :           if (const_int_operand (operands[2], E_DImode)
   25164              :               && (
   25165              : #line 13581 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25166              : (reload_completed
   25167              :     && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   25168              :     && !(~INTVAL (operands[2]) & ~(255 << 8))
   25169              :     && !(TARGET_APX_NDD && REGNO (operands[0]) != REGNO (operands[1]))) && 
   25170              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25171              : (TARGET_64BIT)))
   25172              :             return gen_split_375 (insn, operands);
   25173              :         }
   25174              :       if (general_operand (operands[1], E_DImode)
   25175              :           && any_QIreg_operand (operands[0], E_DImode))
   25176              :         {
   25177              :           operands[2] = x6;
   25178              :           if (const_int_operand (operands[2], E_DImode)
   25179              :               && (
   25180              : #line 13610 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25181              : (reload_completed
   25182              :     && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   25183              :     && !(~INTVAL (operands[2]) & ~255)
   25184              :     && !(INTVAL (operands[2]) & 128)
   25185              :     && !(TARGET_APX_NDD
   25186              :          && !rtx_equal_p (operands[0], operands[1]))) && 
   25187              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25188              : (TARGET_64BIT)))
   25189              :             return gen_split_378 (insn, operands);
   25190              :         }
   25191              :       if (GET_CODE (x5) != SUBREG
   25192              :           || maybe_ne (SUBREG_BYTE (x5), 0)
   25193              :           || GET_MODE (x5) != E_DImode
   25194              :           || XWINT (x6, 0) != 63L
   25195              :           || !register_operand (operands[0], E_DImode))
   25196              :         return NULL;
   25197              :       x8 = XEXP (x5, 0);
   25198              :       if (GET_MODE (x8) != E_SImode)
   25199              :         return NULL;
   25200              :       switch (GET_CODE (x8))
   25201              :         {
   25202              :         case CTZ:
   25203              :           x9 = XEXP (x8, 0);
   25204              :           operands[1] = x9;
   25205              :           if (!nonimmediate_operand (operands[1], E_SImode)
   25206              :               || !(
   25207              : #line 21489 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25208              : (TARGET_BMI && TARGET_64BIT) && 
   25209              : #line 21491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25210              : ( (TARGET_AVOID_FALSE_DEP_FOR_BMI || TARGET_AVOID_FALSE_DEP_FOR_TZCNT)
   25211              :    && epilogue_completed
   25212              :    && optimize_function_for_speed_p (cfun)
   25213              :    && !reg_mentioned_p (operands[0], operands[1]))))
   25214              :             return NULL;
   25215              :           return gen_split_881 (insn, operands);
   25216              : 
   25217              :         case CLZ:
   25218              :           x9 = XEXP (x8, 0);
   25219              :           operands[1] = x9;
   25220              :           if (!nonimmediate_operand (operands[1], E_SImode)
   25221              :               || !(
   25222              : #line 21930 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25223              : (TARGET_LZCNT && TARGET_64BIT) && 
   25224              : #line 21932 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25225              : ( TARGET_AVOID_FALSE_DEP_FOR_BMI && epilogue_completed
   25226              :    && optimize_function_for_speed_p (cfun)
   25227              :    && !reg_mentioned_p (operands[0], operands[1]))))
   25228              :             return NULL;
   25229              :           return gen_split_898 (insn, operands);
   25230              : 
   25231              :         case POPCOUNT:
   25232              :           x9 = XEXP (x8, 0);
   25233              :           operands[1] = x9;
   25234              :           if (!nonimmediate_operand (operands[1], E_SImode)
   25235              :               || !(
   25236              : #line 22757 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25237              : (TARGET_POPCNT && TARGET_64BIT) && 
   25238              : #line 22765 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25239              : ( TARGET_AVOID_FALSE_DEP_FOR_BMI && epilogue_completed
   25240              :    && optimize_function_for_speed_p (cfun)
   25241              :    && !reg_mentioned_p (operands[0], operands[1]))))
   25242              :             return NULL;
   25243              :           return gen_split_922 (insn, operands);
   25244              : 
   25245              :         default:
   25246              :           return NULL;
   25247              :         }
   25248              : 
   25249              :     case NOT:
   25250              :       x7 = XEXP (x3, 0);
   25251              :       operands[0] = x7;
   25252              :       x8 = XEXP (x5, 0);
   25253              :       switch (GET_CODE (x8))
   25254              :         {
   25255              :         case REG:
   25256              :         case SUBREG:
   25257              :           operands[1] = x8;
   25258              :           x6 = XEXP (x4, 1);
   25259              :           operands[2] = x6;
   25260              :           switch (GET_MODE (operands[0]))
   25261              :             {
   25262              :             case E_DImode:
   25263              :               if (pattern1444 (x4, 
   25264              : E_DImode) == 0)
   25265              :                 {
   25266              :                   if (((
   25267              : #line 13632 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25268              : (TARGET_BMI) && 
   25269              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25270              : (!TARGET_64BIT)) && 
   25271              : #line 13634 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25272              : ( reload_completed)))
   25273              :                     return gen_split_379 (insn, operands);
   25274              :                   if (((
   25275              : #line 13650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25276              : (!TARGET_BMI
   25277              :    && ix86_pre_reload_split ()) && 
   25278              : #line 1196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25279              : (!TARGET_64BIT)) && 
   25280              : #line 13653 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25281              : ( 1)))
   25282              :                     return gen_split_381 (insn, operands);
   25283              :                 }
   25284              :               break;
   25285              : 
   25286              :             case E_TImode:
   25287              :               if (pattern1444 (x4, 
   25288              : E_TImode) == 0)
   25289              :                 {
   25290              :                   if (((
   25291              : #line 13632 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25292              : (TARGET_BMI) && 
   25293              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25294              : (TARGET_64BIT)) && 
   25295              : #line 13634 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25296              : ( reload_completed)))
   25297              :                     return gen_split_380 (insn, operands);
   25298              :                   if (((
   25299              : #line 13650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25300              : (!TARGET_BMI
   25301              :    && ix86_pre_reload_split ()) && 
   25302              : #line 1197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25303              : (TARGET_64BIT)) && 
   25304              : #line 13653 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25305              : ( 1)))
   25306              :                     return gen_split_382 (insn, operands);
   25307              :                 }
   25308              :               break;
   25309              : 
   25310              :             case E_SImode:
   25311              :               if (pattern1444 (x4, 
   25312              : E_SImode) == 0
   25313              :                   && 
   25314              : #line 13718 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25315              : (reload_completed
   25316              :    && optimize_insn_for_size_p () && optimize_size > 1
   25317              :    && REGNO (operands[0]) == REGNO (operands[1])
   25318              :    && LEGACY_INT_REG_P (operands[0])
   25319              :    && !REX_INT_REG_P (operands[2])
   25320              :    && !reg_overlap_mentioned_p (operands[0], operands[2])))
   25321              :                 return gen_split_383 (insn, operands);
   25322              :               break;
   25323              : 
   25324              :             default:
   25325              :               break;
   25326              :             }
   25327              :           if (GET_CODE (x8) != SUBREG
   25328              :               || maybe_ne (SUBREG_BYTE (x8), 0)
   25329              :               || GET_MODE (x8) != E_QImode)
   25330              :             return NULL;
   25331              :           x9 = XEXP (x8, 0);
   25332              :           if (GET_CODE (x9) != LSHIFTRT
   25333              :               || x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   25334              :             return NULL;
   25335              :           switch (pattern1539 (x4))
   25336              :             {
   25337              :             case 0:
   25338              :               if (!(
   25339              : #line 19704 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25340              : (TARGET_USE_BT && ix86_pre_reload_split ()) && 
   25341              : #line 19706 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25342              : ( 1)))
   25343              :                 return NULL;
   25344              :               return gen_split_844 (insn, operands);
   25345              : 
   25346              :             case 1:
   25347              :               if (!((
   25348              : #line 19704 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25349              : (TARGET_USE_BT && ix86_pre_reload_split ()) && 
   25350              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25351              : (TARGET_64BIT)) && 
   25352              : #line 19706 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25353              : ( 1)))
   25354              :                 return NULL;
   25355              :               return gen_split_845 (insn, operands);
   25356              : 
   25357              :             default:
   25358              :               return NULL;
   25359              :             }
   25360              : 
   25361              :         case LSHIFTRT:
   25362              :           x6 = XEXP (x4, 1);
   25363              :           if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   25364              :             return NULL;
   25365              :           switch (pattern1255 (x4))
   25366              :             {
   25367              :             case 0:
   25368              :               if (!(
   25369              : #line 19722 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25370              : (TARGET_USE_BT && ix86_pre_reload_split ()) && 
   25371              : #line 19724 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25372              : ( 1)))
   25373              :                 return NULL;
   25374              :               return gen_split_846 (insn, operands);
   25375              : 
   25376              :             case 1:
   25377              :               if (!((
   25378              : #line 19722 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25379              : (TARGET_USE_BT && ix86_pre_reload_split ()) && 
   25380              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25381              : (TARGET_64BIT)) && 
   25382              : #line 19724 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25383              : ( 1)))
   25384              :                 return NULL;
   25385              :               return gen_split_847 (insn, operands);
   25386              : 
   25387              :             default:
   25388              :               return NULL;
   25389              :             }
   25390              : 
   25391              :         default:
   25392              :           return NULL;
   25393              :         }
   25394              : 
   25395              :     case ROTATE:
   25396              :       switch (pattern1068 (x3, 
   25397              : -2))
   25398              :         {
   25399              :         case 0:
   25400              :           if (!(
   25401              : #line 19252 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25402              : (TARGET_USE_BT
   25403              :    && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (SImode)-1))
   25404              :       == GET_MODE_BITSIZE (SImode)-1
   25405              :    && ix86_pre_reload_split ()) && 
   25406              : #line 19257 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25407              : ( 1)))
   25408              :             return NULL;
   25409              :           return gen_split_810 (insn, operands);
   25410              : 
   25411              :         case 1:
   25412              :           if (!((
   25413              : #line 19252 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25414              : (TARGET_USE_BT
   25415              :    && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (DImode)-1))
   25416              :       == GET_MODE_BITSIZE (DImode)-1
   25417              :    && ix86_pre_reload_split ()) && 
   25418              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25419              : (TARGET_64BIT)) && 
   25420              : #line 19257 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25421              : ( 1)))
   25422              :             return NULL;
   25423              :           return gen_split_811 (insn, operands);
   25424              : 
   25425              :         case 2:
   25426              :           if (!(
   25427              : #line 19280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25428              : (TARGET_USE_BT
   25429              :    && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (SImode)-1))
   25430              :       == GET_MODE_BITSIZE (SImode)-1
   25431              :    && ix86_pre_reload_split ()) && 
   25432              : #line 19285 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25433              : ( 1)))
   25434              :             return NULL;
   25435              :           return gen_split_812 (insn, operands);
   25436              : 
   25437              :         case 3:
   25438              :           if (!((
   25439              : #line 19280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25440              : (TARGET_USE_BT
   25441              :    && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (DImode)-1))
   25442              :       == GET_MODE_BITSIZE (DImode)-1
   25443              :    && ix86_pre_reload_split ()) && 
   25444              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25445              : (TARGET_64BIT)) && 
   25446              : #line 19285 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25447              : ( 1)))
   25448              :             return NULL;
   25449              :           return gen_split_813 (insn, operands);
   25450              : 
   25451              :         default:
   25452              :           return NULL;
   25453              :         }
   25454              : 
   25455              :     case NEG:
   25456              :       switch (pattern952 (x3))
   25457              :         {
   25458              :         case 0:
   25459              :           if (!(
   25460              : #line 22135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25461              : (TARGET_BMI) && 
   25462              : #line 22137 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25463              : ( TARGET_AVOID_FALSE_DEP_FOR_BLS
   25464              :    && epilogue_completed
   25465              :    && optimize_function_for_speed_p (cfun)
   25466              :    && !reg_mentioned_p (operands[0], operands[1]))))
   25467              :             return NULL;
   25468              :           return gen_split_908 (insn, operands);
   25469              : 
   25470              :         case 1:
   25471              :           if (!((
   25472              : #line 22135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25473              : (TARGET_BMI) && 
   25474              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25475              : (TARGET_64BIT)) && 
   25476              : #line 22137 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25477              : ( TARGET_AVOID_FALSE_DEP_FOR_BLS
   25478              :    && epilogue_completed
   25479              :    && optimize_function_for_speed_p (cfun)
   25480              :    && !reg_mentioned_p (operands[0], operands[1]))))
   25481              :             return NULL;
   25482              :           return gen_split_909 (insn, operands);
   25483              : 
   25484              :         default:
   25485              :           return NULL;
   25486              :         }
   25487              : 
   25488              :     case PLUS:
   25489              :       x10 = XEXP (x5, 1);
   25490              :       if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + -1])
   25491              :         return NULL;
   25492              :       switch (pattern952 (x3))
   25493              :         {
   25494              :         case 0:
   25495              :           if (!(
   25496              : #line 22280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25497              : (TARGET_BMI) && 
   25498              : #line 22282 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25499              : ( TARGET_AVOID_FALSE_DEP_FOR_BLS
   25500              :    && epilogue_completed
   25501              :    && optimize_function_for_speed_p (cfun)
   25502              :    && !reg_mentioned_p (operands[0], operands[1]))))
   25503              :             return NULL;
   25504              :           return gen_split_914 (insn, operands);
   25505              : 
   25506              :         case 1:
   25507              :           if (!((
   25508              : #line 22280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25509              : (TARGET_BMI) && 
   25510              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25511              : (TARGET_64BIT)) && 
   25512              : #line 22282 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25513              : ( TARGET_AVOID_FALSE_DEP_FOR_BLS
   25514              :    && epilogue_completed
   25515              :    && optimize_function_for_speed_p (cfun)
   25516              :    && !reg_mentioned_p (operands[0], operands[1]))))
   25517              :             return NULL;
   25518              :           return gen_split_915 (insn, operands);
   25519              : 
   25520              :         default:
   25521              :           return NULL;
   25522              :         }
   25523              : 
   25524              :     default:
   25525              :       return NULL;
   25526              :     }
   25527              : }
   25528              : 
   25529              :  rtx_insn *
   25530              : split_36 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
   25531              : {
   25532              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   25533              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   25534              :   rtx x10, x11, x12, x13, x14, x15, x16, x17;
   25535              :   rtx x18, x19, x20, x21;
   25536              :   rtx_insn *res ATTRIBUTE_UNUSED;
   25537              :   x2 = XVECEXP (x1, 0, 0);
   25538              :   switch (GET_CODE (x2))
   25539              :     {
   25540              :     case SET:
   25541              :       x3 = XEXP (x2, 1);
   25542              :       switch (GET_CODE (x3))
   25543              :         {
   25544              :         case CONST_INT:
   25545              :         case CONST_DOUBLE:
   25546              :         case CONST_VECTOR:
   25547              :           operands[1] = x3;
   25548              :           if (pattern344 (x1) == 0)
   25549              :             {
   25550              :               switch (GET_MODE (operands[0]))
   25551              :                 {
   25552              :                 case E_HImode:
   25553              :                   if (memory_operand (operands[0], E_HImode)
   25554              :                       && const0_operand (operands[1], E_HImode)
   25555              :                       && (
   25556              : #line 2441 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25557              : (reload_completed) && 
   25558              : #line 2443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25559              : ( !(optimize_insn_for_size_p () && optimize_size > 1))))
   25560              :                     return gen_split_14 (insn, operands);
   25561              :                   if (nonimmediate_operand (operands[0], E_HImode)
   25562              :                       && constm1_operand (operands[1], E_HImode)
   25563              :                       && (
   25564              : #line 2456 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25565              : (reload_completed) && 
   25566              : #line 2458 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25567              : ( !(optimize_insn_for_size_p () && optimize_size > 1))))
   25568              :                     return gen_split_17 (insn, operands);
   25569              :                   break;
   25570              : 
   25571              :                 case E_SImode:
   25572              :                   if (memory_operand (operands[0], E_SImode)
   25573              :                       && const0_operand (operands[1], E_SImode)
   25574              :                       && (
   25575              : #line 2441 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25576              : (reload_completed) && 
   25577              : #line 2443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25578              : ( !(optimize_insn_for_size_p () && optimize_size > 1))))
   25579              :                     return gen_split_15 (insn, operands);
   25580              :                   if (nonimmediate_operand (operands[0], E_SImode)
   25581              :                       && constm1_operand (operands[1], E_SImode)
   25582              :                       && (
   25583              : #line 2456 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25584              : (reload_completed) && 
   25585              : #line 2458 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25586              : ( !(optimize_insn_for_size_p () && optimize_size > 1))))
   25587              :                     return gen_split_18 (insn, operands);
   25588              :                   break;
   25589              : 
   25590              :                 case E_DImode:
   25591              :                   if (memory_operand (operands[0], E_DImode)
   25592              :                       && const0_operand (operands[1], E_DImode)
   25593              :                       && ((
   25594              : #line 2441 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25595              : (reload_completed) && 
   25596              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25597              : (TARGET_64BIT)) && 
   25598              : #line 2443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25599              : ( !(optimize_insn_for_size_p () && optimize_size > 1))))
   25600              :                     return gen_split_16 (insn, operands);
   25601              :                   if (nonimmediate_operand (operands[0], E_DImode)
   25602              :                       && constm1_operand (operands[1], E_DImode)
   25603              :                       && ((
   25604              : #line 2456 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25605              : (reload_completed) && 
   25606              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25607              : (TARGET_64BIT)) && 
   25608              : #line 2458 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25609              : ( !(optimize_insn_for_size_p () && optimize_size > 1))))
   25610              :                     return gen_split_19 (insn, operands);
   25611              :                   break;
   25612              : 
   25613              :                 default:
   25614              :                   break;
   25615              :                 }
   25616              :             }
   25617              :           if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   25618              :             return NULL;
   25619              :           x4 = XEXP (x2, 0);
   25620              :           if (GET_CODE (x4) != ZERO_EXTRACT
   25621              :               || GET_MODE (x4) != E_HImode)
   25622              :             return NULL;
   25623              :           x5 = XEXP (x4, 1);
   25624              :           if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   25625              :             return NULL;
   25626              :           x6 = XVECEXP (x1, 0, 1);
   25627              :           if (pattern236 (x6, 
   25628              : E_CCmode, 
   25629              : 17) != 0)
   25630              :             return NULL;
   25631              :           x7 = XEXP (x4, 0);
   25632              :           operands[0] = x7;
   25633              :           x8 = XEXP (x4, 2);
   25634              :           operands[1] = x8;
   25635              :           if (!register_operand (operands[1], E_QImode))
   25636              :             return NULL;
   25637              :           switch (GET_MODE (operands[0]))
   25638              :             {
   25639              :             case E_QImode:
   25640              :               if (nonimmediate_operand (operands[0], E_QImode)
   25641              :                   && (
   25642              : #line 19323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25643              : (TARGET_USE_BT && ix86_pre_reload_split ()) && 
   25644              : #line 19325 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25645              : ( MEM_P (operands[0]))))
   25646              :                 return gen_split_816 (insn, operands);
   25647              :               if (!register_operand (operands[0], E_QImode)
   25648              :                   || !
   25649              : #line 19347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25650              : (TARGET_USE_BT && ix86_pre_reload_split ()))
   25651              :                 return NULL;
   25652              :               return gen_split_818 (insn, operands);
   25653              : 
   25654              :             case E_HImode:
   25655              :               if (nonimmediate_operand (operands[0], E_HImode)
   25656              :                   && (
   25657              : #line 19323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25658              : (TARGET_USE_BT && ix86_pre_reload_split ()) && 
   25659              : #line 19325 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25660              : ( MEM_P (operands[0]))))
   25661              :                 return gen_split_817 (insn, operands);
   25662              :               if (!register_operand (operands[0], E_HImode)
   25663              :                   || !
   25664              : #line 19347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25665              : (TARGET_USE_BT && ix86_pre_reload_split ()))
   25666              :                 return NULL;
   25667              :               return gen_split_819 (insn, operands);
   25668              : 
   25669              :             default:
   25670              :               return NULL;
   25671              :             }
   25672              : 
   25673              :         case ASHIFTRT:
   25674              :         case LSHIFTRT:
   25675              :         case SIGN_EXTRACT:
   25676              :         case ZERO_EXTRACT:
   25677              :           x6 = XVECEXP (x1, 0, 1);
   25678              :           if (pattern236 (x6, 
   25679              : E_CCmode, 
   25680              : 17) != 0)
   25681              :             return NULL;
   25682              :           switch (GET_CODE (x3))
   25683              :             {
   25684              :             case SIGN_EXTRACT:
   25685              :               res = split_15 (x1, insn);
   25686              :               if (res != NULL_RTX)
   25687              :                 return res;
   25688              :               break;
   25689              : 
   25690              :             case LSHIFTRT:
   25691              :               res = split_16 (x1, insn);
   25692              :               if (res != NULL_RTX)
   25693              :                 return res;
   25694              :               break;
   25695              : 
   25696              :             case ASHIFTRT:
   25697              :               res = split_17 (x1, insn);
   25698              :               if (res != NULL_RTX)
   25699              :                 return res;
   25700              :               break;
   25701              : 
   25702              :             case ZERO_EXTRACT:
   25703              :               res = split_18 (x1, insn);
   25704              :               if (res != NULL_RTX)
   25705              :                 return res;
   25706              :               break;
   25707              : 
   25708              :             default:
   25709              :               break;
   25710              :             }
   25711              :           x4 = XEXP (x2, 0);
   25712              :           if (GET_CODE (x4) != ZERO_EXTRACT)
   25713              :             return NULL;
   25714              :           x5 = XEXP (x4, 1);
   25715              :           if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
   25716              :             return NULL;
   25717              :           x8 = XEXP (x4, 2);
   25718              :           if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
   25719              :             return NULL;
   25720              :           x7 = XEXP (x4, 0);
   25721              :           operands[0] = x7;
   25722              :           if (!int248_register_operand (operands[0], E_VOIDmode))
   25723              :             return NULL;
   25724              :           operands[3] = x3;
   25725              :           x9 = XEXP (x3, 0);
   25726              :           switch (GET_CODE (x9))
   25727              :             {
   25728              :             case AND:
   25729              :               switch (pattern1497 (x2))
   25730              :                 {
   25731              :                 case 0:
   25732              :                   if (!(
   25733              : #line 13548 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25734              : (GET_MODE (operands[1]) == GET_MODE (operands[2])) && 
   25735              : #line 13552 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25736              : ( reload_completed
   25737              :    && !(rtx_equal_p (operands[0], operands[1])
   25738              :         || rtx_equal_p (operands[0], operands[2])))))
   25739              :                     return NULL;
   25740              :                   return gen_split_364 (insn, operands);
   25741              : 
   25742              :                 case 1:
   25743              :                   if (!(
   25744              : #line 13548 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25745              : (GET_MODE (operands[1]) == GET_MODE (operands[2])) && 
   25746              : #line 13552 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25747              : ( reload_completed
   25748              :    && !(rtx_equal_p (operands[0], operands[1])
   25749              :         || rtx_equal_p (operands[0], operands[2])))))
   25750              :                     return NULL;
   25751              :                   return gen_split_367 (insn, operands);
   25752              : 
   25753              :                 case 2:
   25754              :                   if (!((
   25755              : #line 13548 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25756              : (GET_MODE (operands[1]) == GET_MODE (operands[2])) && 
   25757              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25758              : (TARGET_64BIT)) && 
   25759              : #line 13552 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25760              : ( reload_completed
   25761              :    && !(rtx_equal_p (operands[0], operands[1])
   25762              :         || rtx_equal_p (operands[0], operands[2])))))
   25763              :                     return NULL;
   25764              :                   return gen_split_370 (insn, operands);
   25765              : 
   25766              :                 default:
   25767              :                   return NULL;
   25768              :                 }
   25769              : 
   25770              :             case IOR:
   25771              :               switch (pattern1497 (x2))
   25772              :                 {
   25773              :                 case 0:
   25774              :                   if (!(
   25775              : #line 13548 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25776              : (GET_MODE (operands[1]) == GET_MODE (operands[2])) && 
   25777              : #line 13552 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25778              : ( reload_completed
   25779              :    && !(rtx_equal_p (operands[0], operands[1])
   25780              :         || rtx_equal_p (operands[0], operands[2])))))
   25781              :                     return NULL;
   25782              :                   return gen_split_365 (insn, operands);
   25783              : 
   25784              :                 case 1:
   25785              :                   if (!(
   25786              : #line 13548 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25787              : (GET_MODE (operands[1]) == GET_MODE (operands[2])) && 
   25788              : #line 13552 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25789              : ( reload_completed
   25790              :    && !(rtx_equal_p (operands[0], operands[1])
   25791              :         || rtx_equal_p (operands[0], operands[2])))))
   25792              :                     return NULL;
   25793              :                   return gen_split_368 (insn, operands);
   25794              : 
   25795              :                 case 2:
   25796              :                   if (!((
   25797              : #line 13548 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25798              : (GET_MODE (operands[1]) == GET_MODE (operands[2])) && 
   25799              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25800              : (TARGET_64BIT)) && 
   25801              : #line 13552 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25802              : ( reload_completed
   25803              :    && !(rtx_equal_p (operands[0], operands[1])
   25804              :         || rtx_equal_p (operands[0], operands[2])))))
   25805              :                     return NULL;
   25806              :                   return gen_split_371 (insn, operands);
   25807              : 
   25808              :                 default:
   25809              :                   return NULL;
   25810              :                 }
   25811              : 
   25812              :             case XOR:
   25813              :               switch (pattern1497 (x2))
   25814              :                 {
   25815              :                 case 0:
   25816              :                   if (!(
   25817              : #line 13548 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25818              : (GET_MODE (operands[1]) == GET_MODE (operands[2])) && 
   25819              : #line 13552 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25820              : ( reload_completed
   25821              :    && !(rtx_equal_p (operands[0], operands[1])
   25822              :         || rtx_equal_p (operands[0], operands[2])))))
   25823              :                     return NULL;
   25824              :                   return gen_split_366 (insn, operands);
   25825              : 
   25826              :                 case 1:
   25827              :                   if (!(
   25828              : #line 13548 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25829              : (GET_MODE (operands[1]) == GET_MODE (operands[2])) && 
   25830              : #line 13552 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25831              : ( reload_completed
   25832              :    && !(rtx_equal_p (operands[0], operands[1])
   25833              :         || rtx_equal_p (operands[0], operands[2])))))
   25834              :                     return NULL;
   25835              :                   return gen_split_369 (insn, operands);
   25836              : 
   25837              :                 case 2:
   25838              :                   if (!((
   25839              : #line 13548 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25840              : (GET_MODE (operands[1]) == GET_MODE (operands[2])) && 
   25841              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25842              : (TARGET_64BIT)) && 
   25843              : #line 13552 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25844              : ( reload_completed
   25845              :    && !(rtx_equal_p (operands[0], operands[1])
   25846              :         || rtx_equal_p (operands[0], operands[2])))))
   25847              :                     return NULL;
   25848              :                   return gen_split_372 (insn, operands);
   25849              : 
   25850              :                 default:
   25851              :                   return NULL;
   25852              :                 }
   25853              : 
   25854              :             default:
   25855              :               return NULL;
   25856              :             }
   25857              : 
   25858              :         case ZERO_EXTEND:
   25859              :           return split_32 (x1, insn);
   25860              : 
   25861              :         case FIX:
   25862              :           x6 = XVECEXP (x1, 0, 1);
   25863              :           if (pattern355 (x6) != 0)
   25864              :             return NULL;
   25865              :           x4 = XEXP (x2, 0);
   25866              :           operands[0] = x4;
   25867              :           x9 = XEXP (x3, 0);
   25868              :           operands[1] = x9;
   25869              :           if (!register_operand (operands[1], E_VOIDmode))
   25870              :             return NULL;
   25871              :           switch (pattern552 (x3))
   25872              :             {
   25873              :             case 0:
   25874              :               if (!(
   25875              : #line 6002 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25876              : (X87_FLOAT_MODE_P (GET_MODE (operands[1]))
   25877              :    && !TARGET_FISTTP
   25878              :    && !(SSE_FLOAT_MODE_P (GET_MODE (operands[1]))
   25879              :          && (TARGET_64BIT || HImode != DImode))
   25880              :    && ix86_pre_reload_split ()) && 
   25881              : #line 6008 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25882              : ( 1)))
   25883              :                 return NULL;
   25884              :               return gen_split_82 (insn, operands);
   25885              : 
   25886              :             case 1:
   25887              :               if (!(
   25888              : #line 6002 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25889              : (X87_FLOAT_MODE_P (GET_MODE (operands[1]))
   25890              :    && !TARGET_FISTTP
   25891              :    && !(SSE_FLOAT_MODE_P (GET_MODE (operands[1]))
   25892              :          && (TARGET_64BIT || SImode != DImode))
   25893              :    && ix86_pre_reload_split ()) && 
   25894              : #line 6008 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25895              : ( 1)))
   25896              :                 return NULL;
   25897              :               return gen_split_83 (insn, operands);
   25898              : 
   25899              :             case 2:
   25900              :               if (!(
   25901              : #line 6002 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25902              : (X87_FLOAT_MODE_P (GET_MODE (operands[1]))
   25903              :    && !TARGET_FISTTP
   25904              :    && !(SSE_FLOAT_MODE_P (GET_MODE (operands[1]))
   25905              :          && (TARGET_64BIT || DImode != DImode))
   25906              :    && ix86_pre_reload_split ()) && 
   25907              : #line 6008 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25908              : ( 1)))
   25909              :                 return NULL;
   25910              :               return gen_split_84 (insn, operands);
   25911              : 
   25912              :             default:
   25913              :               return NULL;
   25914              :             }
   25915              : 
   25916              :         case MULT:
   25917              :           if (pattern344 (x1) != 0)
   25918              :             return NULL;
   25919              :           x9 = XEXP (x3, 0);
   25920              :           switch (GET_CODE (x9))
   25921              :             {
   25922              :             case REG:
   25923              :               if (!rtx_equal_p (x9, operands[0]))
   25924              :                 return NULL;
   25925              :               x10 = XEXP (x3, 1);
   25926              :               operands[1] = x10;
   25927              :               switch (GET_MODE (operands[0]))
   25928              :                 {
   25929              :                 case E_SImode:
   25930              :                   if (!general_reg_operand (operands[0], E_SImode)
   25931              :                       || GET_MODE (x3) != E_SImode
   25932              :                       || !const1248_operand (operands[1], E_SImode)
   25933              :                       || !
   25934              : #line 6429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25935              : (reload_completed))
   25936              :                     return NULL;
   25937              :                   return gen_split_100 (insn, operands);
   25938              : 
   25939              :                 case E_DImode:
   25940              :                   if (!general_reg_operand (operands[0], E_DImode)
   25941              :                       || GET_MODE (x3) != E_DImode
   25942              :                       || !const1248_operand (operands[1], E_DImode)
   25943              :                       || !(
   25944              : #line 6429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25945              : (reload_completed) && 
   25946              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25947              : (TARGET_64BIT)))
   25948              :                     return NULL;
   25949              :                   return gen_split_101 (insn, operands);
   25950              : 
   25951              :                 default:
   25952              :                   return NULL;
   25953              :                 }
   25954              : 
   25955              :             case ZERO_EXTEND:
   25956              :               x10 = XEXP (x3, 1);
   25957              :               if (GET_CODE (x10) != ZERO_EXTEND)
   25958              :                 return NULL;
   25959              :               x11 = XEXP (x9, 0);
   25960              :               operands[1] = x11;
   25961              :               x12 = XEXP (x10, 0);
   25962              :               operands[2] = x12;
   25963              :               switch (GET_MODE (operands[0]))
   25964              :                 {
   25965              :                 case E_DImode:
   25966              :                   if (pattern564 (x3, 
   25967              : E_SImode, 
   25968              : E_DImode) != 0
   25969              :                       || !(
   25970              : #line 11364 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25971              : (TARGET_BMI2 && reload_completed
   25972              :   && REGNO (operands[1]) == DX_REG) && 
   25973              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25974              : (!TARGET_64BIT)))
   25975              :                     return NULL;
   25976              :                   return gen_split_244 (insn, operands);
   25977              : 
   25978              :                 case E_TImode:
   25979              :                   if (pattern564 (x3, 
   25980              : E_DImode, 
   25981              : E_TImode) != 0
   25982              :                       || !(
   25983              : #line 11364 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25984              : (TARGET_BMI2 && reload_completed
   25985              :   && REGNO (operands[1]) == DX_REG) && 
   25986              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25987              : (TARGET_64BIT)))
   25988              :                     return NULL;
   25989              :                   return gen_split_245 (insn, operands);
   25990              : 
   25991              :                 default:
   25992              :                   return NULL;
   25993              :                 }
   25994              : 
   25995              :             default:
   25996              :               return NULL;
   25997              :             }
   25998              : 
   25999              :         case PLUS:
   26000              :           return split_29 (x1, insn);
   26001              : 
   26002              :         case SUBREG:
   26003              :           return split_28 (x1, insn);
   26004              : 
   26005              :         case NE:
   26006              :         case EQ:
   26007              :         case GE:
   26008              :         case GT:
   26009              :         case LE:
   26010              :         case LT:
   26011              :         case LTGT:
   26012              :         case GEU:
   26013              :         case GTU:
   26014              :         case LEU:
   26015              :         case LTU:
   26016              :         case UNORDERED:
   26017              :         case ORDERED:
   26018              :         case UNEQ:
   26019              :         case UNGE:
   26020              :         case UNGT:
   26021              :         case UNLE:
   26022              :         case UNLT:
   26023              :           if (GET_CODE (x3) == EQ)
   26024              :             {
   26025              :               x9 = XEXP (x3, 0);
   26026              :               switch (GET_CODE (x9))
   26027              :                 {
   26028              :                 case PLUS:
   26029              :                   switch (pattern728 (x1, 
   26030              : PLUS))
   26031              :                     {
   26032              :                     case 0:
   26033              :                       if (((
   26034              : #line 7746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26035              : (ix86_binary_operator_ok (PLUS, DImode, operands, TARGET_APX_NDD)) && 
   26036              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26037              : (!TARGET_64BIT)) && 
   26038              : #line 7748 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26039              : ( reload_completed)))
   26040              :                         return gen_split_152 (insn, operands);
   26041              :                       break;
   26042              : 
   26043              :                     case 1:
   26044              :                       if (((
   26045              : #line 7746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26046              : (ix86_binary_operator_ok (PLUS, TImode, operands, TARGET_APX_NDD)) && 
   26047              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26048              : (TARGET_64BIT)) && 
   26049              : #line 7748 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26050              : ( reload_completed)))
   26051              :                         return gen_split_153 (insn, operands);
   26052              :                       break;
   26053              : 
   26054              :                     case 2:
   26055              :                       if (((
   26056              : #line 7792 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26057              : (ix86_binary_operator_ok (PLUS, DImode, operands, TARGET_APX_NDD)
   26058              :    && CONST_SCALAR_INT_P (operands[2])
   26059              :    && rtx_equal_p (operands[2], operands[3])) && 
   26060              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26061              : (!TARGET_64BIT)) && 
   26062              : #line 7796 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26063              : ( reload_completed)))
   26064              :                         return gen_split_154 (insn, operands);
   26065              :                       break;
   26066              : 
   26067              :                     case 3:
   26068              :                       if (((
   26069              : #line 7792 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26070              : (ix86_binary_operator_ok (PLUS, TImode, operands, TARGET_APX_NDD)
   26071              :    && CONST_SCALAR_INT_P (operands[2])
   26072              :    && rtx_equal_p (operands[2], operands[3])) && 
   26073              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26074              : (TARGET_64BIT)) && 
   26075              : #line 7796 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26076              : ( reload_completed)))
   26077              :                         return gen_split_155 (insn, operands);
   26078              :                       break;
   26079              : 
   26080              :                     default:
   26081              :                       break;
   26082              :                     }
   26083              :                   break;
   26084              : 
   26085              :                 case MINUS:
   26086              :                   switch (pattern728 (x1, 
   26087              : MINUS))
   26088              :                     {
   26089              :                     case 0:
   26090              :                       if (((
   26091              : #line 8504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26092              : (ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)) && 
   26093              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26094              : (!TARGET_64BIT)) && 
   26095              : #line 8506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26096              : ( reload_completed)))
   26097              :                         return gen_split_192 (insn, operands);
   26098              :                       break;
   26099              : 
   26100              :                     case 1:
   26101              :                       if (((
   26102              : #line 8504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26103              : (ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)) && 
   26104              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26105              : (TARGET_64BIT)) && 
   26106              : #line 8506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26107              : ( reload_completed)))
   26108              :                         return gen_split_193 (insn, operands);
   26109              :                       break;
   26110              : 
   26111              :                     case 2:
   26112              :                       if (((
   26113              : #line 8548 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26114              : (ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)
   26115              :    && CONST_SCALAR_INT_P (operands[2])
   26116              :    && rtx_equal_p (operands[2], operands[3])) && 
   26117              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26118              : (!TARGET_64BIT)) && 
   26119              : #line 8552 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26120              : ( reload_completed)))
   26121              :                         return gen_split_194 (insn, operands);
   26122              :                       break;
   26123              : 
   26124              :                     case 3:
   26125              :                       if (((
   26126              : #line 8548 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26127              : (ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)
   26128              :    && CONST_SCALAR_INT_P (operands[2])
   26129              :    && rtx_equal_p (operands[2], operands[3])) && 
   26130              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26131              : (TARGET_64BIT)) && 
   26132              : #line 8552 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26133              : ( reload_completed)))
   26134              :                         return gen_split_195 (insn, operands);
   26135              :                       break;
   26136              : 
   26137              :                     default:
   26138              :                       break;
   26139              :                     }
   26140              :                   break;
   26141              : 
   26142              :                 case ZERO_EXTRACT:
   26143              :                   switch (pattern697 (x1))
   26144              :                     {
   26145              :                     case 0:
   26146              :                       if ((
   26147              : #line 19744 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26148              : (TARGET_USE_BT && ix86_pre_reload_split ()) && 
   26149              : #line 19746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26150              : ( 1)))
   26151              :                         return gen_split_848 (insn, operands);
   26152              :                       break;
   26153              : 
   26154              :                     case 1:
   26155              :                       if (((
   26156              : #line 19744 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26157              : (TARGET_USE_BT && ix86_pre_reload_split ()) && 
   26158              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26159              : (TARGET_64BIT)) && 
   26160              : #line 19746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26161              : ( 1)))
   26162              :                         return gen_split_849 (insn, operands);
   26163              :                       break;
   26164              : 
   26165              :                     default:
   26166              :                       break;
   26167              :                     }
   26168              :                   break;
   26169              : 
   26170              :                 default:
   26171              :                   break;
   26172              :                 }
   26173              :             }
   26174              :           operands[1] = x3;
   26175              :           switch (pattern371 (x1))
   26176              :             {
   26177              :             case 0:
   26178              :               if (!(
   26179              : #line 19857 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26180              : (!TARGET_PARTIAL_REG_STALL
   26181              :    && TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun)) && 
   26182              : #line 19860 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26183              : ( reload_completed)))
   26184              :                 return NULL;
   26185              :               return gen_split_858 (insn, operands);
   26186              : 
   26187              :             case 1:
   26188              :               if (!(
   26189              : #line 19857 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26190              : (!TARGET_PARTIAL_REG_STALL
   26191              :    && TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun)) && 
   26192              : #line 19860 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26193              : ( reload_completed)))
   26194              :                 return NULL;
   26195              :               return gen_split_859 (insn, operands);
   26196              : 
   26197              :             default:
   26198              :               return NULL;
   26199              :             }
   26200              : 
   26201              :         case MINUS:
   26202              :           x6 = XVECEXP (x1, 0, 1);
   26203              :           if (pattern236 (x6, 
   26204              : E_CCmode, 
   26205              : 17) != 0)
   26206              :             return NULL;
   26207              :           x9 = XEXP (x3, 0);
   26208              :           switch (GET_CODE (x9))
   26209              :             {
   26210              :             case CONST_INT:
   26211              :             case CONST_WIDE_INT:
   26212              :             case CONST_POLY_INT:
   26213              :             case CONST_FIXED:
   26214              :             case CONST_DOUBLE:
   26215              :             case CONST_VECTOR:
   26216              :             case CONST:
   26217              :             case REG:
   26218              :             case SUBREG:
   26219              :             case MEM:
   26220              :             case LABEL_REF:
   26221              :             case SYMBOL_REF:
   26222              :             case HIGH:
   26223              :               operands[1] = x9;
   26224              :               res = split_20 (x1, insn);
   26225              :               if (res != NULL_RTX)
   26226              :                 return res;
   26227              :               if (GET_CODE (x9) != SUBREG)
   26228              :                 return NULL;
   26229              :               switch (pattern1056 (x2))
   26230              :                 {
   26231              :                 case 0:
   26232              :                   if (!(
   26233              : #line 8275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26234              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) && 
   26235              : #line 8277 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26236              : ( reload_completed)))
   26237              :                     return NULL;
   26238              :                   return gen_split_183 (insn, operands);
   26239              : 
   26240              :                 case 1:
   26241              :                   if (!(
   26242              : #line 8275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26243              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) && 
   26244              : #line 8277 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26245              : ( reload_completed)))
   26246              :                     return NULL;
   26247              :                   return gen_split_184 (insn, operands);
   26248              : 
   26249              :                 case 2:
   26250              :                   if (!((
   26251              : #line 8275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26252              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) && 
   26253              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26254              : (TARGET_64BIT)) && 
   26255              : #line 8277 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26256              : ( reload_completed)))
   26257              :                     return NULL;
   26258              :                   return gen_split_185 (insn, operands);
   26259              : 
   26260              :                 case 3:
   26261              :                   if (!
   26262              : #line 8360 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26263              : ( reload_completed))
   26264              :                     return NULL;
   26265              :                   return gen_split_186 (insn, operands);
   26266              : 
   26267              :                 case 4:
   26268              :                   if (!
   26269              : #line 8360 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26270              : ( reload_completed))
   26271              :                     return NULL;
   26272              :                   return gen_split_187 (insn, operands);
   26273              : 
   26274              :                 case 5:
   26275              :                   if (!(
   26276              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26277              : (TARGET_64BIT) && 
   26278              : #line 8360 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26279              : ( reload_completed)))
   26280              :                     return NULL;
   26281              :                   return gen_split_188 (insn, operands);
   26282              : 
   26283              :                 default:
   26284              :                   return NULL;
   26285              :                 }
   26286              : 
   26287              :             case MINUS:
   26288              :               x13 = XEXP (x9, 1);
   26289              :               if (GET_CODE (x13) != EQ)
   26290              :                 return NULL;
   26291              :               x14 = XEXP (x13, 1);
   26292              :               if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   26293              :                 return NULL;
   26294              :               x4 = XEXP (x2, 0);
   26295              :               operands[0] = x4;
   26296              :               x11 = XEXP (x9, 0);
   26297              :               operands[1] = x11;
   26298              :               x15 = XEXP (x13, 0);
   26299              :               operands[3] = x15;
   26300              :               if (!int_nonimmediate_operand (operands[3], E_VOIDmode))
   26301              :                 return NULL;
   26302              :               x10 = XEXP (x3, 1);
   26303              :               operands[2] = x10;
   26304              :               switch (GET_MODE (operands[0]))
   26305              :                 {
   26306              :                 case E_QImode:
   26307              :                   if (pattern1577 (x3, 
   26308              : E_QImode) != 0
   26309              :                       || !(
   26310              : #line 10573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26311              : (ix86_binary_operator_ok (MINUS, QImode, operands, TARGET_APX_NDD)
   26312              :    && ix86_pre_reload_split ()) && 
   26313              : #line 10576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26314              : ( 1)))
   26315              :                     return NULL;
   26316              :                   return gen_split_224 (insn, operands);
   26317              : 
   26318              :                 case E_HImode:
   26319              :                   if (pattern1577 (x3, 
   26320              : E_HImode) != 0
   26321              :                       || !(
   26322              : #line 10573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26323              : (ix86_binary_operator_ok (MINUS, HImode, operands, TARGET_APX_NDD)
   26324              :    && ix86_pre_reload_split ()) && 
   26325              : #line 10576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26326              : ( 1)))
   26327              :                     return NULL;
   26328              :                   return gen_split_225 (insn, operands);
   26329              : 
   26330              :                 case E_SImode:
   26331              :                   if (pattern1578 (x3, 
   26332              : E_SImode) != 0
   26333              :                       || !(
   26334              : #line 10573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26335              : (ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)
   26336              :    && ix86_pre_reload_split ()) && 
   26337              : #line 10576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26338              : ( 1)))
   26339              :                     return NULL;
   26340              :                   return gen_split_226 (insn, operands);
   26341              : 
   26342              :                 case E_DImode:
   26343              :                   if (pattern1578 (x3, 
   26344              : E_DImode) != 0
   26345              :                       || !((
   26346              : #line 10573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26347              : (ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)
   26348              :    && ix86_pre_reload_split ()) && 
   26349              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26350              : (TARGET_64BIT)) && 
   26351              : #line 10576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26352              : ( 1)))
   26353              :                     return NULL;
   26354              :                   return gen_split_227 (insn, operands);
   26355              : 
   26356              :                 default:
   26357              :                   return NULL;
   26358              :                 }
   26359              : 
   26360              :             default:
   26361              :               return NULL;
   26362              :             }
   26363              : 
   26364              :         case IF_THEN_ELSE:
   26365              :           x9 = XEXP (x3, 0);
   26366              :           if (!bt_comparison_operator (x9, E_VOIDmode))
   26367              :             return NULL;
   26368              :           x13 = XEXP (x9, 1);
   26369              :           if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   26370              :             return NULL;
   26371              :           switch (pattern703 (x1))
   26372              :             {
   26373              :             case 0:
   26374              :               x11 = XEXP (x9, 0);
   26375              :               operands[2] = x11;
   26376              :               x10 = XEXP (x3, 1);
   26377              :               if (GET_CODE (x10) != PLUS)
   26378              :                 return NULL;
   26379              :               x16 = XEXP (x10, 1);
   26380              :               if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + -1])
   26381              :                 return NULL;
   26382              :               x4 = XEXP (x2, 0);
   26383              :               operands[0] = x4;
   26384              :               operands[1] = x9;
   26385              :               switch (pattern1588 (x3))
   26386              :                 {
   26387              :                 case 0:
   26388              :                   if (!(
   26389              : #line 8797 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26390              : (TARGET_CMOVE) && 
   26391              : #line 8799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26392              : ( reload_completed)))
   26393              :                     return NULL;
   26394              :                   return gen_split_196 (insn, operands);
   26395              : 
   26396              :                 case 1:
   26397              :                   if (!(
   26398              : #line 8797 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26399              : (TARGET_CMOVE) && 
   26400              : #line 8799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26401              : ( reload_completed)))
   26402              :                     return NULL;
   26403              :                   return gen_split_197 (insn, operands);
   26404              : 
   26405              :                 case 2:
   26406              :                   if (!((
   26407              : #line 8797 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26408              : (TARGET_CMOVE) && 
   26409              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26410              : (TARGET_64BIT)) && 
   26411              : #line 8799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26412              : ( reload_completed)))
   26413              :                     return NULL;
   26414              :                   return gen_split_198 (insn, operands);
   26415              : 
   26416              :                 default:
   26417              :                   return NULL;
   26418              :                 }
   26419              : 
   26420              :             case 1:
   26421              :               x11 = XEXP (x9, 0);
   26422              :               x17 = XEXP (x11, 1);
   26423              :               if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   26424              :                 return NULL;
   26425              :               switch (pattern1346 (x2))
   26426              :                 {
   26427              :                 case 0:
   26428              :                   x18 = XEXP (x11, 2);
   26429              :                   operands[2] = x18;
   26430              :                   switch (pattern1706 (x3))
   26431              :                     {
   26432              :                     case 0:
   26433              :                       if ((
   26434              : #line 19549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26435              : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
   26436              :    && (CONST_INT_P (operands[2])
   26437              :        ? (INTVAL (operands[2]) < GET_MODE_BITSIZE (SImode)
   26438              :           && INTVAL (operands[2])
   26439              :                >= (optimize_function_for_size_p (cfun) ? 8 : 32))
   26440              :        : !memory_operand (operands[1], SImode))
   26441              :    && ix86_pre_reload_split ()) && 
   26442              : #line 19557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26443              : ( 1)))
   26444              :                         return gen_split_826 (insn, operands);
   26445              :                       break;
   26446              : 
   26447              :                     case 1:
   26448              :                       if (((
   26449              : #line 19549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26450              : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
   26451              :    && (CONST_INT_P (operands[2])
   26452              :        ? (INTVAL (operands[2]) < GET_MODE_BITSIZE (DImode)
   26453              :           && INTVAL (operands[2])
   26454              :                >= (optimize_function_for_size_p (cfun) ? 8 : 32))
   26455              :        : !memory_operand (operands[1], DImode))
   26456              :    && ix86_pre_reload_split ()) && 
   26457              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26458              : (TARGET_64BIT)) && 
   26459              : #line 19557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26460              : ( 1)))
   26461              :                         return gen_split_827 (insn, operands);
   26462              :                       break;
   26463              : 
   26464              :                     default:
   26465              :                       break;
   26466              :                     }
   26467              :                   if (GET_CODE (x18) != SUBREG)
   26468              :                     return NULL;
   26469              :                   switch (pattern1708 (x3))
   26470              :                     {
   26471              :                     case 0:
   26472              :                       if (!(
   26473              : #line 19625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26474              : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
   26475              :    && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
   26476              :       == GET_MODE_BITSIZE (SImode)-1
   26477              :    && ix86_pre_reload_split ()) && 
   26478              : #line 19630 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26479              : ( 1)))
   26480              :                         return NULL;
   26481              :                       return gen_split_830 (insn, operands);
   26482              : 
   26483              :                     case 1:
   26484              :                       if (!(
   26485              : #line 19625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26486              : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
   26487              :    && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
   26488              :       == GET_MODE_BITSIZE (SImode)-1
   26489              :    && ix86_pre_reload_split ()) && 
   26490              : #line 19630 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26491              : ( 1)))
   26492              :                         return NULL;
   26493              :                       return gen_split_832 (insn, operands);
   26494              : 
   26495              :                     case 2:
   26496              :                       if (!((
   26497              : #line 19625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26498              : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
   26499              :    && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
   26500              :       == GET_MODE_BITSIZE (SImode)-1
   26501              :    && ix86_pre_reload_split ()) && 
   26502              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26503              : (TARGET_64BIT)) && 
   26504              : #line 19630 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26505              : ( 1)))
   26506              :                         return NULL;
   26507              :                       return gen_split_834 (insn, operands);
   26508              : 
   26509              :                     case 3:
   26510              :                       if (!((
   26511              : #line 19625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26512              : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
   26513              :    && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
   26514              :       == GET_MODE_BITSIZE (DImode)-1
   26515              :    && ix86_pre_reload_split ()) && 
   26516              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26517              : (TARGET_64BIT)) && 
   26518              : #line 19630 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26519              : ( 1)))
   26520              :                         return NULL;
   26521              :                       return gen_split_831 (insn, operands);
   26522              : 
   26523              :                     case 4:
   26524              :                       if (!((
   26525              : #line 19625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26526              : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
   26527              :    && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
   26528              :       == GET_MODE_BITSIZE (DImode)-1
   26529              :    && ix86_pre_reload_split ()) && 
   26530              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26531              : (TARGET_64BIT)) && 
   26532              : #line 19630 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26533              : ( 1)))
   26534              :                         return NULL;
   26535              :                       return gen_split_833 (insn, operands);
   26536              : 
   26537              :                     case 5:
   26538              :                       if (!((
   26539              : #line 19625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26540              : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
   26541              :    && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
   26542              :       == GET_MODE_BITSIZE (DImode)-1
   26543              :    && ix86_pre_reload_split ()) && 
   26544              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26545              : (TARGET_64BIT)) && 
   26546              : #line 19630 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26547              : ( 1)))
   26548              :                         return NULL;
   26549              :                       return gen_split_835 (insn, operands);
   26550              : 
   26551              :                     default:
   26552              :                       return NULL;
   26553              :                     }
   26554              : 
   26555              :                 case 1:
   26556              :                   if (!(
   26557              : #line 19588 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26558              : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
   26559              :    && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
   26560              :       == GET_MODE_BITSIZE (SImode)-1
   26561              :    && ix86_pre_reload_split ()) && 
   26562              : #line 19593 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26563              : ( 1)))
   26564              :                     return NULL;
   26565              :                   return gen_split_828 (insn, operands);
   26566              : 
   26567              :                 case 2:
   26568              :                   if (!((
   26569              : #line 19588 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26570              : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
   26571              :    && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
   26572              :       == GET_MODE_BITSIZE (DImode)-1
   26573              :    && ix86_pre_reload_split ()) && 
   26574              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26575              : (TARGET_64BIT)) && 
   26576              : #line 19593 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26577              : ( 1)))
   26578              :                     return NULL;
   26579              :                   return gen_split_829 (insn, operands);
   26580              : 
   26581              :                 default:
   26582              :                   return NULL;
   26583              :                 }
   26584              : 
   26585              :             default:
   26586              :               return NULL;
   26587              :             }
   26588              : 
   26589              :         case COMPARE:
   26590              :           return split_27 (x1, insn);
   26591              : 
   26592              :         case AND:
   26593              :           return split_25 (x1, insn);
   26594              : 
   26595              :         case IOR:
   26596              :           return split_26 (x1, insn);
   26597              : 
   26598              :         case XOR:
   26599              :           return split_24 (x1, insn);
   26600              : 
   26601              :         case NOT:
   26602              :           x9 = XEXP (x3, 0);
   26603              :           if (GET_CODE (x9) != XOR
   26604              :               || pattern345 (x1) != 0)
   26605              :             return NULL;
   26606              :           switch (GET_MODE (operands[0]))
   26607              :             {
   26608              :             case E_HImode:
   26609              :               if (!nonimmediate_operand (operands[0], E_HImode)
   26610              :                   || pattern217 (x3, 
   26611              : E_HImode) != 0
   26612              :                   || !(
   26613              : #line 13927 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26614              : (ix86_binary_operator_ok (XOR, HImode, operands, TARGET_APX_NDD)) && 
   26615              : #line 13929 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26616              : ( reload_completed)))
   26617              :                 return NULL;
   26618              :               return gen_split_397 (insn, operands);
   26619              : 
   26620              :             case E_SImode:
   26621              :               if (!nonimmediate_operand (operands[0], E_SImode)
   26622              :                   || pattern218 (x3, 
   26623              : E_SImode) != 0
   26624              :                   || !(
   26625              : #line 13927 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26626              : (ix86_binary_operator_ok (XOR, SImode, operands, TARGET_APX_NDD)) && 
   26627              : #line 13929 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26628              : ( reload_completed)))
   26629              :                 return NULL;
   26630              :               return gen_split_398 (insn, operands);
   26631              : 
   26632              :             case E_DImode:
   26633              :               if (!nonimmediate_operand (operands[0], E_DImode)
   26634              :                   || pattern218 (x3, 
   26635              : E_DImode) != 0
   26636              :                   || !((
   26637              : #line 13927 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26638              : (ix86_binary_operator_ok (XOR, DImode, operands, TARGET_APX_NDD)) && 
   26639              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26640              : (TARGET_64BIT)) && 
   26641              : #line 13929 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26642              : ( reload_completed)))
   26643              :                 return NULL;
   26644              :               return gen_split_399 (insn, operands);
   26645              : 
   26646              :             case E_QImode:
   26647              :               if (!nonimmediate_operand (operands[0], E_QImode)
   26648              :                   || pattern217 (x3, 
   26649              : E_QImode) != 0
   26650              :                   || !(
   26651              : #line 14127 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26652              : (ix86_binary_operator_ok (XOR, QImode, operands, TARGET_APX_NDD)) && 
   26653              : #line 14129 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26654              : ( reload_completed)))
   26655              :                 return NULL;
   26656              :               return gen_split_405 (insn, operands);
   26657              : 
   26658              :             default:
   26659              :               return NULL;
   26660              :             }
   26661              : 
   26662              :         case NEG:
   26663              :           return split_31 (x1, insn);
   26664              : 
   26665              :         case ABS:
   26666              :           return split_33 (x1, insn);
   26667              : 
   26668              :         case ASHIFT:
   26669              :           return split_30 (x1, insn);
   26670              : 
   26671              :         case ROTATE:
   26672              :           return split_35 (x1, insn);
   26673              : 
   26674              :         case ROTATERT:
   26675              :           return split_34 (x1, insn);
   26676              : 
   26677              :         case CTZ:
   26678              :           switch (pattern409 (x1))
   26679              :             {
   26680              :             case 0:
   26681              :               if (!
   26682              : #line 21434 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26683              : ((TARGET_BMI || TARGET_CPU_P (GENERIC))
   26684              :    && (TARGET_AVOID_FALSE_DEP_FOR_BMI || TARGET_AVOID_FALSE_DEP_FOR_TZCNT)
   26685              :    && epilogue_completed
   26686              :    && optimize_function_for_speed_p (cfun)
   26687              :    && !reg_mentioned_p (operands[0], operands[1])))
   26688              :                 return NULL;
   26689              :               return gen_split_879 (insn, operands);
   26690              : 
   26691              :             case 1:
   26692              :               if (!(
   26693              : #line 21434 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26694              : ((TARGET_BMI || TARGET_CPU_P (GENERIC))
   26695              :    && (TARGET_AVOID_FALSE_DEP_FOR_BMI || TARGET_AVOID_FALSE_DEP_FOR_TZCNT)
   26696              :    && epilogue_completed
   26697              :    && optimize_function_for_speed_p (cfun)
   26698              :    && !reg_mentioned_p (operands[0], operands[1])) && 
   26699              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26700              : (TARGET_64BIT)))
   26701              :                 return NULL;
   26702              :               return gen_split_880 (insn, operands);
   26703              : 
   26704              :             default:
   26705              :               return NULL;
   26706              :             }
   26707              : 
   26708              :         case SIGN_EXTEND:
   26709              :           if (GET_MODE (x3) != E_DImode)
   26710              :             return NULL;
   26711              :           x6 = XVECEXP (x1, 0, 1);
   26712              :           if (pattern355 (x6) != 0)
   26713              :             return NULL;
   26714              :           x4 = XEXP (x2, 0);
   26715              :           operands[0] = x4;
   26716              :           if (!register_operand (operands[0], E_DImode))
   26717              :             return NULL;
   26718              :           x9 = XEXP (x3, 0);
   26719              :           if (GET_MODE (x9) != E_SImode)
   26720              :             return NULL;
   26721              :           switch (GET_CODE (x9))
   26722              :             {
   26723              :             case CTZ:
   26724              :               x11 = XEXP (x9, 0);
   26725              :               operands[1] = x11;
   26726              :               if (!nonimmediate_operand (operands[1], E_SImode)
   26727              :                   || !
   26728              : #line 21542 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26729              : ((TARGET_BMI || TARGET_CPU_P (GENERIC))
   26730              :    && (TARGET_AVOID_FALSE_DEP_FOR_BMI || TARGET_AVOID_FALSE_DEP_FOR_TZCNT)
   26731              :    && epilogue_completed
   26732              :    && optimize_function_for_speed_p (cfun)
   26733              :    && !reg_mentioned_p (operands[0], operands[1])))
   26734              :                 return NULL;
   26735              :               return gen_split_882 (insn, operands);
   26736              : 
   26737              :             case XOR:
   26738              :               x11 = XEXP (x9, 0);
   26739              :               if (GET_CODE (x11) != MINUS
   26740              :                   || pattern1166 (x9) != 0)
   26741              :                 return NULL;
   26742              :               x17 = XEXP (x11, 1);
   26743              :               x19 = XEXP (x17, 0);
   26744              :               operands[1] = x19;
   26745              :               if (!nonimmediate_operand (operands[1], E_SImode)
   26746              :                   || !(
   26747              : #line 21705 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26748              : (!TARGET_LZCNT && TARGET_64BIT && ix86_pre_reload_split ()) && 
   26749              : #line 21707 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26750              : ( 1)))
   26751              :                 return NULL;
   26752              :               return gen_split_886 (insn, operands);
   26753              : 
   26754              :             default:
   26755              :               return NULL;
   26756              :             }
   26757              : 
   26758              :         case CLZ:
   26759              :           switch (pattern409 (x1))
   26760              :             {
   26761              :             case 0:
   26762              :               if (!(
   26763              : #line 21877 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26764              : (TARGET_LZCNT) && 
   26765              : #line 21879 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26766              : ( TARGET_AVOID_FALSE_DEP_FOR_BMI && epilogue_completed
   26767              :    && optimize_function_for_speed_p (cfun)
   26768              :    && !reg_mentioned_p (operands[0], operands[1]))))
   26769              :                 return NULL;
   26770              :               return gen_split_896 (insn, operands);
   26771              : 
   26772              :             case 1:
   26773              :               if (!((
   26774              : #line 21877 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26775              : (TARGET_LZCNT) && 
   26776              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26777              : (TARGET_64BIT)) && 
   26778              : #line 21879 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26779              : ( TARGET_AVOID_FALSE_DEP_FOR_BMI && epilogue_completed
   26780              :    && optimize_function_for_speed_p (cfun)
   26781              :    && !reg_mentioned_p (operands[0], operands[1]))))
   26782              :                 return NULL;
   26783              :               return gen_split_897 (insn, operands);
   26784              : 
   26785              :             default:
   26786              :               return NULL;
   26787              :             }
   26788              : 
   26789              :         case UNSPEC:
   26790              :           if (XVECLEN (x3, 0) != 1)
   26791              :             return NULL;
   26792              :           x6 = XVECEXP (x1, 0, 1);
   26793              :           if (pattern236 (x6, 
   26794              : E_CCmode, 
   26795              : 17) != 0)
   26796              :             return NULL;
   26797              :           x4 = XEXP (x2, 0);
   26798              :           operands[0] = x4;
   26799              :           x20 = XVECEXP (x3, 0, 0);
   26800              :           operands[1] = x20;
   26801              :           switch (XINT (x3, 1))
   26802              :             {
   26803              :             case 98:
   26804              :               switch (pattern1348 (x3))
   26805              :                 {
   26806              :                 case 0:
   26807              :                   if (!(
   26808              : #line 22001 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26809              : (TARGET_BMI) && 
   26810              : #line 22042 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26811              : ( TARGET_AVOID_FALSE_DEP_FOR_BMI && epilogue_completed
   26812              :    && optimize_function_for_speed_p (cfun)
   26813              :    && !reg_mentioned_p (operands[0], operands[1]))))
   26814              :                     return NULL;
   26815              :                   return gen_split_904 (insn, operands);
   26816              : 
   26817              :                 case 1:
   26818              :                   if (!((((
   26819              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26820              : (TARGET_64BIT) && 
   26821              : #line 22001 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26822              : (TARGET_BMI)) && 
   26823              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26824              : (TARGET_64BIT)) && 
   26825              : #line 22001 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26826              : (TARGET_BMI)) && 
   26827              : #line 22042 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26828              : ( TARGET_AVOID_FALSE_DEP_FOR_BMI && epilogue_completed
   26829              :    && optimize_function_for_speed_p (cfun)
   26830              :    && !reg_mentioned_p (operands[0], operands[1]))))
   26831              :                     return NULL;
   26832              :                   return gen_split_906 (insn, operands);
   26833              : 
   26834              :                 default:
   26835              :                   return NULL;
   26836              :                 }
   26837              : 
   26838              :             case 97:
   26839              :               switch (pattern1348 (x3))
   26840              :                 {
   26841              :                 case 0:
   26842              :                   if (!(
   26843              : #line 22002 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26844              : (TARGET_LZCNT) && 
   26845              : #line 22042 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26846              : ( TARGET_AVOID_FALSE_DEP_FOR_BMI && epilogue_completed
   26847              :    && optimize_function_for_speed_p (cfun)
   26848              :    && !reg_mentioned_p (operands[0], operands[1]))))
   26849              :                     return NULL;
   26850              :                   return gen_split_905 (insn, operands);
   26851              : 
   26852              :                 case 1:
   26853              :                   if (!((((
   26854              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26855              : (TARGET_64BIT) && 
   26856              : #line 22002 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26857              : (TARGET_LZCNT)) && 
   26858              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26859              : (TARGET_64BIT)) && 
   26860              : #line 22002 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26861              : (TARGET_LZCNT)) && 
   26862              : #line 22042 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26863              : ( TARGET_AVOID_FALSE_DEP_FOR_BMI && epilogue_completed
   26864              :    && optimize_function_for_speed_p (cfun)
   26865              :    && !reg_mentioned_p (operands[0], operands[1]))))
   26866              :                     return NULL;
   26867              :                   return gen_split_907 (insn, operands);
   26868              : 
   26869              :                 default:
   26870              :                   return NULL;
   26871              :                 }
   26872              : 
   26873              :             default:
   26874              :               return NULL;
   26875              :             }
   26876              : 
   26877              :         case POPCOUNT:
   26878              :           x6 = XVECEXP (x1, 0, 1);
   26879              :           if (pattern355 (x6) != 0)
   26880              :             return NULL;
   26881              :           x4 = XEXP (x2, 0);
   26882              :           operands[0] = x4;
   26883              :           x9 = XEXP (x3, 0);
   26884              :           switch (GET_CODE (x9))
   26885              :             {
   26886              :             case REG:
   26887              :             case SUBREG:
   26888              :             case MEM:
   26889              :               operands[1] = x9;
   26890              :               switch (pattern408 (x3))
   26891              :                 {
   26892              :                 case 0:
   26893              :                   if (!(
   26894              : #line 22686 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26895              : (TARGET_POPCNT) && 
   26896              : #line 22694 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26897              : ( TARGET_AVOID_FALSE_DEP_FOR_BMI && epilogue_completed
   26898              :    && optimize_function_for_speed_p (cfun)
   26899              :    && !reg_mentioned_p (operands[0], operands[1]))))
   26900              :                     return NULL;
   26901              :                   return gen_split_920 (insn, operands);
   26902              : 
   26903              :                 case 1:
   26904              :                   if (!((
   26905              : #line 22686 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26906              : (TARGET_POPCNT) && 
   26907              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26908              : (TARGET_64BIT)) && 
   26909              : #line 22694 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26910              : ( TARGET_AVOID_FALSE_DEP_FOR_BMI && epilogue_completed
   26911              :    && optimize_function_for_speed_p (cfun)
   26912              :    && !reg_mentioned_p (operands[0], operands[1]))))
   26913              :                     return NULL;
   26914              :                   return gen_split_921 (insn, operands);
   26915              : 
   26916              :                 default:
   26917              :                   return NULL;
   26918              :                 }
   26919              : 
   26920              :             case ZERO_EXTEND:
   26921              :               if (pattern1185 (x3, 
   26922              : E_HImode, 
   26923              : E_SImode) != 0
   26924              :                   || !(
   26925              : #line 22856 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26926              : (TARGET_POPCNT
   26927              :    && ix86_pre_reload_split ()) && 
   26928              : #line 22859 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26929              : ( 1)))
   26930              :                 return NULL;
   26931              :               return gen_split_924 (insn, operands);
   26932              : 
   26933              :             default:
   26934              :               return NULL;
   26935              :             }
   26936              : 
   26937              :         default:
   26938              :           return NULL;
   26939              :         }
   26940              : 
   26941              :     case SIMPLE_RETURN:
   26942              :       x6 = XVECEXP (x1, 0, 1);
   26943              :       if (GET_CODE (x6) != USE)
   26944              :         return NULL;
   26945              :       x21 = XEXP (x6, 0);
   26946              :       operands[0] = x21;
   26947              :       if (!const_int_operand (operands[0], E_SImode)
   26948              :           || !(
   26949              : #line 21028 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26950              : (reload_completed) && 
   26951              : #line 21030 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26952              : ( cfun->machine->function_return_type != indirect_branch_keep)))
   26953              :         return NULL;
   26954              :       return gen_split_874 (insn, operands);
   26955              : 
   26956              :     default:
   26957              :       return NULL;
   26958              :     }
   26959              : }
   26960              : 
   26961              :  rtx_insn *
   26962              : split_66 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
   26963              : {
   26964              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   26965              :   rtx x2, x3, x4, x5, x6, x7, x8;
   26966              :   rtx_insn *res ATTRIBUTE_UNUSED;
   26967              :   x2 = XEXP (x1, 1);
   26968              :   x3 = XEXP (x2, 0);
   26969              :   x4 = XEXP (x3, 0);
   26970              :   switch (GET_CODE (x4))
   26971              :     {
   26972              :     case REG:
   26973              :     case SUBREG:
   26974              :     case MEM:
   26975              :     case NOT:
   26976              :       switch (pattern535 (x2))
   26977              :         {
   26978              :         case 0:
   26979              :           if (!((
   26980              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26981              : ((64 == 64 || TARGET_AVX512VL
   26982              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   26983              :    && ix86_pre_reload_split ()
   26984              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   26985              :                     STRIP_UNARY (operands[4]))
   26986              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   26987              :                        STRIP_UNARY (operands[4]))
   26988              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   26989              :                        STRIP_UNARY (operands[3]))
   26990              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   26991              :                        STRIP_UNARY (operands[3])))) && 
   26992              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26993              : (TARGET_AVX512F)) && 
   26994              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26995              : ( 1)))
   26996              :             return NULL;
   26997              :           return gen_split_1743 (insn, operands);
   26998              : 
   26999              :         case 1:
   27000              :           if (!((
   27001              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27002              : ((32 == 64 || TARGET_AVX512VL
   27003              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27004              :    && ix86_pre_reload_split ()
   27005              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27006              :                     STRIP_UNARY (operands[4]))
   27007              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27008              :                        STRIP_UNARY (operands[4]))
   27009              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27010              :                        STRIP_UNARY (operands[3]))
   27011              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27012              :                        STRIP_UNARY (operands[3])))) && 
   27013              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27014              : (TARGET_AVX)) && 
   27015              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27016              : ( 1)))
   27017              :             return NULL;
   27018              :           return gen_split_1770 (insn, operands);
   27019              : 
   27020              :         case 2:
   27021              :           if (!(
   27022              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27023              : ((16 == 64 || TARGET_AVX512VL
   27024              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27025              :    && ix86_pre_reload_split ()
   27026              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27027              :                     STRIP_UNARY (operands[4]))
   27028              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27029              :                        STRIP_UNARY (operands[4]))
   27030              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27031              :                        STRIP_UNARY (operands[3]))
   27032              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27033              :                        STRIP_UNARY (operands[3])))) && 
   27034              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27035              : ( 1)))
   27036              :             return NULL;
   27037              :           return gen_split_1797 (insn, operands);
   27038              : 
   27039              :         case 3:
   27040              :           if (!((
   27041              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27042              : ((64 == 64 || TARGET_AVX512VL
   27043              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27044              :    && ix86_pre_reload_split ()
   27045              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27046              :                     STRIP_UNARY (operands[4]))
   27047              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27048              :                        STRIP_UNARY (operands[4]))
   27049              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27050              :                        STRIP_UNARY (operands[3]))
   27051              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27052              :                        STRIP_UNARY (operands[3])))) && 
   27053              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27054              : (TARGET_AVX512F)) && 
   27055              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27056              : ( 1)))
   27057              :             return NULL;
   27058              :           return gen_split_1824 (insn, operands);
   27059              : 
   27060              :         case 4:
   27061              :           if (!((
   27062              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27063              : ((32 == 64 || TARGET_AVX512VL
   27064              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27065              :    && ix86_pre_reload_split ()
   27066              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27067              :                     STRIP_UNARY (operands[4]))
   27068              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27069              :                        STRIP_UNARY (operands[4]))
   27070              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27071              :                        STRIP_UNARY (operands[3]))
   27072              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27073              :                        STRIP_UNARY (operands[3])))) && 
   27074              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27075              : (TARGET_AVX)) && 
   27076              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27077              : ( 1)))
   27078              :             return NULL;
   27079              :           return gen_split_1851 (insn, operands);
   27080              : 
   27081              :         case 5:
   27082              :           if (!(
   27083              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27084              : ((16 == 64 || TARGET_AVX512VL
   27085              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27086              :    && ix86_pre_reload_split ()
   27087              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27088              :                     STRIP_UNARY (operands[4]))
   27089              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27090              :                        STRIP_UNARY (operands[4]))
   27091              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27092              :                        STRIP_UNARY (operands[3]))
   27093              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27094              :                        STRIP_UNARY (operands[3])))) && 
   27095              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27096              : ( 1)))
   27097              :             return NULL;
   27098              :           return gen_split_1878 (insn, operands);
   27099              : 
   27100              :         case 6:
   27101              :           if (!((
   27102              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27103              : ((64 == 64 || TARGET_AVX512VL
   27104              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27105              :    && ix86_pre_reload_split ()
   27106              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27107              :                     STRIP_UNARY (operands[4]))
   27108              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27109              :                        STRIP_UNARY (operands[4]))
   27110              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27111              :                        STRIP_UNARY (operands[3]))
   27112              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27113              :                        STRIP_UNARY (operands[3])))) && 
   27114              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27115              : (TARGET_AVX512F)) && 
   27116              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27117              : ( 1)))
   27118              :             return NULL;
   27119              :           return gen_split_1905 (insn, operands);
   27120              : 
   27121              :         case 7:
   27122              :           if (!((
   27123              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27124              : ((32 == 64 || TARGET_AVX512VL
   27125              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27126              :    && ix86_pre_reload_split ()
   27127              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27128              :                     STRIP_UNARY (operands[4]))
   27129              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27130              :                        STRIP_UNARY (operands[4]))
   27131              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27132              :                        STRIP_UNARY (operands[3]))
   27133              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27134              :                        STRIP_UNARY (operands[3])))) && 
   27135              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27136              : (TARGET_AVX)) && 
   27137              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27138              : ( 1)))
   27139              :             return NULL;
   27140              :           return gen_split_1932 (insn, operands);
   27141              : 
   27142              :         case 8:
   27143              :           if (!(
   27144              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27145              : ((16 == 64 || TARGET_AVX512VL
   27146              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27147              :    && ix86_pre_reload_split ()
   27148              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27149              :                     STRIP_UNARY (operands[4]))
   27150              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27151              :                        STRIP_UNARY (operands[4]))
   27152              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27153              :                        STRIP_UNARY (operands[3]))
   27154              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27155              :                        STRIP_UNARY (operands[3])))) && 
   27156              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27157              : ( 1)))
   27158              :             return NULL;
   27159              :           return gen_split_1959 (insn, operands);
   27160              : 
   27161              :         case 9:
   27162              :           if (!((
   27163              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27164              : ((64 == 64 || TARGET_AVX512VL
   27165              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27166              :    && ix86_pre_reload_split ()
   27167              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27168              :                     STRIP_UNARY (operands[4]))
   27169              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27170              :                        STRIP_UNARY (operands[4]))
   27171              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27172              :                        STRIP_UNARY (operands[3]))
   27173              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27174              :                        STRIP_UNARY (operands[3])))) && 
   27175              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27176              : (TARGET_AVX512F)) && 
   27177              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27178              : ( 1)))
   27179              :             return NULL;
   27180              :           return gen_split_1986 (insn, operands);
   27181              : 
   27182              :         case 10:
   27183              :           if (!((
   27184              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27185              : ((32 == 64 || TARGET_AVX512VL
   27186              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27187              :    && ix86_pre_reload_split ()
   27188              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27189              :                     STRIP_UNARY (operands[4]))
   27190              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27191              :                        STRIP_UNARY (operands[4]))
   27192              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27193              :                        STRIP_UNARY (operands[3]))
   27194              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27195              :                        STRIP_UNARY (operands[3])))) && 
   27196              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27197              : (TARGET_AVX)) && 
   27198              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27199              : ( 1)))
   27200              :             return NULL;
   27201              :           return gen_split_2013 (insn, operands);
   27202              : 
   27203              :         case 11:
   27204              :           if (!(
   27205              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27206              : ((16 == 64 || TARGET_AVX512VL
   27207              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27208              :    && ix86_pre_reload_split ()
   27209              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27210              :                     STRIP_UNARY (operands[4]))
   27211              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27212              :                        STRIP_UNARY (operands[4]))
   27213              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27214              :                        STRIP_UNARY (operands[3]))
   27215              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27216              :                        STRIP_UNARY (operands[3])))) && 
   27217              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27218              : ( 1)))
   27219              :             return NULL;
   27220              :           return gen_split_2040 (insn, operands);
   27221              : 
   27222              :         case 12:
   27223              :           if (!((
   27224              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27225              : ((64 == 64 || TARGET_AVX512VL
   27226              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27227              :    && ix86_pre_reload_split ()
   27228              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27229              :                     STRIP_UNARY (operands[4]))
   27230              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27231              :                        STRIP_UNARY (operands[4]))
   27232              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27233              :                        STRIP_UNARY (operands[3]))
   27234              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27235              :                        STRIP_UNARY (operands[3])))) && 
   27236              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27237              : (TARGET_AVX512F)) && 
   27238              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27239              : ( 1)))
   27240              :             return NULL;
   27241              :           return gen_split_1746 (insn, operands);
   27242              : 
   27243              :         case 13:
   27244              :           if (!((
   27245              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27246              : ((32 == 64 || TARGET_AVX512VL
   27247              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27248              :    && ix86_pre_reload_split ()
   27249              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27250              :                     STRIP_UNARY (operands[4]))
   27251              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27252              :                        STRIP_UNARY (operands[4]))
   27253              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27254              :                        STRIP_UNARY (operands[3]))
   27255              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27256              :                        STRIP_UNARY (operands[3])))) && 
   27257              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27258              : (TARGET_AVX)) && 
   27259              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27260              : ( 1)))
   27261              :             return NULL;
   27262              :           return gen_split_1773 (insn, operands);
   27263              : 
   27264              :         case 14:
   27265              :           if (!(
   27266              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27267              : ((16 == 64 || TARGET_AVX512VL
   27268              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27269              :    && ix86_pre_reload_split ()
   27270              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27271              :                     STRIP_UNARY (operands[4]))
   27272              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27273              :                        STRIP_UNARY (operands[4]))
   27274              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27275              :                        STRIP_UNARY (operands[3]))
   27276              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27277              :                        STRIP_UNARY (operands[3])))) && 
   27278              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27279              : ( 1)))
   27280              :             return NULL;
   27281              :           return gen_split_1800 (insn, operands);
   27282              : 
   27283              :         case 15:
   27284              :           if (!((
   27285              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27286              : ((64 == 64 || TARGET_AVX512VL
   27287              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27288              :    && ix86_pre_reload_split ()
   27289              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27290              :                     STRIP_UNARY (operands[4]))
   27291              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27292              :                        STRIP_UNARY (operands[4]))
   27293              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27294              :                        STRIP_UNARY (operands[3]))
   27295              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27296              :                        STRIP_UNARY (operands[3])))) && 
   27297              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27298              : (TARGET_AVX512F)) && 
   27299              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27300              : ( 1)))
   27301              :             return NULL;
   27302              :           return gen_split_1827 (insn, operands);
   27303              : 
   27304              :         case 16:
   27305              :           if (!((
   27306              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27307              : ((32 == 64 || TARGET_AVX512VL
   27308              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27309              :    && ix86_pre_reload_split ()
   27310              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27311              :                     STRIP_UNARY (operands[4]))
   27312              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27313              :                        STRIP_UNARY (operands[4]))
   27314              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27315              :                        STRIP_UNARY (operands[3]))
   27316              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27317              :                        STRIP_UNARY (operands[3])))) && 
   27318              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27319              : (TARGET_AVX)) && 
   27320              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27321              : ( 1)))
   27322              :             return NULL;
   27323              :           return gen_split_1854 (insn, operands);
   27324              : 
   27325              :         case 17:
   27326              :           if (!(
   27327              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27328              : ((16 == 64 || TARGET_AVX512VL
   27329              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27330              :    && ix86_pre_reload_split ()
   27331              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27332              :                     STRIP_UNARY (operands[4]))
   27333              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27334              :                        STRIP_UNARY (operands[4]))
   27335              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27336              :                        STRIP_UNARY (operands[3]))
   27337              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27338              :                        STRIP_UNARY (operands[3])))) && 
   27339              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27340              : ( 1)))
   27341              :             return NULL;
   27342              :           return gen_split_1881 (insn, operands);
   27343              : 
   27344              :         case 18:
   27345              :           if (!((
   27346              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27347              : ((64 == 64 || TARGET_AVX512VL
   27348              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27349              :    && ix86_pre_reload_split ()
   27350              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27351              :                     STRIP_UNARY (operands[4]))
   27352              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27353              :                        STRIP_UNARY (operands[4]))
   27354              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27355              :                        STRIP_UNARY (operands[3]))
   27356              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27357              :                        STRIP_UNARY (operands[3])))) && 
   27358              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27359              : (TARGET_AVX512F)) && 
   27360              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27361              : ( 1)))
   27362              :             return NULL;
   27363              :           return gen_split_1908 (insn, operands);
   27364              : 
   27365              :         case 19:
   27366              :           if (!((
   27367              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27368              : ((32 == 64 || TARGET_AVX512VL
   27369              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27370              :    && ix86_pre_reload_split ()
   27371              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27372              :                     STRIP_UNARY (operands[4]))
   27373              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27374              :                        STRIP_UNARY (operands[4]))
   27375              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27376              :                        STRIP_UNARY (operands[3]))
   27377              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27378              :                        STRIP_UNARY (operands[3])))) && 
   27379              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27380              : (TARGET_AVX)) && 
   27381              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27382              : ( 1)))
   27383              :             return NULL;
   27384              :           return gen_split_1935 (insn, operands);
   27385              : 
   27386              :         case 20:
   27387              :           if (!(
   27388              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27389              : ((16 == 64 || TARGET_AVX512VL
   27390              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27391              :    && ix86_pre_reload_split ()
   27392              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27393              :                     STRIP_UNARY (operands[4]))
   27394              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27395              :                        STRIP_UNARY (operands[4]))
   27396              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27397              :                        STRIP_UNARY (operands[3]))
   27398              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27399              :                        STRIP_UNARY (operands[3])))) && 
   27400              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27401              : ( 1)))
   27402              :             return NULL;
   27403              :           return gen_split_1962 (insn, operands);
   27404              : 
   27405              :         case 21:
   27406              :           if (!((
   27407              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27408              : ((64 == 64 || TARGET_AVX512VL
   27409              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27410              :    && ix86_pre_reload_split ()
   27411              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27412              :                     STRIP_UNARY (operands[4]))
   27413              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27414              :                        STRIP_UNARY (operands[4]))
   27415              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27416              :                        STRIP_UNARY (operands[3]))
   27417              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27418              :                        STRIP_UNARY (operands[3])))) && 
   27419              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27420              : (TARGET_AVX512F)) && 
   27421              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27422              : ( 1)))
   27423              :             return NULL;
   27424              :           return gen_split_1989 (insn, operands);
   27425              : 
   27426              :         case 22:
   27427              :           if (!((
   27428              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27429              : ((32 == 64 || TARGET_AVX512VL
   27430              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27431              :    && ix86_pre_reload_split ()
   27432              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27433              :                     STRIP_UNARY (operands[4]))
   27434              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27435              :                        STRIP_UNARY (operands[4]))
   27436              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27437              :                        STRIP_UNARY (operands[3]))
   27438              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27439              :                        STRIP_UNARY (operands[3])))) && 
   27440              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27441              : (TARGET_AVX)) && 
   27442              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27443              : ( 1)))
   27444              :             return NULL;
   27445              :           return gen_split_2016 (insn, operands);
   27446              : 
   27447              :         case 23:
   27448              :           if (!(
   27449              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27450              : ((16 == 64 || TARGET_AVX512VL
   27451              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27452              :    && ix86_pre_reload_split ()
   27453              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27454              :                     STRIP_UNARY (operands[4]))
   27455              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27456              :                        STRIP_UNARY (operands[4]))
   27457              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27458              :                        STRIP_UNARY (operands[3]))
   27459              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27460              :                        STRIP_UNARY (operands[3])))) && 
   27461              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27462              : ( 1)))
   27463              :             return NULL;
   27464              :           return gen_split_2043 (insn, operands);
   27465              : 
   27466              :         case 24:
   27467              :           if (!((
   27468              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27469              : ((64 == 64 || TARGET_AVX512VL
   27470              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27471              :    && ix86_pre_reload_split ()
   27472              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27473              :                     STRIP_UNARY (operands[4]))
   27474              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27475              :                        STRIP_UNARY (operands[4]))
   27476              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27477              :                        STRIP_UNARY (operands[3]))
   27478              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27479              :                        STRIP_UNARY (operands[3])))) && 
   27480              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27481              : (TARGET_AVX512F)) && 
   27482              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27483              : ( 1)))
   27484              :             return NULL;
   27485              :           return gen_split_1749 (insn, operands);
   27486              : 
   27487              :         case 25:
   27488              :           if (!((
   27489              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27490              : ((32 == 64 || TARGET_AVX512VL
   27491              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27492              :    && ix86_pre_reload_split ()
   27493              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27494              :                     STRIP_UNARY (operands[4]))
   27495              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27496              :                        STRIP_UNARY (operands[4]))
   27497              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27498              :                        STRIP_UNARY (operands[3]))
   27499              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27500              :                        STRIP_UNARY (operands[3])))) && 
   27501              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27502              : (TARGET_AVX)) && 
   27503              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27504              : ( 1)))
   27505              :             return NULL;
   27506              :           return gen_split_1776 (insn, operands);
   27507              : 
   27508              :         case 26:
   27509              :           if (!(
   27510              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27511              : ((16 == 64 || TARGET_AVX512VL
   27512              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27513              :    && ix86_pre_reload_split ()
   27514              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27515              :                     STRIP_UNARY (operands[4]))
   27516              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27517              :                        STRIP_UNARY (operands[4]))
   27518              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27519              :                        STRIP_UNARY (operands[3]))
   27520              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27521              :                        STRIP_UNARY (operands[3])))) && 
   27522              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27523              : ( 1)))
   27524              :             return NULL;
   27525              :           return gen_split_1803 (insn, operands);
   27526              : 
   27527              :         case 27:
   27528              :           if (!((
   27529              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27530              : ((64 == 64 || TARGET_AVX512VL
   27531              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27532              :    && ix86_pre_reload_split ()
   27533              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27534              :                     STRIP_UNARY (operands[4]))
   27535              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27536              :                        STRIP_UNARY (operands[4]))
   27537              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27538              :                        STRIP_UNARY (operands[3]))
   27539              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27540              :                        STRIP_UNARY (operands[3])))) && 
   27541              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27542              : (TARGET_AVX512F)) && 
   27543              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27544              : ( 1)))
   27545              :             return NULL;
   27546              :           return gen_split_1830 (insn, operands);
   27547              : 
   27548              :         case 28:
   27549              :           if (!((
   27550              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27551              : ((32 == 64 || TARGET_AVX512VL
   27552              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27553              :    && ix86_pre_reload_split ()
   27554              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27555              :                     STRIP_UNARY (operands[4]))
   27556              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27557              :                        STRIP_UNARY (operands[4]))
   27558              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27559              :                        STRIP_UNARY (operands[3]))
   27560              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27561              :                        STRIP_UNARY (operands[3])))) && 
   27562              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27563              : (TARGET_AVX)) && 
   27564              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27565              : ( 1)))
   27566              :             return NULL;
   27567              :           return gen_split_1857 (insn, operands);
   27568              : 
   27569              :         case 29:
   27570              :           if (!(
   27571              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27572              : ((16 == 64 || TARGET_AVX512VL
   27573              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27574              :    && ix86_pre_reload_split ()
   27575              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27576              :                     STRIP_UNARY (operands[4]))
   27577              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27578              :                        STRIP_UNARY (operands[4]))
   27579              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27580              :                        STRIP_UNARY (operands[3]))
   27581              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27582              :                        STRIP_UNARY (operands[3])))) && 
   27583              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27584              : ( 1)))
   27585              :             return NULL;
   27586              :           return gen_split_1884 (insn, operands);
   27587              : 
   27588              :         case 30:
   27589              :           if (!((
   27590              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27591              : ((64 == 64 || TARGET_AVX512VL
   27592              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27593              :    && ix86_pre_reload_split ()
   27594              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27595              :                     STRIP_UNARY (operands[4]))
   27596              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27597              :                        STRIP_UNARY (operands[4]))
   27598              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27599              :                        STRIP_UNARY (operands[3]))
   27600              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27601              :                        STRIP_UNARY (operands[3])))) && 
   27602              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27603              : (TARGET_AVX512F)) && 
   27604              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27605              : ( 1)))
   27606              :             return NULL;
   27607              :           return gen_split_1911 (insn, operands);
   27608              : 
   27609              :         case 31:
   27610              :           if (!((
   27611              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27612              : ((32 == 64 || TARGET_AVX512VL
   27613              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27614              :    && ix86_pre_reload_split ()
   27615              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27616              :                     STRIP_UNARY (operands[4]))
   27617              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27618              :                        STRIP_UNARY (operands[4]))
   27619              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27620              :                        STRIP_UNARY (operands[3]))
   27621              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27622              :                        STRIP_UNARY (operands[3])))) && 
   27623              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27624              : (TARGET_AVX)) && 
   27625              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27626              : ( 1)))
   27627              :             return NULL;
   27628              :           return gen_split_1938 (insn, operands);
   27629              : 
   27630              :         case 32:
   27631              :           if (!(
   27632              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27633              : ((16 == 64 || TARGET_AVX512VL
   27634              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27635              :    && ix86_pre_reload_split ()
   27636              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27637              :                     STRIP_UNARY (operands[4]))
   27638              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27639              :                        STRIP_UNARY (operands[4]))
   27640              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27641              :                        STRIP_UNARY (operands[3]))
   27642              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27643              :                        STRIP_UNARY (operands[3])))) && 
   27644              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27645              : ( 1)))
   27646              :             return NULL;
   27647              :           return gen_split_1965 (insn, operands);
   27648              : 
   27649              :         case 33:
   27650              :           if (!((
   27651              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27652              : ((64 == 64 || TARGET_AVX512VL
   27653              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27654              :    && ix86_pre_reload_split ()
   27655              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27656              :                     STRIP_UNARY (operands[4]))
   27657              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27658              :                        STRIP_UNARY (operands[4]))
   27659              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27660              :                        STRIP_UNARY (operands[3]))
   27661              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27662              :                        STRIP_UNARY (operands[3])))) && 
   27663              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27664              : (TARGET_AVX512F)) && 
   27665              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27666              : ( 1)))
   27667              :             return NULL;
   27668              :           return gen_split_1992 (insn, operands);
   27669              : 
   27670              :         case 34:
   27671              :           if (!((
   27672              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27673              : ((32 == 64 || TARGET_AVX512VL
   27674              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27675              :    && ix86_pre_reload_split ()
   27676              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27677              :                     STRIP_UNARY (operands[4]))
   27678              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27679              :                        STRIP_UNARY (operands[4]))
   27680              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27681              :                        STRIP_UNARY (operands[3]))
   27682              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27683              :                        STRIP_UNARY (operands[3])))) && 
   27684              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27685              : (TARGET_AVX)) && 
   27686              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27687              : ( 1)))
   27688              :             return NULL;
   27689              :           return gen_split_2019 (insn, operands);
   27690              : 
   27691              :         case 35:
   27692              :           if (!(
   27693              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27694              : ((16 == 64 || TARGET_AVX512VL
   27695              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27696              :    && ix86_pre_reload_split ()
   27697              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27698              :                     STRIP_UNARY (operands[4]))
   27699              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27700              :                        STRIP_UNARY (operands[4]))
   27701              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27702              :                        STRIP_UNARY (operands[3]))
   27703              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27704              :                        STRIP_UNARY (operands[3])))) && 
   27705              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27706              : ( 1)))
   27707              :             return NULL;
   27708              :           return gen_split_2046 (insn, operands);
   27709              : 
   27710              :         case 36:
   27711              :           if (!((
   27712              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27713              : ((64 == 64 || TARGET_AVX512VL
   27714              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27715              :    && ix86_pre_reload_split ()) && 
   27716              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27717              : (TARGET_AVX512F)) && 
   27718              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27719              : ( 1)))
   27720              :             return NULL;
   27721              :           return gen_split_3039 (insn, operands);
   27722              : 
   27723              :         case 37:
   27724              :           if (!((
   27725              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27726              : ((32 == 64 || TARGET_AVX512VL
   27727              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27728              :    && ix86_pre_reload_split ()) && 
   27729              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27730              : (TARGET_AVX)) && 
   27731              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27732              : ( 1)))
   27733              :             return NULL;
   27734              :           return gen_split_3048 (insn, operands);
   27735              : 
   27736              :         case 38:
   27737              :           if (!(
   27738              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27739              : ((16 == 64 || TARGET_AVX512VL
   27740              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27741              :    && ix86_pre_reload_split ()) && 
   27742              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27743              : ( 1)))
   27744              :             return NULL;
   27745              :           return gen_split_3057 (insn, operands);
   27746              : 
   27747              :         case 39:
   27748              :           if (!((
   27749              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27750              : ((64 == 64 || TARGET_AVX512VL
   27751              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27752              :    && ix86_pre_reload_split ()) && 
   27753              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27754              : (TARGET_AVX512F)) && 
   27755              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27756              : ( 1)))
   27757              :             return NULL;
   27758              :           return gen_split_3066 (insn, operands);
   27759              : 
   27760              :         case 40:
   27761              :           if (!((
   27762              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27763              : ((32 == 64 || TARGET_AVX512VL
   27764              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27765              :    && ix86_pre_reload_split ()) && 
   27766              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27767              : (TARGET_AVX)) && 
   27768              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27769              : ( 1)))
   27770              :             return NULL;
   27771              :           return gen_split_3075 (insn, operands);
   27772              : 
   27773              :         case 41:
   27774              :           if (!(
   27775              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27776              : ((16 == 64 || TARGET_AVX512VL
   27777              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27778              :    && ix86_pre_reload_split ()) && 
   27779              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27780              : ( 1)))
   27781              :             return NULL;
   27782              :           return gen_split_3084 (insn, operands);
   27783              : 
   27784              :         case 42:
   27785              :           if (!((
   27786              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27787              : ((64 == 64 || TARGET_AVX512VL
   27788              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27789              :    && ix86_pre_reload_split ()) && 
   27790              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27791              : (TARGET_AVX512F)) && 
   27792              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27793              : ( 1)))
   27794              :             return NULL;
   27795              :           return gen_split_3093 (insn, operands);
   27796              : 
   27797              :         case 43:
   27798              :           if (!((
   27799              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27800              : ((32 == 64 || TARGET_AVX512VL
   27801              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27802              :    && ix86_pre_reload_split ()) && 
   27803              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27804              : (TARGET_AVX)) && 
   27805              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27806              : ( 1)))
   27807              :             return NULL;
   27808              :           return gen_split_3102 (insn, operands);
   27809              : 
   27810              :         case 44:
   27811              :           if (!(
   27812              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27813              : ((16 == 64 || TARGET_AVX512VL
   27814              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27815              :    && ix86_pre_reload_split ()) && 
   27816              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27817              : ( 1)))
   27818              :             return NULL;
   27819              :           return gen_split_3111 (insn, operands);
   27820              : 
   27821              :         case 45:
   27822              :           if (!((
   27823              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27824              : ((64 == 64 || TARGET_AVX512VL
   27825              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27826              :    && ix86_pre_reload_split ()) && 
   27827              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27828              : (TARGET_AVX512F)) && 
   27829              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27830              : ( 1)))
   27831              :             return NULL;
   27832              :           return gen_split_3120 (insn, operands);
   27833              : 
   27834              :         case 46:
   27835              :           if (!((
   27836              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27837              : ((32 == 64 || TARGET_AVX512VL
   27838              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27839              :    && ix86_pre_reload_split ()) && 
   27840              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27841              : (TARGET_AVX)) && 
   27842              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27843              : ( 1)))
   27844              :             return NULL;
   27845              :           return gen_split_3129 (insn, operands);
   27846              : 
   27847              :         case 47:
   27848              :           if (!(
   27849              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27850              : ((16 == 64 || TARGET_AVX512VL
   27851              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27852              :    && ix86_pre_reload_split ()) && 
   27853              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27854              : ( 1)))
   27855              :             return NULL;
   27856              :           return gen_split_3138 (insn, operands);
   27857              : 
   27858              :         default:
   27859              :           return NULL;
   27860              :         }
   27861              : 
   27862              :     case AND:
   27863              :       switch (pattern537 (x2))
   27864              :         {
   27865              :         case 0:
   27866              :           if (!((
   27867              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27868              : ((64 == 64 || TARGET_AVX512VL
   27869              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27870              :    && ix86_pre_reload_split ()
   27871              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27872              :                     STRIP_UNARY (operands[4]))
   27873              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27874              :                        STRIP_UNARY (operands[4]))
   27875              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27876              :                        STRIP_UNARY (operands[3]))
   27877              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27878              :                        STRIP_UNARY (operands[3])))) && 
   27879              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27880              : (TARGET_AVX512F)) && 
   27881              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27882              : ( 1)))
   27883              :             return NULL;
   27884              :           return gen_split_2391 (insn, operands);
   27885              : 
   27886              :         case 1:
   27887              :           if (!((
   27888              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27889              : ((32 == 64 || TARGET_AVX512VL
   27890              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27891              :    && ix86_pre_reload_split ()
   27892              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27893              :                     STRIP_UNARY (operands[4]))
   27894              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27895              :                        STRIP_UNARY (operands[4]))
   27896              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27897              :                        STRIP_UNARY (operands[3]))
   27898              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27899              :                        STRIP_UNARY (operands[3])))) && 
   27900              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27901              : (TARGET_AVX)) && 
   27902              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27903              : ( 1)))
   27904              :             return NULL;
   27905              :           return gen_split_2418 (insn, operands);
   27906              : 
   27907              :         case 2:
   27908              :           if (!(
   27909              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27910              : ((16 == 64 || TARGET_AVX512VL
   27911              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27912              :    && ix86_pre_reload_split ()
   27913              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27914              :                     STRIP_UNARY (operands[4]))
   27915              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27916              :                        STRIP_UNARY (operands[4]))
   27917              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27918              :                        STRIP_UNARY (operands[3]))
   27919              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27920              :                        STRIP_UNARY (operands[3])))) && 
   27921              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27922              : ( 1)))
   27923              :             return NULL;
   27924              :           return gen_split_2445 (insn, operands);
   27925              : 
   27926              :         case 3:
   27927              :           if (!((
   27928              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27929              : ((64 == 64 || TARGET_AVX512VL
   27930              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27931              :    && ix86_pre_reload_split ()
   27932              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27933              :                     STRIP_UNARY (operands[4]))
   27934              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27935              :                        STRIP_UNARY (operands[4]))
   27936              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27937              :                        STRIP_UNARY (operands[3]))
   27938              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27939              :                        STRIP_UNARY (operands[3])))) && 
   27940              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27941              : (TARGET_AVX512F)) && 
   27942              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27943              : ( 1)))
   27944              :             return NULL;
   27945              :           return gen_split_2472 (insn, operands);
   27946              : 
   27947              :         case 4:
   27948              :           if (!((
   27949              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27950              : ((32 == 64 || TARGET_AVX512VL
   27951              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27952              :    && ix86_pre_reload_split ()
   27953              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27954              :                     STRIP_UNARY (operands[4]))
   27955              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27956              :                        STRIP_UNARY (operands[4]))
   27957              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27958              :                        STRIP_UNARY (operands[3]))
   27959              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27960              :                        STRIP_UNARY (operands[3])))) && 
   27961              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27962              : (TARGET_AVX)) && 
   27963              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27964              : ( 1)))
   27965              :             return NULL;
   27966              :           return gen_split_2499 (insn, operands);
   27967              : 
   27968              :         case 5:
   27969              :           if (!(
   27970              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27971              : ((16 == 64 || TARGET_AVX512VL
   27972              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27973              :    && ix86_pre_reload_split ()
   27974              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27975              :                     STRIP_UNARY (operands[4]))
   27976              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27977              :                        STRIP_UNARY (operands[4]))
   27978              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27979              :                        STRIP_UNARY (operands[3]))
   27980              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27981              :                        STRIP_UNARY (operands[3])))) && 
   27982              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27983              : ( 1)))
   27984              :             return NULL;
   27985              :           return gen_split_2526 (insn, operands);
   27986              : 
   27987              :         case 6:
   27988              :           if (!((
   27989              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27990              : ((64 == 64 || TARGET_AVX512VL
   27991              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27992              :    && ix86_pre_reload_split ()
   27993              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27994              :                     STRIP_UNARY (operands[4]))
   27995              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27996              :                        STRIP_UNARY (operands[4]))
   27997              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27998              :                        STRIP_UNARY (operands[3]))
   27999              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28000              :                        STRIP_UNARY (operands[3])))) && 
   28001              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28002              : (TARGET_AVX512F)) && 
   28003              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28004              : ( 1)))
   28005              :             return NULL;
   28006              :           return gen_split_2553 (insn, operands);
   28007              : 
   28008              :         case 7:
   28009              :           if (!((
   28010              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28011              : ((32 == 64 || TARGET_AVX512VL
   28012              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28013              :    && ix86_pre_reload_split ()
   28014              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28015              :                     STRIP_UNARY (operands[4]))
   28016              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28017              :                        STRIP_UNARY (operands[4]))
   28018              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28019              :                        STRIP_UNARY (operands[3]))
   28020              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28021              :                        STRIP_UNARY (operands[3])))) && 
   28022              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28023              : (TARGET_AVX)) && 
   28024              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28025              : ( 1)))
   28026              :             return NULL;
   28027              :           return gen_split_2580 (insn, operands);
   28028              : 
   28029              :         case 8:
   28030              :           if (!(
   28031              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28032              : ((16 == 64 || TARGET_AVX512VL
   28033              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28034              :    && ix86_pre_reload_split ()
   28035              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28036              :                     STRIP_UNARY (operands[4]))
   28037              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28038              :                        STRIP_UNARY (operands[4]))
   28039              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28040              :                        STRIP_UNARY (operands[3]))
   28041              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28042              :                        STRIP_UNARY (operands[3])))) && 
   28043              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28044              : ( 1)))
   28045              :             return NULL;
   28046              :           return gen_split_2607 (insn, operands);
   28047              : 
   28048              :         case 9:
   28049              :           if (!((
   28050              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28051              : ((64 == 64 || TARGET_AVX512VL
   28052              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28053              :    && ix86_pre_reload_split ()
   28054              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28055              :                     STRIP_UNARY (operands[4]))
   28056              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28057              :                        STRIP_UNARY (operands[4]))
   28058              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28059              :                        STRIP_UNARY (operands[3]))
   28060              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28061              :                        STRIP_UNARY (operands[3])))) && 
   28062              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28063              : (TARGET_AVX512F)) && 
   28064              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28065              : ( 1)))
   28066              :             return NULL;
   28067              :           return gen_split_2634 (insn, operands);
   28068              : 
   28069              :         case 10:
   28070              :           if (!((
   28071              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28072              : ((32 == 64 || TARGET_AVX512VL
   28073              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28074              :    && ix86_pre_reload_split ()
   28075              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28076              :                     STRIP_UNARY (operands[4]))
   28077              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28078              :                        STRIP_UNARY (operands[4]))
   28079              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28080              :                        STRIP_UNARY (operands[3]))
   28081              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28082              :                        STRIP_UNARY (operands[3])))) && 
   28083              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28084              : (TARGET_AVX)) && 
   28085              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28086              : ( 1)))
   28087              :             return NULL;
   28088              :           return gen_split_2661 (insn, operands);
   28089              : 
   28090              :         case 11:
   28091              :           if (!(
   28092              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28093              : ((16 == 64 || TARGET_AVX512VL
   28094              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28095              :    && ix86_pre_reload_split ()
   28096              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28097              :                     STRIP_UNARY (operands[4]))
   28098              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28099              :                        STRIP_UNARY (operands[4]))
   28100              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28101              :                        STRIP_UNARY (operands[3]))
   28102              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28103              :                        STRIP_UNARY (operands[3])))) && 
   28104              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28105              : ( 1)))
   28106              :             return NULL;
   28107              :           return gen_split_2688 (insn, operands);
   28108              : 
   28109              :         default:
   28110              :           return NULL;
   28111              :         }
   28112              : 
   28113              :     case IOR:
   28114              :       switch (pattern537 (x2))
   28115              :         {
   28116              :         case 0:
   28117              :           if (!((
   28118              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28119              : ((64 == 64 || TARGET_AVX512VL
   28120              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28121              :    && ix86_pre_reload_split ()
   28122              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28123              :                     STRIP_UNARY (operands[4]))
   28124              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28125              :                        STRIP_UNARY (operands[4]))
   28126              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28127              :                        STRIP_UNARY (operands[3]))
   28128              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28129              :                        STRIP_UNARY (operands[3])))) && 
   28130              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28131              : (TARGET_AVX512F)) && 
   28132              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28133              : ( 1)))
   28134              :             return NULL;
   28135              :           return gen_split_2394 (insn, operands);
   28136              : 
   28137              :         case 1:
   28138              :           if (!((
   28139              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28140              : ((32 == 64 || TARGET_AVX512VL
   28141              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28142              :    && ix86_pre_reload_split ()
   28143              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28144              :                     STRIP_UNARY (operands[4]))
   28145              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28146              :                        STRIP_UNARY (operands[4]))
   28147              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28148              :                        STRIP_UNARY (operands[3]))
   28149              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28150              :                        STRIP_UNARY (operands[3])))) && 
   28151              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28152              : (TARGET_AVX)) && 
   28153              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28154              : ( 1)))
   28155              :             return NULL;
   28156              :           return gen_split_2421 (insn, operands);
   28157              : 
   28158              :         case 2:
   28159              :           if (!(
   28160              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28161              : ((16 == 64 || TARGET_AVX512VL
   28162              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28163              :    && ix86_pre_reload_split ()
   28164              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28165              :                     STRIP_UNARY (operands[4]))
   28166              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28167              :                        STRIP_UNARY (operands[4]))
   28168              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28169              :                        STRIP_UNARY (operands[3]))
   28170              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28171              :                        STRIP_UNARY (operands[3])))) && 
   28172              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28173              : ( 1)))
   28174              :             return NULL;
   28175              :           return gen_split_2448 (insn, operands);
   28176              : 
   28177              :         case 3:
   28178              :           if (!((
   28179              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28180              : ((64 == 64 || TARGET_AVX512VL
   28181              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28182              :    && ix86_pre_reload_split ()
   28183              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28184              :                     STRIP_UNARY (operands[4]))
   28185              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28186              :                        STRIP_UNARY (operands[4]))
   28187              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28188              :                        STRIP_UNARY (operands[3]))
   28189              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28190              :                        STRIP_UNARY (operands[3])))) && 
   28191              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28192              : (TARGET_AVX512F)) && 
   28193              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28194              : ( 1)))
   28195              :             return NULL;
   28196              :           return gen_split_2475 (insn, operands);
   28197              : 
   28198              :         case 4:
   28199              :           if (!((
   28200              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28201              : ((32 == 64 || TARGET_AVX512VL
   28202              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28203              :    && ix86_pre_reload_split ()
   28204              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28205              :                     STRIP_UNARY (operands[4]))
   28206              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28207              :                        STRIP_UNARY (operands[4]))
   28208              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28209              :                        STRIP_UNARY (operands[3]))
   28210              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28211              :                        STRIP_UNARY (operands[3])))) && 
   28212              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28213              : (TARGET_AVX)) && 
   28214              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28215              : ( 1)))
   28216              :             return NULL;
   28217              :           return gen_split_2502 (insn, operands);
   28218              : 
   28219              :         case 5:
   28220              :           if (!(
   28221              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28222              : ((16 == 64 || TARGET_AVX512VL
   28223              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28224              :    && ix86_pre_reload_split ()
   28225              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28226              :                     STRIP_UNARY (operands[4]))
   28227              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28228              :                        STRIP_UNARY (operands[4]))
   28229              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28230              :                        STRIP_UNARY (operands[3]))
   28231              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28232              :                        STRIP_UNARY (operands[3])))) && 
   28233              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28234              : ( 1)))
   28235              :             return NULL;
   28236              :           return gen_split_2529 (insn, operands);
   28237              : 
   28238              :         case 6:
   28239              :           if (!((
   28240              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28241              : ((64 == 64 || TARGET_AVX512VL
   28242              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28243              :    && ix86_pre_reload_split ()
   28244              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28245              :                     STRIP_UNARY (operands[4]))
   28246              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28247              :                        STRIP_UNARY (operands[4]))
   28248              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28249              :                        STRIP_UNARY (operands[3]))
   28250              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28251              :                        STRIP_UNARY (operands[3])))) && 
   28252              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28253              : (TARGET_AVX512F)) && 
   28254              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28255              : ( 1)))
   28256              :             return NULL;
   28257              :           return gen_split_2556 (insn, operands);
   28258              : 
   28259              :         case 7:
   28260              :           if (!((
   28261              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28262              : ((32 == 64 || TARGET_AVX512VL
   28263              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28264              :    && ix86_pre_reload_split ()
   28265              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28266              :                     STRIP_UNARY (operands[4]))
   28267              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28268              :                        STRIP_UNARY (operands[4]))
   28269              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28270              :                        STRIP_UNARY (operands[3]))
   28271              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28272              :                        STRIP_UNARY (operands[3])))) && 
   28273              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28274              : (TARGET_AVX)) && 
   28275              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28276              : ( 1)))
   28277              :             return NULL;
   28278              :           return gen_split_2583 (insn, operands);
   28279              : 
   28280              :         case 8:
   28281              :           if (!(
   28282              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28283              : ((16 == 64 || TARGET_AVX512VL
   28284              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28285              :    && ix86_pre_reload_split ()
   28286              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28287              :                     STRIP_UNARY (operands[4]))
   28288              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28289              :                        STRIP_UNARY (operands[4]))
   28290              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28291              :                        STRIP_UNARY (operands[3]))
   28292              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28293              :                        STRIP_UNARY (operands[3])))) && 
   28294              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28295              : ( 1)))
   28296              :             return NULL;
   28297              :           return gen_split_2610 (insn, operands);
   28298              : 
   28299              :         case 9:
   28300              :           if (!((
   28301              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28302              : ((64 == 64 || TARGET_AVX512VL
   28303              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28304              :    && ix86_pre_reload_split ()
   28305              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28306              :                     STRIP_UNARY (operands[4]))
   28307              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28308              :                        STRIP_UNARY (operands[4]))
   28309              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28310              :                        STRIP_UNARY (operands[3]))
   28311              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28312              :                        STRIP_UNARY (operands[3])))) && 
   28313              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28314              : (TARGET_AVX512F)) && 
   28315              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28316              : ( 1)))
   28317              :             return NULL;
   28318              :           return gen_split_2637 (insn, operands);
   28319              : 
   28320              :         case 10:
   28321              :           if (!((
   28322              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28323              : ((32 == 64 || TARGET_AVX512VL
   28324              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28325              :    && ix86_pre_reload_split ()
   28326              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28327              :                     STRIP_UNARY (operands[4]))
   28328              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28329              :                        STRIP_UNARY (operands[4]))
   28330              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28331              :                        STRIP_UNARY (operands[3]))
   28332              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28333              :                        STRIP_UNARY (operands[3])))) && 
   28334              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28335              : (TARGET_AVX)) && 
   28336              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28337              : ( 1)))
   28338              :             return NULL;
   28339              :           return gen_split_2664 (insn, operands);
   28340              : 
   28341              :         case 11:
   28342              :           if (!(
   28343              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28344              : ((16 == 64 || TARGET_AVX512VL
   28345              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28346              :    && ix86_pre_reload_split ()
   28347              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28348              :                     STRIP_UNARY (operands[4]))
   28349              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28350              :                        STRIP_UNARY (operands[4]))
   28351              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28352              :                        STRIP_UNARY (operands[3]))
   28353              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28354              :                        STRIP_UNARY (operands[3])))) && 
   28355              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28356              : ( 1)))
   28357              :             return NULL;
   28358              :           return gen_split_2691 (insn, operands);
   28359              : 
   28360              :         default:
   28361              :           return NULL;
   28362              :         }
   28363              : 
   28364              :     case XOR:
   28365              :       x5 = XEXP (x4, 0);
   28366              :       operands[1] = x5;
   28367              :       x6 = XEXP (x4, 1);
   28368              :       operands[2] = x6;
   28369              :       x7 = XEXP (x3, 1);
   28370              :       operands[3] = x7;
   28371              :       switch (GET_MODE (operands[0]))
   28372              :         {
   28373              :         case E_V64QImode:
   28374              :           if (pattern1197 (x2, 
   28375              : E_V64QImode) != 0
   28376              :               || !((
   28377              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28378              : ((64 == 64 || TARGET_AVX512VL
   28379              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28380              :    && ix86_pre_reload_split ()
   28381              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28382              :                     STRIP_UNARY (operands[4]))
   28383              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28384              :                        STRIP_UNARY (operands[4]))
   28385              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28386              :                        STRIP_UNARY (operands[3]))
   28387              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28388              :                        STRIP_UNARY (operands[3])))) && 
   28389              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28390              : (TARGET_AVX512F)) && 
   28391              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28392              : ( 1)))
   28393              :             return NULL;
   28394              :           return gen_split_2397 (insn, operands);
   28395              : 
   28396              :         case E_V32QImode:
   28397              :           if (pattern1007 (x2, 
   28398              : E_V32QImode) != 0)
   28399              :             return NULL;
   28400              :           if (regmem_or_bitnot_regmem_operand (operands[1], E_V32QImode)
   28401              :               && regmem_or_bitnot_regmem_operand (operands[2], E_V32QImode)
   28402              :               && regmem_or_bitnot_regmem_operand (operands[3], E_V32QImode))
   28403              :             {
   28404              :               x8 = XEXP (x2, 1);
   28405              :               operands[4] = x8;
   28406              :               if (regmem_or_bitnot_regmem_operand (operands[4], E_V32QImode)
   28407              :                   && ((
   28408              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28409              : ((32 == 64 || TARGET_AVX512VL
   28410              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28411              :    && ix86_pre_reload_split ()
   28412              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28413              :                     STRIP_UNARY (operands[4]))
   28414              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28415              :                        STRIP_UNARY (operands[4]))
   28416              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28417              :                        STRIP_UNARY (operands[3]))
   28418              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28419              :                        STRIP_UNARY (operands[3])))) && 
   28420              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28421              : (TARGET_AVX)) && 
   28422              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28423              : ( 1)))
   28424              :                 return gen_split_2424 (insn, operands);
   28425              :             }
   28426              :           if (!register_operand (operands[1], E_V32QImode)
   28427              :               || !register_operand (operands[2], E_V32QImode)
   28428              :               || !nonimmediate_operand (operands[3], E_V32QImode))
   28429              :             return NULL;
   28430              :           x8 = XEXP (x2, 1);
   28431              :           if (rtx_equal_p (x8, operands[1])
   28432              :               && 
   28433              : #line 26842 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28434              : (TARGET_XOP))
   28435              :             return gen_split_3793 (insn, operands);
   28436              :           if (!rtx_equal_p (x8, operands[2])
   28437              :               || !
   28438              : #line 26854 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28439              : (TARGET_XOP))
   28440              :             return NULL;
   28441              :           return gen_split_3809 (insn, operands);
   28442              : 
   28443              :         case E_V16QImode:
   28444              :           if (pattern1007 (x2, 
   28445              : E_V16QImode) != 0)
   28446              :             return NULL;
   28447              :           if (regmem_or_bitnot_regmem_operand (operands[1], E_V16QImode)
   28448              :               && regmem_or_bitnot_regmem_operand (operands[2], E_V16QImode)
   28449              :               && regmem_or_bitnot_regmem_operand (operands[3], E_V16QImode))
   28450              :             {
   28451              :               x8 = XEXP (x2, 1);
   28452              :               operands[4] = x8;
   28453              :               if (regmem_or_bitnot_regmem_operand (operands[4], E_V16QImode)
   28454              :                   && (
   28455              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28456              : ((16 == 64 || TARGET_AVX512VL
   28457              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28458              :    && ix86_pre_reload_split ()
   28459              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28460              :                     STRIP_UNARY (operands[4]))
   28461              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28462              :                        STRIP_UNARY (operands[4]))
   28463              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28464              :                        STRIP_UNARY (operands[3]))
   28465              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28466              :                        STRIP_UNARY (operands[3])))) && 
   28467              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28468              : ( 1)))
   28469              :                 return gen_split_2451 (insn, operands);
   28470              :             }
   28471              :           if (!register_operand (operands[1], E_V16QImode)
   28472              :               || !register_operand (operands[2], E_V16QImode)
   28473              :               || !nonimmediate_operand (operands[3], E_V16QImode))
   28474              :             return NULL;
   28475              :           x8 = XEXP (x2, 1);
   28476              :           if (rtx_equal_p (x8, operands[1])
   28477              :               && 
   28478              : #line 26842 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28479              : (TARGET_XOP))
   28480              :             return gen_split_3794 (insn, operands);
   28481              :           if (!rtx_equal_p (x8, operands[2])
   28482              :               || !
   28483              : #line 26854 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28484              : (TARGET_XOP))
   28485              :             return NULL;
   28486              :           return gen_split_3810 (insn, operands);
   28487              : 
   28488              :         case E_V32HImode:
   28489              :           if (pattern1197 (x2, 
   28490              : E_V32HImode) != 0
   28491              :               || !((
   28492              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28493              : ((64 == 64 || TARGET_AVX512VL
   28494              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28495              :    && ix86_pre_reload_split ()
   28496              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28497              :                     STRIP_UNARY (operands[4]))
   28498              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28499              :                        STRIP_UNARY (operands[4]))
   28500              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28501              :                        STRIP_UNARY (operands[3]))
   28502              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28503              :                        STRIP_UNARY (operands[3])))) && 
   28504              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28505              : (TARGET_AVX512F)) && 
   28506              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28507              : ( 1)))
   28508              :             return NULL;
   28509              :           return gen_split_2478 (insn, operands);
   28510              : 
   28511              :         case E_V16HImode:
   28512              :           if (pattern1007 (x2, 
   28513              : E_V16HImode) != 0)
   28514              :             return NULL;
   28515              :           if (regmem_or_bitnot_regmem_operand (operands[1], E_V16HImode)
   28516              :               && regmem_or_bitnot_regmem_operand (operands[2], E_V16HImode)
   28517              :               && regmem_or_bitnot_regmem_operand (operands[3], E_V16HImode))
   28518              :             {
   28519              :               x8 = XEXP (x2, 1);
   28520              :               operands[4] = x8;
   28521              :               if (regmem_or_bitnot_regmem_operand (operands[4], E_V16HImode)
   28522              :                   && ((
   28523              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28524              : ((32 == 64 || TARGET_AVX512VL
   28525              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28526              :    && ix86_pre_reload_split ()
   28527              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28528              :                     STRIP_UNARY (operands[4]))
   28529              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28530              :                        STRIP_UNARY (operands[4]))
   28531              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28532              :                        STRIP_UNARY (operands[3]))
   28533              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28534              :                        STRIP_UNARY (operands[3])))) && 
   28535              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28536              : (TARGET_AVX)) && 
   28537              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28538              : ( 1)))
   28539              :                 return gen_split_2505 (insn, operands);
   28540              :             }
   28541              :           if (!register_operand (operands[1], E_V16HImode)
   28542              :               || !register_operand (operands[2], E_V16HImode)
   28543              :               || !nonimmediate_operand (operands[3], E_V16HImode))
   28544              :             return NULL;
   28545              :           x8 = XEXP (x2, 1);
   28546              :           if (rtx_equal_p (x8, operands[1])
   28547              :               && 
   28548              : #line 26842 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28549              : (TARGET_XOP))
   28550              :             return gen_split_3795 (insn, operands);
   28551              :           if (!rtx_equal_p (x8, operands[2])
   28552              :               || !
   28553              : #line 26854 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28554              : (TARGET_XOP))
   28555              :             return NULL;
   28556              :           return gen_split_3811 (insn, operands);
   28557              : 
   28558              :         case E_V8HImode:
   28559              :           if (pattern1007 (x2, 
   28560              : E_V8HImode) != 0)
   28561              :             return NULL;
   28562              :           if (regmem_or_bitnot_regmem_operand (operands[1], E_V8HImode)
   28563              :               && regmem_or_bitnot_regmem_operand (operands[2], E_V8HImode)
   28564              :               && regmem_or_bitnot_regmem_operand (operands[3], E_V8HImode))
   28565              :             {
   28566              :               x8 = XEXP (x2, 1);
   28567              :               operands[4] = x8;
   28568              :               if (regmem_or_bitnot_regmem_operand (operands[4], E_V8HImode)
   28569              :                   && (
   28570              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28571              : ((16 == 64 || TARGET_AVX512VL
   28572              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28573              :    && ix86_pre_reload_split ()
   28574              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28575              :                     STRIP_UNARY (operands[4]))
   28576              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28577              :                        STRIP_UNARY (operands[4]))
   28578              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28579              :                        STRIP_UNARY (operands[3]))
   28580              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28581              :                        STRIP_UNARY (operands[3])))) && 
   28582              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28583              : ( 1)))
   28584              :                 return gen_split_2532 (insn, operands);
   28585              :             }
   28586              :           if (!register_operand (operands[1], E_V8HImode)
   28587              :               || !register_operand (operands[2], E_V8HImode)
   28588              :               || !nonimmediate_operand (operands[3], E_V8HImode))
   28589              :             return NULL;
   28590              :           x8 = XEXP (x2, 1);
   28591              :           if (rtx_equal_p (x8, operands[1])
   28592              :               && 
   28593              : #line 26842 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28594              : (TARGET_XOP))
   28595              :             return gen_split_3796 (insn, operands);
   28596              :           if (!rtx_equal_p (x8, operands[2])
   28597              :               || !
   28598              : #line 26854 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28599              : (TARGET_XOP))
   28600              :             return NULL;
   28601              :           return gen_split_3812 (insn, operands);
   28602              : 
   28603              :         case E_V16SImode:
   28604              :           if (pattern1197 (x2, 
   28605              : E_V16SImode) != 0
   28606              :               || !((
   28607              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28608              : ((64 == 64 || TARGET_AVX512VL
   28609              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28610              :    && ix86_pre_reload_split ()
   28611              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28612              :                     STRIP_UNARY (operands[4]))
   28613              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28614              :                        STRIP_UNARY (operands[4]))
   28615              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28616              :                        STRIP_UNARY (operands[3]))
   28617              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28618              :                        STRIP_UNARY (operands[3])))) && 
   28619              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28620              : (TARGET_AVX512F)) && 
   28621              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28622              : ( 1)))
   28623              :             return NULL;
   28624              :           return gen_split_2559 (insn, operands);
   28625              : 
   28626              :         case E_V8SImode:
   28627              :           if (pattern1007 (x2, 
   28628              : E_V8SImode) != 0)
   28629              :             return NULL;
   28630              :           if (regmem_or_bitnot_regmem_operand (operands[1], E_V8SImode)
   28631              :               && regmem_or_bitnot_regmem_operand (operands[2], E_V8SImode)
   28632              :               && regmem_or_bitnot_regmem_operand (operands[3], E_V8SImode))
   28633              :             {
   28634              :               x8 = XEXP (x2, 1);
   28635              :               operands[4] = x8;
   28636              :               if (regmem_or_bitnot_regmem_operand (operands[4], E_V8SImode)
   28637              :                   && ((
   28638              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28639              : ((32 == 64 || TARGET_AVX512VL
   28640              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28641              :    && ix86_pre_reload_split ()
   28642              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28643              :                     STRIP_UNARY (operands[4]))
   28644              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28645              :                        STRIP_UNARY (operands[4]))
   28646              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28647              :                        STRIP_UNARY (operands[3]))
   28648              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28649              :                        STRIP_UNARY (operands[3])))) && 
   28650              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28651              : (TARGET_AVX)) && 
   28652              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28653              : ( 1)))
   28654              :                 return gen_split_2586 (insn, operands);
   28655              :             }
   28656              :           if (!register_operand (operands[1], E_V8SImode)
   28657              :               || !register_operand (operands[2], E_V8SImode)
   28658              :               || !nonimmediate_operand (operands[3], E_V8SImode))
   28659              :             return NULL;
   28660              :           x8 = XEXP (x2, 1);
   28661              :           if (rtx_equal_p (x8, operands[1])
   28662              :               && 
   28663              : #line 26842 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28664              : (TARGET_XOP))
   28665              :             return gen_split_3797 (insn, operands);
   28666              :           if (!rtx_equal_p (x8, operands[2])
   28667              :               || !
   28668              : #line 26854 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28669              : (TARGET_XOP))
   28670              :             return NULL;
   28671              :           return gen_split_3813 (insn, operands);
   28672              : 
   28673              :         case E_V4SImode:
   28674              :           if (pattern1007 (x2, 
   28675              : E_V4SImode) != 0)
   28676              :             return NULL;
   28677              :           if (regmem_or_bitnot_regmem_operand (operands[1], E_V4SImode)
   28678              :               && regmem_or_bitnot_regmem_operand (operands[2], E_V4SImode)
   28679              :               && regmem_or_bitnot_regmem_operand (operands[3], E_V4SImode))
   28680              :             {
   28681              :               x8 = XEXP (x2, 1);
   28682              :               operands[4] = x8;
   28683              :               if (regmem_or_bitnot_regmem_operand (operands[4], E_V4SImode)
   28684              :                   && (
   28685              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28686              : ((16 == 64 || TARGET_AVX512VL
   28687              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28688              :    && ix86_pre_reload_split ()
   28689              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28690              :                     STRIP_UNARY (operands[4]))
   28691              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28692              :                        STRIP_UNARY (operands[4]))
   28693              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28694              :                        STRIP_UNARY (operands[3]))
   28695              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28696              :                        STRIP_UNARY (operands[3])))) && 
   28697              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28698              : ( 1)))
   28699              :                 return gen_split_2613 (insn, operands);
   28700              :             }
   28701              :           if (!register_operand (operands[1], E_V4SImode)
   28702              :               || !register_operand (operands[2], E_V4SImode)
   28703              :               || !nonimmediate_operand (operands[3], E_V4SImode))
   28704              :             return NULL;
   28705              :           x8 = XEXP (x2, 1);
   28706              :           if (rtx_equal_p (x8, operands[1])
   28707              :               && 
   28708              : #line 26842 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28709              : (TARGET_XOP))
   28710              :             return gen_split_3798 (insn, operands);
   28711              :           if (!rtx_equal_p (x8, operands[2])
   28712              :               || !
   28713              : #line 26854 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28714              : (TARGET_XOP))
   28715              :             return NULL;
   28716              :           return gen_split_3814 (insn, operands);
   28717              : 
   28718              :         case E_V8DImode:
   28719              :           if (pattern1197 (x2, 
   28720              : E_V8DImode) != 0
   28721              :               || !((
   28722              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28723              : ((64 == 64 || TARGET_AVX512VL
   28724              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28725              :    && ix86_pre_reload_split ()
   28726              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28727              :                     STRIP_UNARY (operands[4]))
   28728              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28729              :                        STRIP_UNARY (operands[4]))
   28730              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28731              :                        STRIP_UNARY (operands[3]))
   28732              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28733              :                        STRIP_UNARY (operands[3])))) && 
   28734              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28735              : (TARGET_AVX512F)) && 
   28736              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28737              : ( 1)))
   28738              :             return NULL;
   28739              :           return gen_split_2640 (insn, operands);
   28740              : 
   28741              :         case E_V4DImode:
   28742              :           if (pattern1007 (x2, 
   28743              : E_V4DImode) != 0)
   28744              :             return NULL;
   28745              :           if (regmem_or_bitnot_regmem_operand (operands[1], E_V4DImode)
   28746              :               && regmem_or_bitnot_regmem_operand (operands[2], E_V4DImode)
   28747              :               && regmem_or_bitnot_regmem_operand (operands[3], E_V4DImode))
   28748              :             {
   28749              :               x8 = XEXP (x2, 1);
   28750              :               operands[4] = x8;
   28751              :               if (regmem_or_bitnot_regmem_operand (operands[4], E_V4DImode)
   28752              :                   && ((
   28753              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28754              : ((32 == 64 || TARGET_AVX512VL
   28755              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28756              :    && ix86_pre_reload_split ()
   28757              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28758              :                     STRIP_UNARY (operands[4]))
   28759              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28760              :                        STRIP_UNARY (operands[4]))
   28761              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28762              :                        STRIP_UNARY (operands[3]))
   28763              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28764              :                        STRIP_UNARY (operands[3])))) && 
   28765              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28766              : (TARGET_AVX)) && 
   28767              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28768              : ( 1)))
   28769              :                 return gen_split_2667 (insn, operands);
   28770              :             }
   28771              :           if (!register_operand (operands[1], E_V4DImode)
   28772              :               || !register_operand (operands[2], E_V4DImode)
   28773              :               || !nonimmediate_operand (operands[3], E_V4DImode))
   28774              :             return NULL;
   28775              :           x8 = XEXP (x2, 1);
   28776              :           if (rtx_equal_p (x8, operands[1])
   28777              :               && 
   28778              : #line 26842 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28779              : (TARGET_XOP))
   28780              :             return gen_split_3799 (insn, operands);
   28781              :           if (!rtx_equal_p (x8, operands[2])
   28782              :               || !
   28783              : #line 26854 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28784              : (TARGET_XOP))
   28785              :             return NULL;
   28786              :           return gen_split_3815 (insn, operands);
   28787              : 
   28788              :         case E_V2DImode:
   28789              :           if (pattern1007 (x2, 
   28790              : E_V2DImode) != 0)
   28791              :             return NULL;
   28792              :           if (regmem_or_bitnot_regmem_operand (operands[1], E_V2DImode)
   28793              :               && regmem_or_bitnot_regmem_operand (operands[2], E_V2DImode)
   28794              :               && regmem_or_bitnot_regmem_operand (operands[3], E_V2DImode))
   28795              :             {
   28796              :               x8 = XEXP (x2, 1);
   28797              :               operands[4] = x8;
   28798              :               if (regmem_or_bitnot_regmem_operand (operands[4], E_V2DImode)
   28799              :                   && (
   28800              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28801              : ((16 == 64 || TARGET_AVX512VL
   28802              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28803              :    && ix86_pre_reload_split ()
   28804              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28805              :                     STRIP_UNARY (operands[4]))
   28806              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28807              :                        STRIP_UNARY (operands[4]))
   28808              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28809              :                        STRIP_UNARY (operands[3]))
   28810              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28811              :                        STRIP_UNARY (operands[3])))) && 
   28812              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28813              : ( 1)))
   28814              :                 return gen_split_2694 (insn, operands);
   28815              :             }
   28816              :           if (!register_operand (operands[1], E_V2DImode)
   28817              :               || !register_operand (operands[2], E_V2DImode)
   28818              :               || !nonimmediate_operand (operands[3], E_V2DImode))
   28819              :             return NULL;
   28820              :           x8 = XEXP (x2, 1);
   28821              :           if (rtx_equal_p (x8, operands[1])
   28822              :               && 
   28823              : #line 26842 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28824              : (TARGET_XOP))
   28825              :             return gen_split_3800 (insn, operands);
   28826              :           if (!rtx_equal_p (x8, operands[2])
   28827              :               || !
   28828              : #line 26854 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28829              : (TARGET_XOP))
   28830              :             return NULL;
   28831              :           return gen_split_3816 (insn, operands);
   28832              : 
   28833              :         case E_V2TImode:
   28834              :           if (pattern1198 (x2, 
   28835              : E_V2TImode) != 0)
   28836              :             return NULL;
   28837              :           x8 = XEXP (x2, 1);
   28838              :           if (rtx_equal_p (x8, operands[1])
   28839              :               && 
   28840              : #line 26842 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28841              : (TARGET_XOP))
   28842              :             return gen_split_3801 (insn, operands);
   28843              :           if (!rtx_equal_p (x8, operands[2])
   28844              :               || !
   28845              : #line 26854 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28846              : (TARGET_XOP))
   28847              :             return NULL;
   28848              :           return gen_split_3817 (insn, operands);
   28849              : 
   28850              :         case E_V1TImode:
   28851              :           if (pattern1198 (x2, 
   28852              : E_V1TImode) != 0)
   28853              :             return NULL;
   28854              :           x8 = XEXP (x2, 1);
   28855              :           if (rtx_equal_p (x8, operands[1])
   28856              :               && 
   28857              : #line 26842 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28858              : (TARGET_XOP))
   28859              :             return gen_split_3802 (insn, operands);
   28860              :           if (!rtx_equal_p (x8, operands[2])
   28861              :               || !
   28862              : #line 26854 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28863              : (TARGET_XOP))
   28864              :             return NULL;
   28865              :           return gen_split_3818 (insn, operands);
   28866              : 
   28867              :         default:
   28868              :           return NULL;
   28869              :         }
   28870              : 
   28871              :     default:
   28872              :       return NULL;
   28873              :     }
   28874              : }
   28875              : 
   28876              :  rtx_insn *
   28877              : split_82 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
   28878              : {
   28879              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   28880              :   rtx x2, x3, x4, x5;
   28881              :   rtx_insn *res ATTRIBUTE_UNUSED;
   28882              :   x2 = XEXP (x1, 1);
   28883              :   switch (GET_CODE (x2))
   28884              :     {
   28885              :     case AND:
   28886              :       res = split_64 (x1, insn);
   28887              :       if (res != NULL_RTX)
   28888              :         return res;
   28889              :       break;
   28890              : 
   28891              :     case IOR:
   28892              :       res = split_71 (x1, insn);
   28893              :       if (res != NULL_RTX)
   28894              :         return res;
   28895              :       break;
   28896              : 
   28897              :     case XOR:
   28898              :       x3 = XEXP (x2, 0);
   28899              :       switch (GET_CODE (x3))
   28900              :         {
   28901              :         case AND:
   28902              :           res = split_66 (x1, insn);
   28903              :           if (res != NULL_RTX)
   28904              :             return res;
   28905              :           break;
   28906              : 
   28907              :         case IOR:
   28908              :           res = split_67 (x1, insn);
   28909              :           if (res != NULL_RTX)
   28910              :             return res;
   28911              :           break;
   28912              : 
   28913              :         case XOR:
   28914              :           x4 = XEXP (x3, 0);
   28915              :           switch (GET_CODE (x4))
   28916              :             {
   28917              :             case REG:
   28918              :             case SUBREG:
   28919              :             case MEM:
   28920              :             case NOT:
   28921              :               switch (pattern535 (x2))
   28922              :                 {
   28923              :                 case 0:
   28924              :                   if (((
   28925              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28926              : ((64 == 64 || TARGET_AVX512VL
   28927              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28928              :    && ix86_pre_reload_split ()
   28929              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28930              :                     STRIP_UNARY (operands[4]))
   28931              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28932              :                        STRIP_UNARY (operands[4]))
   28933              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28934              :                        STRIP_UNARY (operands[3]))
   28935              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28936              :                        STRIP_UNARY (operands[3])))) && 
   28937              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28938              : (TARGET_AVX512F)) && 
   28939              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28940              : ( 1)))
   28941              :                     return gen_split_1761 (insn, operands);
   28942              :                   break;
   28943              : 
   28944              :                 case 1:
   28945              :                   if (((
   28946              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28947              : ((32 == 64 || TARGET_AVX512VL
   28948              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28949              :    && ix86_pre_reload_split ()
   28950              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28951              :                     STRIP_UNARY (operands[4]))
   28952              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28953              :                        STRIP_UNARY (operands[4]))
   28954              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28955              :                        STRIP_UNARY (operands[3]))
   28956              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28957              :                        STRIP_UNARY (operands[3])))) && 
   28958              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28959              : (TARGET_AVX)) && 
   28960              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28961              : ( 1)))
   28962              :                     return gen_split_1788 (insn, operands);
   28963              :                   break;
   28964              : 
   28965              :                 case 2:
   28966              :                   if ((
   28967              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28968              : ((16 == 64 || TARGET_AVX512VL
   28969              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28970              :    && ix86_pre_reload_split ()
   28971              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28972              :                     STRIP_UNARY (operands[4]))
   28973              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28974              :                        STRIP_UNARY (operands[4]))
   28975              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28976              :                        STRIP_UNARY (operands[3]))
   28977              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28978              :                        STRIP_UNARY (operands[3])))) && 
   28979              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28980              : ( 1)))
   28981              :                     return gen_split_1815 (insn, operands);
   28982              :                   break;
   28983              : 
   28984              :                 case 3:
   28985              :                   if (((
   28986              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28987              : ((64 == 64 || TARGET_AVX512VL
   28988              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28989              :    && ix86_pre_reload_split ()
   28990              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28991              :                     STRIP_UNARY (operands[4]))
   28992              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28993              :                        STRIP_UNARY (operands[4]))
   28994              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28995              :                        STRIP_UNARY (operands[3]))
   28996              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28997              :                        STRIP_UNARY (operands[3])))) && 
   28998              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28999              : (TARGET_AVX512F)) && 
   29000              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29001              : ( 1)))
   29002              :                     return gen_split_1842 (insn, operands);
   29003              :                   break;
   29004              : 
   29005              :                 case 4:
   29006              :                   if (((
   29007              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29008              : ((32 == 64 || TARGET_AVX512VL
   29009              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29010              :    && ix86_pre_reload_split ()
   29011              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29012              :                     STRIP_UNARY (operands[4]))
   29013              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29014              :                        STRIP_UNARY (operands[4]))
   29015              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29016              :                        STRIP_UNARY (operands[3]))
   29017              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29018              :                        STRIP_UNARY (operands[3])))) && 
   29019              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29020              : (TARGET_AVX)) && 
   29021              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29022              : ( 1)))
   29023              :                     return gen_split_1869 (insn, operands);
   29024              :                   break;
   29025              : 
   29026              :                 case 5:
   29027              :                   if ((
   29028              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29029              : ((16 == 64 || TARGET_AVX512VL
   29030              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29031              :    && ix86_pre_reload_split ()
   29032              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29033              :                     STRIP_UNARY (operands[4]))
   29034              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29035              :                        STRIP_UNARY (operands[4]))
   29036              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29037              :                        STRIP_UNARY (operands[3]))
   29038              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29039              :                        STRIP_UNARY (operands[3])))) && 
   29040              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29041              : ( 1)))
   29042              :                     return gen_split_1896 (insn, operands);
   29043              :                   break;
   29044              : 
   29045              :                 case 6:
   29046              :                   if (((
   29047              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29048              : ((64 == 64 || TARGET_AVX512VL
   29049              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29050              :    && ix86_pre_reload_split ()
   29051              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29052              :                     STRIP_UNARY (operands[4]))
   29053              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29054              :                        STRIP_UNARY (operands[4]))
   29055              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29056              :                        STRIP_UNARY (operands[3]))
   29057              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29058              :                        STRIP_UNARY (operands[3])))) && 
   29059              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29060              : (TARGET_AVX512F)) && 
   29061              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29062              : ( 1)))
   29063              :                     return gen_split_1923 (insn, operands);
   29064              :                   break;
   29065              : 
   29066              :                 case 7:
   29067              :                   if (((
   29068              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29069              : ((32 == 64 || TARGET_AVX512VL
   29070              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29071              :    && ix86_pre_reload_split ()
   29072              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29073              :                     STRIP_UNARY (operands[4]))
   29074              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29075              :                        STRIP_UNARY (operands[4]))
   29076              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29077              :                        STRIP_UNARY (operands[3]))
   29078              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29079              :                        STRIP_UNARY (operands[3])))) && 
   29080              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29081              : (TARGET_AVX)) && 
   29082              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29083              : ( 1)))
   29084              :                     return gen_split_1950 (insn, operands);
   29085              :                   break;
   29086              : 
   29087              :                 case 8:
   29088              :                   if ((
   29089              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29090              : ((16 == 64 || TARGET_AVX512VL
   29091              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29092              :    && ix86_pre_reload_split ()
   29093              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29094              :                     STRIP_UNARY (operands[4]))
   29095              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29096              :                        STRIP_UNARY (operands[4]))
   29097              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29098              :                        STRIP_UNARY (operands[3]))
   29099              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29100              :                        STRIP_UNARY (operands[3])))) && 
   29101              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29102              : ( 1)))
   29103              :                     return gen_split_1977 (insn, operands);
   29104              :                   break;
   29105              : 
   29106              :                 case 9:
   29107              :                   if (((
   29108              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29109              : ((64 == 64 || TARGET_AVX512VL
   29110              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29111              :    && ix86_pre_reload_split ()
   29112              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29113              :                     STRIP_UNARY (operands[4]))
   29114              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29115              :                        STRIP_UNARY (operands[4]))
   29116              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29117              :                        STRIP_UNARY (operands[3]))
   29118              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29119              :                        STRIP_UNARY (operands[3])))) && 
   29120              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29121              : (TARGET_AVX512F)) && 
   29122              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29123              : ( 1)))
   29124              :                     return gen_split_2004 (insn, operands);
   29125              :                   break;
   29126              : 
   29127              :                 case 10:
   29128              :                   if (((
   29129              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29130              : ((32 == 64 || TARGET_AVX512VL
   29131              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29132              :    && ix86_pre_reload_split ()
   29133              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29134              :                     STRIP_UNARY (operands[4]))
   29135              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29136              :                        STRIP_UNARY (operands[4]))
   29137              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29138              :                        STRIP_UNARY (operands[3]))
   29139              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29140              :                        STRIP_UNARY (operands[3])))) && 
   29141              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29142              : (TARGET_AVX)) && 
   29143              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29144              : ( 1)))
   29145              :                     return gen_split_2031 (insn, operands);
   29146              :                   break;
   29147              : 
   29148              :                 case 11:
   29149              :                   if ((
   29150              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29151              : ((16 == 64 || TARGET_AVX512VL
   29152              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29153              :    && ix86_pre_reload_split ()
   29154              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29155              :                     STRIP_UNARY (operands[4]))
   29156              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29157              :                        STRIP_UNARY (operands[4]))
   29158              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29159              :                        STRIP_UNARY (operands[3]))
   29160              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29161              :                        STRIP_UNARY (operands[3])))) && 
   29162              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29163              : ( 1)))
   29164              :                     return gen_split_2058 (insn, operands);
   29165              :                   break;
   29166              : 
   29167              :                 case 12:
   29168              :                   if (((
   29169              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29170              : ((64 == 64 || TARGET_AVX512VL
   29171              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29172              :    && ix86_pre_reload_split ()
   29173              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29174              :                     STRIP_UNARY (operands[4]))
   29175              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29176              :                        STRIP_UNARY (operands[4]))
   29177              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29178              :                        STRIP_UNARY (operands[3]))
   29179              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29180              :                        STRIP_UNARY (operands[3])))) && 
   29181              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29182              : (TARGET_AVX512F)) && 
   29183              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29184              : ( 1)))
   29185              :                     return gen_split_1764 (insn, operands);
   29186              :                   break;
   29187              : 
   29188              :                 case 13:
   29189              :                   if (((
   29190              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29191              : ((32 == 64 || TARGET_AVX512VL
   29192              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29193              :    && ix86_pre_reload_split ()
   29194              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29195              :                     STRIP_UNARY (operands[4]))
   29196              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29197              :                        STRIP_UNARY (operands[4]))
   29198              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29199              :                        STRIP_UNARY (operands[3]))
   29200              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29201              :                        STRIP_UNARY (operands[3])))) && 
   29202              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29203              : (TARGET_AVX)) && 
   29204              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29205              : ( 1)))
   29206              :                     return gen_split_1791 (insn, operands);
   29207              :                   break;
   29208              : 
   29209              :                 case 14:
   29210              :                   if ((
   29211              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29212              : ((16 == 64 || TARGET_AVX512VL
   29213              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29214              :    && ix86_pre_reload_split ()
   29215              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29216              :                     STRIP_UNARY (operands[4]))
   29217              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29218              :                        STRIP_UNARY (operands[4]))
   29219              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29220              :                        STRIP_UNARY (operands[3]))
   29221              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29222              :                        STRIP_UNARY (operands[3])))) && 
   29223              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29224              : ( 1)))
   29225              :                     return gen_split_1818 (insn, operands);
   29226              :                   break;
   29227              : 
   29228              :                 case 15:
   29229              :                   if (((
   29230              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29231              : ((64 == 64 || TARGET_AVX512VL
   29232              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29233              :    && ix86_pre_reload_split ()
   29234              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29235              :                     STRIP_UNARY (operands[4]))
   29236              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29237              :                        STRIP_UNARY (operands[4]))
   29238              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29239              :                        STRIP_UNARY (operands[3]))
   29240              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29241              :                        STRIP_UNARY (operands[3])))) && 
   29242              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29243              : (TARGET_AVX512F)) && 
   29244              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29245              : ( 1)))
   29246              :                     return gen_split_1845 (insn, operands);
   29247              :                   break;
   29248              : 
   29249              :                 case 16:
   29250              :                   if (((
   29251              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29252              : ((32 == 64 || TARGET_AVX512VL
   29253              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29254              :    && ix86_pre_reload_split ()
   29255              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29256              :                     STRIP_UNARY (operands[4]))
   29257              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29258              :                        STRIP_UNARY (operands[4]))
   29259              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29260              :                        STRIP_UNARY (operands[3]))
   29261              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29262              :                        STRIP_UNARY (operands[3])))) && 
   29263              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29264              : (TARGET_AVX)) && 
   29265              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29266              : ( 1)))
   29267              :                     return gen_split_1872 (insn, operands);
   29268              :                   break;
   29269              : 
   29270              :                 case 17:
   29271              :                   if ((
   29272              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29273              : ((16 == 64 || TARGET_AVX512VL
   29274              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29275              :    && ix86_pre_reload_split ()
   29276              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29277              :                     STRIP_UNARY (operands[4]))
   29278              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29279              :                        STRIP_UNARY (operands[4]))
   29280              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29281              :                        STRIP_UNARY (operands[3]))
   29282              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29283              :                        STRIP_UNARY (operands[3])))) && 
   29284              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29285              : ( 1)))
   29286              :                     return gen_split_1899 (insn, operands);
   29287              :                   break;
   29288              : 
   29289              :                 case 18:
   29290              :                   if (((
   29291              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29292              : ((64 == 64 || TARGET_AVX512VL
   29293              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29294              :    && ix86_pre_reload_split ()
   29295              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29296              :                     STRIP_UNARY (operands[4]))
   29297              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29298              :                        STRIP_UNARY (operands[4]))
   29299              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29300              :                        STRIP_UNARY (operands[3]))
   29301              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29302              :                        STRIP_UNARY (operands[3])))) && 
   29303              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29304              : (TARGET_AVX512F)) && 
   29305              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29306              : ( 1)))
   29307              :                     return gen_split_1926 (insn, operands);
   29308              :                   break;
   29309              : 
   29310              :                 case 19:
   29311              :                   if (((
   29312              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29313              : ((32 == 64 || TARGET_AVX512VL
   29314              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29315              :    && ix86_pre_reload_split ()
   29316              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29317              :                     STRIP_UNARY (operands[4]))
   29318              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29319              :                        STRIP_UNARY (operands[4]))
   29320              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29321              :                        STRIP_UNARY (operands[3]))
   29322              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29323              :                        STRIP_UNARY (operands[3])))) && 
   29324              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29325              : (TARGET_AVX)) && 
   29326              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29327              : ( 1)))
   29328              :                     return gen_split_1953 (insn, operands);
   29329              :                   break;
   29330              : 
   29331              :                 case 20:
   29332              :                   if ((
   29333              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29334              : ((16 == 64 || TARGET_AVX512VL
   29335              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29336              :    && ix86_pre_reload_split ()
   29337              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29338              :                     STRIP_UNARY (operands[4]))
   29339              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29340              :                        STRIP_UNARY (operands[4]))
   29341              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29342              :                        STRIP_UNARY (operands[3]))
   29343              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29344              :                        STRIP_UNARY (operands[3])))) && 
   29345              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29346              : ( 1)))
   29347              :                     return gen_split_1980 (insn, operands);
   29348              :                   break;
   29349              : 
   29350              :                 case 21:
   29351              :                   if (((
   29352              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29353              : ((64 == 64 || TARGET_AVX512VL
   29354              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29355              :    && ix86_pre_reload_split ()
   29356              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29357              :                     STRIP_UNARY (operands[4]))
   29358              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29359              :                        STRIP_UNARY (operands[4]))
   29360              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29361              :                        STRIP_UNARY (operands[3]))
   29362              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29363              :                        STRIP_UNARY (operands[3])))) && 
   29364              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29365              : (TARGET_AVX512F)) && 
   29366              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29367              : ( 1)))
   29368              :                     return gen_split_2007 (insn, operands);
   29369              :                   break;
   29370              : 
   29371              :                 case 22:
   29372              :                   if (((
   29373              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29374              : ((32 == 64 || TARGET_AVX512VL
   29375              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29376              :    && ix86_pre_reload_split ()
   29377              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29378              :                     STRIP_UNARY (operands[4]))
   29379              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29380              :                        STRIP_UNARY (operands[4]))
   29381              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29382              :                        STRIP_UNARY (operands[3]))
   29383              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29384              :                        STRIP_UNARY (operands[3])))) && 
   29385              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29386              : (TARGET_AVX)) && 
   29387              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29388              : ( 1)))
   29389              :                     return gen_split_2034 (insn, operands);
   29390              :                   break;
   29391              : 
   29392              :                 case 23:
   29393              :                   if ((
   29394              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29395              : ((16 == 64 || TARGET_AVX512VL
   29396              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29397              :    && ix86_pre_reload_split ()
   29398              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29399              :                     STRIP_UNARY (operands[4]))
   29400              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29401              :                        STRIP_UNARY (operands[4]))
   29402              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29403              :                        STRIP_UNARY (operands[3]))
   29404              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29405              :                        STRIP_UNARY (operands[3])))) && 
   29406              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29407              : ( 1)))
   29408              :                     return gen_split_2061 (insn, operands);
   29409              :                   break;
   29410              : 
   29411              :                 case 24:
   29412              :                   if (((
   29413              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29414              : ((64 == 64 || TARGET_AVX512VL
   29415              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29416              :    && ix86_pre_reload_split ()
   29417              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29418              :                     STRIP_UNARY (operands[4]))
   29419              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29420              :                        STRIP_UNARY (operands[4]))
   29421              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29422              :                        STRIP_UNARY (operands[3]))
   29423              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29424              :                        STRIP_UNARY (operands[3])))) && 
   29425              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29426              : (TARGET_AVX512F)) && 
   29427              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29428              : ( 1)))
   29429              :                     return gen_split_1767 (insn, operands);
   29430              :                   break;
   29431              : 
   29432              :                 case 25:
   29433              :                   if (((
   29434              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29435              : ((32 == 64 || TARGET_AVX512VL
   29436              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29437              :    && ix86_pre_reload_split ()
   29438              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29439              :                     STRIP_UNARY (operands[4]))
   29440              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29441              :                        STRIP_UNARY (operands[4]))
   29442              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29443              :                        STRIP_UNARY (operands[3]))
   29444              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29445              :                        STRIP_UNARY (operands[3])))) && 
   29446              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29447              : (TARGET_AVX)) && 
   29448              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29449              : ( 1)))
   29450              :                     return gen_split_1794 (insn, operands);
   29451              :                   break;
   29452              : 
   29453              :                 case 26:
   29454              :                   if ((
   29455              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29456              : ((16 == 64 || TARGET_AVX512VL
   29457              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29458              :    && ix86_pre_reload_split ()
   29459              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29460              :                     STRIP_UNARY (operands[4]))
   29461              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29462              :                        STRIP_UNARY (operands[4]))
   29463              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29464              :                        STRIP_UNARY (operands[3]))
   29465              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29466              :                        STRIP_UNARY (operands[3])))) && 
   29467              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29468              : ( 1)))
   29469              :                     return gen_split_1821 (insn, operands);
   29470              :                   break;
   29471              : 
   29472              :                 case 27:
   29473              :                   if (((
   29474              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29475              : ((64 == 64 || TARGET_AVX512VL
   29476              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29477              :    && ix86_pre_reload_split ()
   29478              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29479              :                     STRIP_UNARY (operands[4]))
   29480              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29481              :                        STRIP_UNARY (operands[4]))
   29482              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29483              :                        STRIP_UNARY (operands[3]))
   29484              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29485              :                        STRIP_UNARY (operands[3])))) && 
   29486              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29487              : (TARGET_AVX512F)) && 
   29488              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29489              : ( 1)))
   29490              :                     return gen_split_1848 (insn, operands);
   29491              :                   break;
   29492              : 
   29493              :                 case 28:
   29494              :                   if (((
   29495              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29496              : ((32 == 64 || TARGET_AVX512VL
   29497              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29498              :    && ix86_pre_reload_split ()
   29499              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29500              :                     STRIP_UNARY (operands[4]))
   29501              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29502              :                        STRIP_UNARY (operands[4]))
   29503              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29504              :                        STRIP_UNARY (operands[3]))
   29505              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29506              :                        STRIP_UNARY (operands[3])))) && 
   29507              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29508              : (TARGET_AVX)) && 
   29509              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29510              : ( 1)))
   29511              :                     return gen_split_1875 (insn, operands);
   29512              :                   break;
   29513              : 
   29514              :                 case 29:
   29515              :                   if ((
   29516              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29517              : ((16 == 64 || TARGET_AVX512VL
   29518              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29519              :    && ix86_pre_reload_split ()
   29520              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29521              :                     STRIP_UNARY (operands[4]))
   29522              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29523              :                        STRIP_UNARY (operands[4]))
   29524              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29525              :                        STRIP_UNARY (operands[3]))
   29526              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29527              :                        STRIP_UNARY (operands[3])))) && 
   29528              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29529              : ( 1)))
   29530              :                     return gen_split_1902 (insn, operands);
   29531              :                   break;
   29532              : 
   29533              :                 case 30:
   29534              :                   if (((
   29535              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29536              : ((64 == 64 || TARGET_AVX512VL
   29537              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29538              :    && ix86_pre_reload_split ()
   29539              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29540              :                     STRIP_UNARY (operands[4]))
   29541              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29542              :                        STRIP_UNARY (operands[4]))
   29543              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29544              :                        STRIP_UNARY (operands[3]))
   29545              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29546              :                        STRIP_UNARY (operands[3])))) && 
   29547              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29548              : (TARGET_AVX512F)) && 
   29549              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29550              : ( 1)))
   29551              :                     return gen_split_1929 (insn, operands);
   29552              :                   break;
   29553              : 
   29554              :                 case 31:
   29555              :                   if (((
   29556              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29557              : ((32 == 64 || TARGET_AVX512VL
   29558              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29559              :    && ix86_pre_reload_split ()
   29560              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29561              :                     STRIP_UNARY (operands[4]))
   29562              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29563              :                        STRIP_UNARY (operands[4]))
   29564              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29565              :                        STRIP_UNARY (operands[3]))
   29566              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29567              :                        STRIP_UNARY (operands[3])))) && 
   29568              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29569              : (TARGET_AVX)) && 
   29570              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29571              : ( 1)))
   29572              :                     return gen_split_1956 (insn, operands);
   29573              :                   break;
   29574              : 
   29575              :                 case 32:
   29576              :                   if ((
   29577              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29578              : ((16 == 64 || TARGET_AVX512VL
   29579              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29580              :    && ix86_pre_reload_split ()
   29581              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29582              :                     STRIP_UNARY (operands[4]))
   29583              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29584              :                        STRIP_UNARY (operands[4]))
   29585              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29586              :                        STRIP_UNARY (operands[3]))
   29587              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29588              :                        STRIP_UNARY (operands[3])))) && 
   29589              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29590              : ( 1)))
   29591              :                     return gen_split_1983 (insn, operands);
   29592              :                   break;
   29593              : 
   29594              :                 case 33:
   29595              :                   if (((
   29596              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29597              : ((64 == 64 || TARGET_AVX512VL
   29598              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29599              :    && ix86_pre_reload_split ()
   29600              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29601              :                     STRIP_UNARY (operands[4]))
   29602              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29603              :                        STRIP_UNARY (operands[4]))
   29604              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29605              :                        STRIP_UNARY (operands[3]))
   29606              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29607              :                        STRIP_UNARY (operands[3])))) && 
   29608              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29609              : (TARGET_AVX512F)) && 
   29610              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29611              : ( 1)))
   29612              :                     return gen_split_2010 (insn, operands);
   29613              :                   break;
   29614              : 
   29615              :                 case 34:
   29616              :                   if (((
   29617              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29618              : ((32 == 64 || TARGET_AVX512VL
   29619              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29620              :    && ix86_pre_reload_split ()
   29621              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29622              :                     STRIP_UNARY (operands[4]))
   29623              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29624              :                        STRIP_UNARY (operands[4]))
   29625              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29626              :                        STRIP_UNARY (operands[3]))
   29627              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29628              :                        STRIP_UNARY (operands[3])))) && 
   29629              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29630              : (TARGET_AVX)) && 
   29631              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29632              : ( 1)))
   29633              :                     return gen_split_2037 (insn, operands);
   29634              :                   break;
   29635              : 
   29636              :                 case 35:
   29637              :                   if ((
   29638              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29639              : ((16 == 64 || TARGET_AVX512VL
   29640              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29641              :    && ix86_pre_reload_split ()
   29642              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29643              :                     STRIP_UNARY (operands[4]))
   29644              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29645              :                        STRIP_UNARY (operands[4]))
   29646              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29647              :                        STRIP_UNARY (operands[3]))
   29648              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29649              :                        STRIP_UNARY (operands[3])))) && 
   29650              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29651              : ( 1)))
   29652              :                     return gen_split_2064 (insn, operands);
   29653              :                   break;
   29654              : 
   29655              :                 case 36:
   29656              :                   if (((
   29657              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29658              : ((64 == 64 || TARGET_AVX512VL
   29659              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29660              :    && ix86_pre_reload_split ()) && 
   29661              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29662              : (TARGET_AVX512F)) && 
   29663              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29664              : ( 1)))
   29665              :                     return gen_split_3045 (insn, operands);
   29666              :                   break;
   29667              : 
   29668              :                 case 37:
   29669              :                   if (((
   29670              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29671              : ((32 == 64 || TARGET_AVX512VL
   29672              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29673              :    && ix86_pre_reload_split ()) && 
   29674              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29675              : (TARGET_AVX)) && 
   29676              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29677              : ( 1)))
   29678              :                     return gen_split_3054 (insn, operands);
   29679              :                   break;
   29680              : 
   29681              :                 case 38:
   29682              :                   if ((
   29683              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29684              : ((16 == 64 || TARGET_AVX512VL
   29685              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29686              :    && ix86_pre_reload_split ()) && 
   29687              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29688              : ( 1)))
   29689              :                     return gen_split_3063 (insn, operands);
   29690              :                   break;
   29691              : 
   29692              :                 case 39:
   29693              :                   if (((
   29694              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29695              : ((64 == 64 || TARGET_AVX512VL
   29696              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29697              :    && ix86_pre_reload_split ()) && 
   29698              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29699              : (TARGET_AVX512F)) && 
   29700              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29701              : ( 1)))
   29702              :                     return gen_split_3072 (insn, operands);
   29703              :                   break;
   29704              : 
   29705              :                 case 40:
   29706              :                   if (((
   29707              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29708              : ((32 == 64 || TARGET_AVX512VL
   29709              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29710              :    && ix86_pre_reload_split ()) && 
   29711              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29712              : (TARGET_AVX)) && 
   29713              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29714              : ( 1)))
   29715              :                     return gen_split_3081 (insn, operands);
   29716              :                   break;
   29717              : 
   29718              :                 case 41:
   29719              :                   if ((
   29720              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29721              : ((16 == 64 || TARGET_AVX512VL
   29722              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29723              :    && ix86_pre_reload_split ()) && 
   29724              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29725              : ( 1)))
   29726              :                     return gen_split_3090 (insn, operands);
   29727              :                   break;
   29728              : 
   29729              :                 case 42:
   29730              :                   if (((
   29731              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29732              : ((64 == 64 || TARGET_AVX512VL
   29733              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29734              :    && ix86_pre_reload_split ()) && 
   29735              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29736              : (TARGET_AVX512F)) && 
   29737              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29738              : ( 1)))
   29739              :                     return gen_split_3099 (insn, operands);
   29740              :                   break;
   29741              : 
   29742              :                 case 43:
   29743              :                   if (((
   29744              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29745              : ((32 == 64 || TARGET_AVX512VL
   29746              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29747              :    && ix86_pre_reload_split ()) && 
   29748              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29749              : (TARGET_AVX)) && 
   29750              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29751              : ( 1)))
   29752              :                     return gen_split_3108 (insn, operands);
   29753              :                   break;
   29754              : 
   29755              :                 case 44:
   29756              :                   if ((
   29757              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29758              : ((16 == 64 || TARGET_AVX512VL
   29759              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29760              :    && ix86_pre_reload_split ()) && 
   29761              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29762              : ( 1)))
   29763              :                     return gen_split_3117 (insn, operands);
   29764              :                   break;
   29765              : 
   29766              :                 case 45:
   29767              :                   if (((
   29768              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29769              : ((64 == 64 || TARGET_AVX512VL
   29770              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29771              :    && ix86_pre_reload_split ()) && 
   29772              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29773              : (TARGET_AVX512F)) && 
   29774              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29775              : ( 1)))
   29776              :                     return gen_split_3126 (insn, operands);
   29777              :                   break;
   29778              : 
   29779              :                 case 46:
   29780              :                   if (((
   29781              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29782              : ((32 == 64 || TARGET_AVX512VL
   29783              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29784              :    && ix86_pre_reload_split ()) && 
   29785              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29786              : (TARGET_AVX)) && 
   29787              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29788              : ( 1)))
   29789              :                     return gen_split_3135 (insn, operands);
   29790              :                   break;
   29791              : 
   29792              :                 case 47:
   29793              :                   if ((
   29794              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29795              : ((16 == 64 || TARGET_AVX512VL
   29796              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29797              :    && ix86_pre_reload_split ()) && 
   29798              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29799              : ( 1)))
   29800              :                     return gen_split_3144 (insn, operands);
   29801              :                   break;
   29802              : 
   29803              :                 default:
   29804              :                   break;
   29805              :                 }
   29806              :               break;
   29807              : 
   29808              :             case AND:
   29809              :               switch (pattern537 (x2))
   29810              :                 {
   29811              :                 case 0:
   29812              :                   if (((
   29813              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29814              : ((64 == 64 || TARGET_AVX512VL
   29815              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29816              :    && ix86_pre_reload_split ()
   29817              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29818              :                     STRIP_UNARY (operands[4]))
   29819              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29820              :                        STRIP_UNARY (operands[4]))
   29821              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29822              :                        STRIP_UNARY (operands[3]))
   29823              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29824              :                        STRIP_UNARY (operands[3])))) && 
   29825              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29826              : (TARGET_AVX512F)) && 
   29827              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29828              : ( 1)))
   29829              :                     return gen_split_2409 (insn, operands);
   29830              :                   break;
   29831              : 
   29832              :                 case 1:
   29833              :                   if (((
   29834              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29835              : ((32 == 64 || TARGET_AVX512VL
   29836              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29837              :    && ix86_pre_reload_split ()
   29838              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29839              :                     STRIP_UNARY (operands[4]))
   29840              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29841              :                        STRIP_UNARY (operands[4]))
   29842              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29843              :                        STRIP_UNARY (operands[3]))
   29844              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29845              :                        STRIP_UNARY (operands[3])))) && 
   29846              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29847              : (TARGET_AVX)) && 
   29848              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29849              : ( 1)))
   29850              :                     return gen_split_2436 (insn, operands);
   29851              :                   break;
   29852              : 
   29853              :                 case 2:
   29854              :                   if ((
   29855              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29856              : ((16 == 64 || TARGET_AVX512VL
   29857              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29858              :    && ix86_pre_reload_split ()
   29859              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29860              :                     STRIP_UNARY (operands[4]))
   29861              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29862              :                        STRIP_UNARY (operands[4]))
   29863              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29864              :                        STRIP_UNARY (operands[3]))
   29865              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29866              :                        STRIP_UNARY (operands[3])))) && 
   29867              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29868              : ( 1)))
   29869              :                     return gen_split_2463 (insn, operands);
   29870              :                   break;
   29871              : 
   29872              :                 case 3:
   29873              :                   if (((
   29874              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29875              : ((64 == 64 || TARGET_AVX512VL
   29876              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29877              :    && ix86_pre_reload_split ()
   29878              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29879              :                     STRIP_UNARY (operands[4]))
   29880              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29881              :                        STRIP_UNARY (operands[4]))
   29882              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29883              :                        STRIP_UNARY (operands[3]))
   29884              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29885              :                        STRIP_UNARY (operands[3])))) && 
   29886              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29887              : (TARGET_AVX512F)) && 
   29888              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29889              : ( 1)))
   29890              :                     return gen_split_2490 (insn, operands);
   29891              :                   break;
   29892              : 
   29893              :                 case 4:
   29894              :                   if (((
   29895              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29896              : ((32 == 64 || TARGET_AVX512VL
   29897              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29898              :    && ix86_pre_reload_split ()
   29899              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29900              :                     STRIP_UNARY (operands[4]))
   29901              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29902              :                        STRIP_UNARY (operands[4]))
   29903              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29904              :                        STRIP_UNARY (operands[3]))
   29905              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29906              :                        STRIP_UNARY (operands[3])))) && 
   29907              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29908              : (TARGET_AVX)) && 
   29909              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29910              : ( 1)))
   29911              :                     return gen_split_2517 (insn, operands);
   29912              :                   break;
   29913              : 
   29914              :                 case 5:
   29915              :                   if ((
   29916              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29917              : ((16 == 64 || TARGET_AVX512VL
   29918              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29919              :    && ix86_pre_reload_split ()
   29920              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29921              :                     STRIP_UNARY (operands[4]))
   29922              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29923              :                        STRIP_UNARY (operands[4]))
   29924              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29925              :                        STRIP_UNARY (operands[3]))
   29926              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29927              :                        STRIP_UNARY (operands[3])))) && 
   29928              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29929              : ( 1)))
   29930              :                     return gen_split_2544 (insn, operands);
   29931              :                   break;
   29932              : 
   29933              :                 case 6:
   29934              :                   if (((
   29935              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29936              : ((64 == 64 || TARGET_AVX512VL
   29937              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29938              :    && ix86_pre_reload_split ()
   29939              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29940              :                     STRIP_UNARY (operands[4]))
   29941              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29942              :                        STRIP_UNARY (operands[4]))
   29943              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29944              :                        STRIP_UNARY (operands[3]))
   29945              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29946              :                        STRIP_UNARY (operands[3])))) && 
   29947              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29948              : (TARGET_AVX512F)) && 
   29949              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29950              : ( 1)))
   29951              :                     return gen_split_2571 (insn, operands);
   29952              :                   break;
   29953              : 
   29954              :                 case 7:
   29955              :                   if (((
   29956              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29957              : ((32 == 64 || TARGET_AVX512VL
   29958              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29959              :    && ix86_pre_reload_split ()
   29960              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29961              :                     STRIP_UNARY (operands[4]))
   29962              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29963              :                        STRIP_UNARY (operands[4]))
   29964              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29965              :                        STRIP_UNARY (operands[3]))
   29966              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29967              :                        STRIP_UNARY (operands[3])))) && 
   29968              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29969              : (TARGET_AVX)) && 
   29970              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29971              : ( 1)))
   29972              :                     return gen_split_2598 (insn, operands);
   29973              :                   break;
   29974              : 
   29975              :                 case 8:
   29976              :                   if ((
   29977              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29978              : ((16 == 64 || TARGET_AVX512VL
   29979              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29980              :    && ix86_pre_reload_split ()
   29981              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29982              :                     STRIP_UNARY (operands[4]))
   29983              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29984              :                        STRIP_UNARY (operands[4]))
   29985              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29986              :                        STRIP_UNARY (operands[3]))
   29987              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29988              :                        STRIP_UNARY (operands[3])))) && 
   29989              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29990              : ( 1)))
   29991              :                     return gen_split_2625 (insn, operands);
   29992              :                   break;
   29993              : 
   29994              :                 case 9:
   29995              :                   if (((
   29996              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29997              : ((64 == 64 || TARGET_AVX512VL
   29998              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29999              :    && ix86_pre_reload_split ()
   30000              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   30001              :                     STRIP_UNARY (operands[4]))
   30002              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30003              :                        STRIP_UNARY (operands[4]))
   30004              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   30005              :                        STRIP_UNARY (operands[3]))
   30006              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30007              :                        STRIP_UNARY (operands[3])))) && 
   30008              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30009              : (TARGET_AVX512F)) && 
   30010              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30011              : ( 1)))
   30012              :                     return gen_split_2652 (insn, operands);
   30013              :                   break;
   30014              : 
   30015              :                 case 10:
   30016              :                   if (((
   30017              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30018              : ((32 == 64 || TARGET_AVX512VL
   30019              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30020              :    && ix86_pre_reload_split ()
   30021              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   30022              :                     STRIP_UNARY (operands[4]))
   30023              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30024              :                        STRIP_UNARY (operands[4]))
   30025              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   30026              :                        STRIP_UNARY (operands[3]))
   30027              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30028              :                        STRIP_UNARY (operands[3])))) && 
   30029              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30030              : (TARGET_AVX)) && 
   30031              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30032              : ( 1)))
   30033              :                     return gen_split_2679 (insn, operands);
   30034              :                   break;
   30035              : 
   30036              :                 case 11:
   30037              :                   if ((
   30038              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30039              : ((16 == 64 || TARGET_AVX512VL
   30040              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30041              :    && ix86_pre_reload_split ()
   30042              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   30043              :                     STRIP_UNARY (operands[4]))
   30044              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30045              :                        STRIP_UNARY (operands[4]))
   30046              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   30047              :                        STRIP_UNARY (operands[3]))
   30048              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30049              :                        STRIP_UNARY (operands[3])))) && 
   30050              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30051              : ( 1)))
   30052              :                     return gen_split_2706 (insn, operands);
   30053              :                   break;
   30054              : 
   30055              :                 default:
   30056              :                   break;
   30057              :                 }
   30058              :               break;
   30059              : 
   30060              :             case IOR:
   30061              :               switch (pattern537 (x2))
   30062              :                 {
   30063              :                 case 0:
   30064              :                   if (((
   30065              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30066              : ((64 == 64 || TARGET_AVX512VL
   30067              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30068              :    && ix86_pre_reload_split ()
   30069              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   30070              :                     STRIP_UNARY (operands[4]))
   30071              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30072              :                        STRIP_UNARY (operands[4]))
   30073              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   30074              :                        STRIP_UNARY (operands[3]))
   30075              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30076              :                        STRIP_UNARY (operands[3])))) && 
   30077              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30078              : (TARGET_AVX512F)) && 
   30079              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30080              : ( 1)))
   30081              :                     return gen_split_2412 (insn, operands);
   30082              :                   break;
   30083              : 
   30084              :                 case 1:
   30085              :                   if (((
   30086              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30087              : ((32 == 64 || TARGET_AVX512VL
   30088              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30089              :    && ix86_pre_reload_split ()
   30090              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   30091              :                     STRIP_UNARY (operands[4]))
   30092              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30093              :                        STRIP_UNARY (operands[4]))
   30094              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   30095              :                        STRIP_UNARY (operands[3]))
   30096              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30097              :                        STRIP_UNARY (operands[3])))) && 
   30098              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30099              : (TARGET_AVX)) && 
   30100              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30101              : ( 1)))
   30102              :                     return gen_split_2439 (insn, operands);
   30103              :                   break;
   30104              : 
   30105              :                 case 2:
   30106              :                   if ((
   30107              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30108              : ((16 == 64 || TARGET_AVX512VL
   30109              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30110              :    && ix86_pre_reload_split ()
   30111              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   30112              :                     STRIP_UNARY (operands[4]))
   30113              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30114              :                        STRIP_UNARY (operands[4]))
   30115              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   30116              :                        STRIP_UNARY (operands[3]))
   30117              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30118              :                        STRIP_UNARY (operands[3])))) && 
   30119              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30120              : ( 1)))
   30121              :                     return gen_split_2466 (insn, operands);
   30122              :                   break;
   30123              : 
   30124              :                 case 3:
   30125              :                   if (((
   30126              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30127              : ((64 == 64 || TARGET_AVX512VL
   30128              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30129              :    && ix86_pre_reload_split ()
   30130              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   30131              :                     STRIP_UNARY (operands[4]))
   30132              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30133              :                        STRIP_UNARY (operands[4]))
   30134              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   30135              :                        STRIP_UNARY (operands[3]))
   30136              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30137              :                        STRIP_UNARY (operands[3])))) && 
   30138              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30139              : (TARGET_AVX512F)) && 
   30140              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30141              : ( 1)))
   30142              :                     return gen_split_2493 (insn, operands);
   30143              :                   break;
   30144              : 
   30145              :                 case 4:
   30146              :                   if (((
   30147              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30148              : ((32 == 64 || TARGET_AVX512VL
   30149              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30150              :    && ix86_pre_reload_split ()
   30151              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   30152              :                     STRIP_UNARY (operands[4]))
   30153              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30154              :                        STRIP_UNARY (operands[4]))
   30155              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   30156              :                        STRIP_UNARY (operands[3]))
   30157              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30158              :                        STRIP_UNARY (operands[3])))) && 
   30159              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30160              : (TARGET_AVX)) && 
   30161              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30162              : ( 1)))
   30163              :                     return gen_split_2520 (insn, operands);
   30164              :                   break;
   30165              : 
   30166              :                 case 5:
   30167              :                   if ((
   30168              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30169              : ((16 == 64 || TARGET_AVX512VL
   30170              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30171              :    && ix86_pre_reload_split ()
   30172              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   30173              :                     STRIP_UNARY (operands[4]))
   30174              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30175              :                        STRIP_UNARY (operands[4]))
   30176              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   30177              :                        STRIP_UNARY (operands[3]))
   30178              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30179              :                        STRIP_UNARY (operands[3])))) && 
   30180              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30181              : ( 1)))
   30182              :                     return gen_split_2547 (insn, operands);
   30183              :                   break;
   30184              : 
   30185              :                 case 6:
   30186              :                   if (((
   30187              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30188              : ((64 == 64 || TARGET_AVX512VL
   30189              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30190              :    && ix86_pre_reload_split ()
   30191              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   30192              :                     STRIP_UNARY (operands[4]))
   30193              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30194              :                        STRIP_UNARY (operands[4]))
   30195              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   30196              :                        STRIP_UNARY (operands[3]))
   30197              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30198              :                        STRIP_UNARY (operands[3])))) && 
   30199              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30200              : (TARGET_AVX512F)) && 
   30201              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30202              : ( 1)))
   30203              :                     return gen_split_2574 (insn, operands);
   30204              :                   break;
   30205              : 
   30206              :                 case 7:
   30207              :                   if (((
   30208              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30209              : ((32 == 64 || TARGET_AVX512VL
   30210              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30211              :    && ix86_pre_reload_split ()
   30212              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   30213              :                     STRIP_UNARY (operands[4]))
   30214              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30215              :                        STRIP_UNARY (operands[4]))
   30216              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   30217              :                        STRIP_UNARY (operands[3]))
   30218              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30219              :                        STRIP_UNARY (operands[3])))) && 
   30220              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30221              : (TARGET_AVX)) && 
   30222              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30223              : ( 1)))
   30224              :                     return gen_split_2601 (insn, operands);
   30225              :                   break;
   30226              : 
   30227              :                 case 8:
   30228              :                   if ((
   30229              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30230              : ((16 == 64 || TARGET_AVX512VL
   30231              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30232              :    && ix86_pre_reload_split ()
   30233              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   30234              :                     STRIP_UNARY (operands[4]))
   30235              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30236              :                        STRIP_UNARY (operands[4]))
   30237              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   30238              :                        STRIP_UNARY (operands[3]))
   30239              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30240              :                        STRIP_UNARY (operands[3])))) && 
   30241              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30242              : ( 1)))
   30243              :                     return gen_split_2628 (insn, operands);
   30244              :                   break;
   30245              : 
   30246              :                 case 9:
   30247              :                   if (((
   30248              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30249              : ((64 == 64 || TARGET_AVX512VL
   30250              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30251              :    && ix86_pre_reload_split ()
   30252              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   30253              :                     STRIP_UNARY (operands[4]))
   30254              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30255              :                        STRIP_UNARY (operands[4]))
   30256              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   30257              :                        STRIP_UNARY (operands[3]))
   30258              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30259              :                        STRIP_UNARY (operands[3])))) && 
   30260              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30261              : (TARGET_AVX512F)) && 
   30262              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30263              : ( 1)))
   30264              :                     return gen_split_2655 (insn, operands);
   30265              :                   break;
   30266              : 
   30267              :                 case 10:
   30268              :                   if (((
   30269              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30270              : ((32 == 64 || TARGET_AVX512VL
   30271              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30272              :    && ix86_pre_reload_split ()
   30273              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   30274              :                     STRIP_UNARY (operands[4]))
   30275              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30276              :                        STRIP_UNARY (operands[4]))
   30277              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   30278              :                        STRIP_UNARY (operands[3]))
   30279              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30280              :                        STRIP_UNARY (operands[3])))) && 
   30281              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30282              : (TARGET_AVX)) && 
   30283              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30284              : ( 1)))
   30285              :                     return gen_split_2682 (insn, operands);
   30286              :                   break;
   30287              : 
   30288              :                 case 11:
   30289              :                   if ((
   30290              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30291              : ((16 == 64 || TARGET_AVX512VL
   30292              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30293              :    && ix86_pre_reload_split ()
   30294              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   30295              :                     STRIP_UNARY (operands[4]))
   30296              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30297              :                        STRIP_UNARY (operands[4]))
   30298              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   30299              :                        STRIP_UNARY (operands[3]))
   30300              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30301              :                        STRIP_UNARY (operands[3])))) && 
   30302              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30303              : ( 1)))
   30304              :                     return gen_split_2709 (insn, operands);
   30305              :                   break;
   30306              : 
   30307              :                 default:
   30308              :                   break;
   30309              :                 }
   30310              :               break;
   30311              : 
   30312              :             case XOR:
   30313              :               switch (pattern537 (x2))
   30314              :                 {
   30315              :                 case 0:
   30316              :                   if (((
   30317              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30318              : ((64 == 64 || TARGET_AVX512VL
   30319              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30320              :    && ix86_pre_reload_split ()
   30321              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   30322              :                     STRIP_UNARY (operands[4]))
   30323              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30324              :                        STRIP_UNARY (operands[4]))
   30325              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   30326              :                        STRIP_UNARY (operands[3]))
   30327              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30328              :                        STRIP_UNARY (operands[3])))) && 
   30329              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30330              : (TARGET_AVX512F)) && 
   30331              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30332              : ( 1)))
   30333              :                     return gen_split_2415 (insn, operands);
   30334              :                   break;
   30335              : 
   30336              :                 case 1:
   30337              :                   if (((
   30338              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30339              : ((32 == 64 || TARGET_AVX512VL
   30340              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30341              :    && ix86_pre_reload_split ()
   30342              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   30343              :                     STRIP_UNARY (operands[4]))
   30344              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30345              :                        STRIP_UNARY (operands[4]))
   30346              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   30347              :                        STRIP_UNARY (operands[3]))
   30348              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30349              :                        STRIP_UNARY (operands[3])))) && 
   30350              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30351              : (TARGET_AVX)) && 
   30352              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30353              : ( 1)))
   30354              :                     return gen_split_2442 (insn, operands);
   30355              :                   break;
   30356              : 
   30357              :                 case 2:
   30358              :                   if ((
   30359              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30360              : ((16 == 64 || TARGET_AVX512VL
   30361              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30362              :    && ix86_pre_reload_split ()
   30363              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   30364              :                     STRIP_UNARY (operands[4]))
   30365              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30366              :                        STRIP_UNARY (operands[4]))
   30367              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   30368              :                        STRIP_UNARY (operands[3]))
   30369              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30370              :                        STRIP_UNARY (operands[3])))) && 
   30371              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30372              : ( 1)))
   30373              :                     return gen_split_2469 (insn, operands);
   30374              :                   break;
   30375              : 
   30376              :                 case 3:
   30377              :                   if (((
   30378              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30379              : ((64 == 64 || TARGET_AVX512VL
   30380              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30381              :    && ix86_pre_reload_split ()
   30382              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   30383              :                     STRIP_UNARY (operands[4]))
   30384              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30385              :                        STRIP_UNARY (operands[4]))
   30386              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   30387              :                        STRIP_UNARY (operands[3]))
   30388              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30389              :                        STRIP_UNARY (operands[3])))) && 
   30390              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30391              : (TARGET_AVX512F)) && 
   30392              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30393              : ( 1)))
   30394              :                     return gen_split_2496 (insn, operands);
   30395              :                   break;
   30396              : 
   30397              :                 case 4:
   30398              :                   if (((
   30399              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30400              : ((32 == 64 || TARGET_AVX512VL
   30401              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30402              :    && ix86_pre_reload_split ()
   30403              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   30404              :                     STRIP_UNARY (operands[4]))
   30405              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30406              :                        STRIP_UNARY (operands[4]))
   30407              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   30408              :                        STRIP_UNARY (operands[3]))
   30409              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30410              :                        STRIP_UNARY (operands[3])))) && 
   30411              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30412              : (TARGET_AVX)) && 
   30413              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30414              : ( 1)))
   30415              :                     return gen_split_2523 (insn, operands);
   30416              :                   break;
   30417              : 
   30418              :                 case 5:
   30419              :                   if ((
   30420              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30421              : ((16 == 64 || TARGET_AVX512VL
   30422              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30423              :    && ix86_pre_reload_split ()
   30424              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   30425              :                     STRIP_UNARY (operands[4]))
   30426              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30427              :                        STRIP_UNARY (operands[4]))
   30428              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   30429              :                        STRIP_UNARY (operands[3]))
   30430              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30431              :                        STRIP_UNARY (operands[3])))) && 
   30432              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30433              : ( 1)))
   30434              :                     return gen_split_2550 (insn, operands);
   30435              :                   break;
   30436              : 
   30437              :                 case 6:
   30438              :                   if (((
   30439              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30440              : ((64 == 64 || TARGET_AVX512VL
   30441              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30442              :    && ix86_pre_reload_split ()
   30443              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   30444              :                     STRIP_UNARY (operands[4]))
   30445              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30446              :                        STRIP_UNARY (operands[4]))
   30447              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   30448              :                        STRIP_UNARY (operands[3]))
   30449              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30450              :                        STRIP_UNARY (operands[3])))) && 
   30451              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30452              : (TARGET_AVX512F)) && 
   30453              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30454              : ( 1)))
   30455              :                     return gen_split_2577 (insn, operands);
   30456              :                   break;
   30457              : 
   30458              :                 case 7:
   30459              :                   if (((
   30460              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30461              : ((32 == 64 || TARGET_AVX512VL
   30462              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30463              :    && ix86_pre_reload_split ()
   30464              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   30465              :                     STRIP_UNARY (operands[4]))
   30466              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30467              :                        STRIP_UNARY (operands[4]))
   30468              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   30469              :                        STRIP_UNARY (operands[3]))
   30470              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30471              :                        STRIP_UNARY (operands[3])))) && 
   30472              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30473              : (TARGET_AVX)) && 
   30474              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30475              : ( 1)))
   30476              :                     return gen_split_2604 (insn, operands);
   30477              :                   break;
   30478              : 
   30479              :                 case 8:
   30480              :                   if ((
   30481              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30482              : ((16 == 64 || TARGET_AVX512VL
   30483              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30484              :    && ix86_pre_reload_split ()
   30485              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   30486              :                     STRIP_UNARY (operands[4]))
   30487              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30488              :                        STRIP_UNARY (operands[4]))
   30489              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   30490              :                        STRIP_UNARY (operands[3]))
   30491              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30492              :                        STRIP_UNARY (operands[3])))) && 
   30493              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30494              : ( 1)))
   30495              :                     return gen_split_2631 (insn, operands);
   30496              :                   break;
   30497              : 
   30498              :                 case 9:
   30499              :                   if (((
   30500              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30501              : ((64 == 64 || TARGET_AVX512VL
   30502              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30503              :    && ix86_pre_reload_split ()
   30504              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   30505              :                     STRIP_UNARY (operands[4]))
   30506              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30507              :                        STRIP_UNARY (operands[4]))
   30508              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   30509              :                        STRIP_UNARY (operands[3]))
   30510              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30511              :                        STRIP_UNARY (operands[3])))) && 
   30512              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30513              : (TARGET_AVX512F)) && 
   30514              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30515              : ( 1)))
   30516              :                     return gen_split_2658 (insn, operands);
   30517              :                   break;
   30518              : 
   30519              :                 case 10:
   30520              :                   if (((
   30521              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30522              : ((32 == 64 || TARGET_AVX512VL
   30523              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30524              :    && ix86_pre_reload_split ()
   30525              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   30526              :                     STRIP_UNARY (operands[4]))
   30527              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30528              :                        STRIP_UNARY (operands[4]))
   30529              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   30530              :                        STRIP_UNARY (operands[3]))
   30531              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30532              :                        STRIP_UNARY (operands[3])))) && 
   30533              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30534              : (TARGET_AVX)) && 
   30535              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30536              : ( 1)))
   30537              :                     return gen_split_2685 (insn, operands);
   30538              :                   break;
   30539              : 
   30540              :                 case 11:
   30541              :                   if ((
   30542              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30543              : ((16 == 64 || TARGET_AVX512VL
   30544              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30545              :    && ix86_pre_reload_split ()
   30546              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   30547              :                     STRIP_UNARY (operands[4]))
   30548              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30549              :                        STRIP_UNARY (operands[4]))
   30550              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   30551              :                        STRIP_UNARY (operands[3]))
   30552              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30553              :                        STRIP_UNARY (operands[3])))) && 
   30554              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30555              : ( 1)))
   30556              :                     return gen_split_2712 (insn, operands);
   30557              :                   break;
   30558              : 
   30559              :                 default:
   30560              :                   break;
   30561              :                 }
   30562              :               break;
   30563              : 
   30564              :             default:
   30565              :               break;
   30566              :             }
   30567              :           break;
   30568              : 
   30569              :         case REG:
   30570              :         case SUBREG:
   30571              :         case MEM:
   30572              :         case VEC_DUPLICATE:
   30573              :           operands[1] = x3;
   30574              :           x5 = XEXP (x2, 1);
   30575              :           operands[2] = x5;
   30576              :           switch (GET_MODE (operands[0]))
   30577              :             {
   30578              :             case E_V16SImode:
   30579              :               if (pattern934 (x2, 
   30580              : E_V16SImode) == 0
   30581              :                   && ((
   30582              : #line 18698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30583              : (TARGET_AVX512F
   30584              :    && (!false
   30585              :        || SImode == SImode
   30586              :        || SImode == DImode)) && 
   30587              : #line 556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30588              : (TARGET_AVX512F)) && 
   30589              : #line 18708 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30590              : ( reload_completed && !REG_P (operands[1]) && !false
   30591              :    && optimize_insn_for_speed_p ())))
   30592              :                 return gen_split_3418 (insn, operands);
   30593              :               break;
   30594              : 
   30595              :             case E_V8DImode:
   30596              :               if (pattern934 (x2, 
   30597              : E_V8DImode) == 0
   30598              :                   && ((
   30599              : #line 18698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30600              : (TARGET_AVX512F
   30601              :    && (!false
   30602              :        || DImode == SImode
   30603              :        || DImode == DImode)) && 
   30604              : #line 556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30605              : (TARGET_AVX512F)) && 
   30606              : #line 18708 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30607              : ( reload_completed && !REG_P (operands[1]) && !false
   30608              :    && optimize_insn_for_speed_p ())))
   30609              :                 return gen_split_3419 (insn, operands);
   30610              :               break;
   30611              : 
   30612              :             case E_V64QImode:
   30613              :               if (pattern934 (x2, 
   30614              : E_V64QImode) == 0
   30615              :                   && ((
   30616              : #line 18698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30617              : (TARGET_AVX512F
   30618              :    && (!false
   30619              :        || QImode == SImode
   30620              :        || QImode == DImode)) && 
   30621              : #line 557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30622              : (TARGET_AVX512BW)) && 
   30623              : #line 18708 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30624              : ( reload_completed && !REG_P (operands[1]) && !false
   30625              :    && optimize_insn_for_speed_p ())))
   30626              :                 return gen_split_3420 (insn, operands);
   30627              :               break;
   30628              : 
   30629              :             case E_V32QImode:
   30630              :               if (pattern934 (x2, 
   30631              : E_V32QImode) == 0
   30632              :                   && ((
   30633              : #line 18698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30634              : (TARGET_AVX512F
   30635              :    && (!false
   30636              :        || QImode == SImode
   30637              :        || QImode == DImode)) && 
   30638              : #line 557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30639              : (TARGET_AVX)) && 
   30640              : #line 18708 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30641              : ( reload_completed && !REG_P (operands[1]) && !false
   30642              :    && optimize_insn_for_speed_p ())))
   30643              :                 return gen_split_3421 (insn, operands);
   30644              :               break;
   30645              : 
   30646              :             case E_V16QImode:
   30647              :               if (pattern934 (x2, 
   30648              : E_V16QImode) == 0
   30649              :                   && (
   30650              : #line 18698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30651              : (TARGET_AVX512F
   30652              :    && (!false
   30653              :        || QImode == SImode
   30654              :        || QImode == DImode)) && 
   30655              : #line 18708 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30656              : ( reload_completed && !REG_P (operands[1]) && !false
   30657              :    && optimize_insn_for_speed_p ())))
   30658              :                 return gen_split_3422 (insn, operands);
   30659              :               break;
   30660              : 
   30661              :             case E_V32HImode:
   30662              :               if (pattern934 (x2, 
   30663              : E_V32HImode) == 0
   30664              :                   && ((
   30665              : #line 18698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30666              : (TARGET_AVX512F
   30667              :    && (!false
   30668              :        || HImode == SImode
   30669              :        || HImode == DImode)) && 
   30670              : #line 558 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30671              : (TARGET_AVX512BW)) && 
   30672              : #line 18708 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30673              : ( reload_completed && !REG_P (operands[1]) && !false
   30674              :    && optimize_insn_for_speed_p ())))
   30675              :                 return gen_split_3423 (insn, operands);
   30676              :               break;
   30677              : 
   30678              :             case E_V16HImode:
   30679              :               if (pattern934 (x2, 
   30680              : E_V16HImode) == 0
   30681              :                   && ((
   30682              : #line 18698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30683              : (TARGET_AVX512F
   30684              :    && (!false
   30685              :        || HImode == SImode
   30686              :        || HImode == DImode)) && 
   30687              : #line 558 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30688              : (TARGET_AVX)) && 
   30689              : #line 18708 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30690              : ( reload_completed && !REG_P (operands[1]) && !false
   30691              :    && optimize_insn_for_speed_p ())))
   30692              :                 return gen_split_3424 (insn, operands);
   30693              :               break;
   30694              : 
   30695              :             case E_V8HImode:
   30696              :               if (pattern934 (x2, 
   30697              : E_V8HImode) == 0
   30698              :                   && (
   30699              : #line 18698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30700              : (TARGET_AVX512F
   30701              :    && (!false
   30702              :        || HImode == SImode
   30703              :        || HImode == DImode)) && 
   30704              : #line 18708 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30705              : ( reload_completed && !REG_P (operands[1]) && !false
   30706              :    && optimize_insn_for_speed_p ())))
   30707              :                 return gen_split_3425 (insn, operands);
   30708              :               break;
   30709              : 
   30710              :             case E_V8SImode:
   30711              :               if (pattern934 (x2, 
   30712              : E_V8SImode) == 0
   30713              :                   && ((
   30714              : #line 18698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30715              : (TARGET_AVX512F
   30716              :    && (!false
   30717              :        || SImode == SImode
   30718              :        || SImode == DImode)) && 
   30719              : #line 559 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30720              : (TARGET_AVX)) && 
   30721              : #line 18708 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30722              : ( reload_completed && !REG_P (operands[1]) && !false
   30723              :    && optimize_insn_for_speed_p ())))
   30724              :                 return gen_split_3426 (insn, operands);
   30725              :               break;
   30726              : 
   30727              :             case E_V4SImode:
   30728              :               if (pattern934 (x2, 
   30729              : E_V4SImode) == 0
   30730              :                   && (
   30731              : #line 18698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30732              : (TARGET_AVX512F
   30733              :    && (!false
   30734              :        || SImode == SImode
   30735              :        || SImode == DImode)) && 
   30736              : #line 18708 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30737              : ( reload_completed && !REG_P (operands[1]) && !false
   30738              :    && optimize_insn_for_speed_p ())))
   30739              :                 return gen_split_3427 (insn, operands);
   30740              :               break;
   30741              : 
   30742              :             case E_V4DImode:
   30743              :               if (pattern934 (x2, 
   30744              : E_V4DImode) == 0
   30745              :                   && ((
   30746              : #line 18698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30747              : (TARGET_AVX512F
   30748              :    && (!false
   30749              :        || DImode == SImode
   30750              :        || DImode == DImode)) && 
   30751              : #line 560 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30752              : (TARGET_AVX)) && 
   30753              : #line 18708 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30754              : ( reload_completed && !REG_P (operands[1]) && !false
   30755              :    && optimize_insn_for_speed_p ())))
   30756              :                 return gen_split_3428 (insn, operands);
   30757              :               break;
   30758              : 
   30759              :             case E_V2DImode:
   30760              :               if (pattern934 (x2, 
   30761              : E_V2DImode) == 0
   30762              :                   && (
   30763              : #line 18698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30764              : (TARGET_AVX512F
   30765              :    && (!false
   30766              :        || DImode == SImode
   30767              :        || DImode == DImode)) && 
   30768              : #line 18708 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30769              : ( reload_completed && !REG_P (operands[1]) && !false
   30770              :    && optimize_insn_for_speed_p ())))
   30771              :                 return gen_split_3429 (insn, operands);
   30772              :               break;
   30773              : 
   30774              :             default:
   30775              :               break;
   30776              :             }
   30777              :           if (GET_CODE (x3) == VEC_DUPLICATE)
   30778              :             {
   30779              :               switch (pattern605 (x2))
   30780              :                 {
   30781              :                 case 0:
   30782              :                   if ((
   30783              : #line 19001 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30784              : (64 == 64 || TARGET_AVX512VL
   30785              :    || (TARGET_AVX512F && !TARGET_PREFER_AVX256)) && 
   30786              : #line 556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30787              : (TARGET_AVX512F)))
   30788              :                     return gen_split_3462 (insn, operands);
   30789              :                   break;
   30790              : 
   30791              :                 case 1:
   30792              :                   if ((
   30793              : #line 19001 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30794              : (64 == 64 || TARGET_AVX512VL
   30795              :    || (TARGET_AVX512F && !TARGET_PREFER_AVX256)) && 
   30796              : #line 556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30797              : (TARGET_AVX512F)))
   30798              :                     return gen_split_3463 (insn, operands);
   30799              :                   break;
   30800              : 
   30801              :                 case 2:
   30802              :                   if ((
   30803              : #line 19001 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30804              : (64 == 64 || TARGET_AVX512VL
   30805              :    || (TARGET_AVX512F && !TARGET_PREFER_AVX256)) && 
   30806              : #line 557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30807              : (TARGET_AVX512BW)))
   30808              :                     return gen_split_3464 (insn, operands);
   30809              :                   break;
   30810              : 
   30811              :                 case 3:
   30812              :                   if ((
   30813              : #line 19001 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30814              : (32 == 64 || TARGET_AVX512VL
   30815              :    || (TARGET_AVX512F && !TARGET_PREFER_AVX256)) && 
   30816              : #line 557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30817              : (TARGET_AVX)))
   30818              :                     return gen_split_3465 (insn, operands);
   30819              :                   break;
   30820              : 
   30821              :                 case 4:
   30822              :                   if (
   30823              : #line 19001 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30824              : (16 == 64 || TARGET_AVX512VL
   30825              :    || (TARGET_AVX512F && !TARGET_PREFER_AVX256)))
   30826              :                     return gen_split_3466 (insn, operands);
   30827              :                   break;
   30828              : 
   30829              :                 case 5:
   30830              :                   if ((
   30831              : #line 19001 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30832              : (64 == 64 || TARGET_AVX512VL
   30833              :    || (TARGET_AVX512F && !TARGET_PREFER_AVX256)) && 
   30834              : #line 558 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30835              : (TARGET_AVX512BW)))
   30836              :                     return gen_split_3467 (insn, operands);
   30837              :                   break;
   30838              : 
   30839              :                 case 6:
   30840              :                   if ((
   30841              : #line 19001 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30842              : (32 == 64 || TARGET_AVX512VL
   30843              :    || (TARGET_AVX512F && !TARGET_PREFER_AVX256)) && 
   30844              : #line 558 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30845              : (TARGET_AVX)))
   30846              :                     return gen_split_3468 (insn, operands);
   30847              :                   break;
   30848              : 
   30849              :                 case 7:
   30850              :                   if (
   30851              : #line 19001 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30852              : (16 == 64 || TARGET_AVX512VL
   30853              :    || (TARGET_AVX512F && !TARGET_PREFER_AVX256)))
   30854              :                     return gen_split_3469 (insn, operands);
   30855              :                   break;
   30856              : 
   30857              :                 case 8:
   30858              :                   if ((
   30859              : #line 19001 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30860              : (32 == 64 || TARGET_AVX512VL
   30861              :    || (TARGET_AVX512F && !TARGET_PREFER_AVX256)) && 
   30862              : #line 559 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30863              : (TARGET_AVX)))
   30864              :                     return gen_split_3470 (insn, operands);
   30865              :                   break;
   30866              : 
   30867              :                 case 9:
   30868              :                   if (
   30869              : #line 19001 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30870              : (16 == 64 || TARGET_AVX512VL
   30871              :    || (TARGET_AVX512F && !TARGET_PREFER_AVX256)))
   30872              :                     return gen_split_3471 (insn, operands);
   30873              :                   break;
   30874              : 
   30875              :                 case 10:
   30876              :                   if ((
   30877              : #line 19001 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30878              : (32 == 64 || TARGET_AVX512VL
   30879              :    || (TARGET_AVX512F && !TARGET_PREFER_AVX256)) && 
   30880              : #line 560 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30881              : (TARGET_AVX)))
   30882              :                     return gen_split_3472 (insn, operands);
   30883              :                   break;
   30884              : 
   30885              :                 case 11:
   30886              :                   if (
   30887              : #line 19001 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30888              : (16 == 64 || TARGET_AVX512VL
   30889              :    || (TARGET_AVX512F && !TARGET_PREFER_AVX256)))
   30890              :                     return gen_split_3473 (insn, operands);
   30891              :                   break;
   30892              : 
   30893              :                 default:
   30894              :                   break;
   30895              :                 }
   30896              :             }
   30897              :           break;
   30898              : 
   30899              :         default:
   30900              :           break;
   30901              :         }
   30902              :       break;
   30903              : 
   30904              :     default:
   30905              :       break;
   30906              :     }
   30907              :   operands[1] = x2;
   30908              :   switch (pattern204 ())
   30909              :     {
   30910              :     case 0:
   30911              :       if (((
   30912              : #line 14072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30913              : ((64 == 64 || TARGET_AVX512VL
   30914              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30915              :    && ix86_pre_reload_split ()) && 
   30916              : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30917              : (TARGET_AVX512F)) && 
   30918              : #line 14076 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30919              : ( 1)))
   30920              :         return gen_split_1729 (insn, operands);
   30921              :       break;
   30922              : 
   30923              :     case 1:
   30924              :       if (((
   30925              : #line 14072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30926              : ((32 == 64 || TARGET_AVX512VL
   30927              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30928              :    && ix86_pre_reload_split ()) && 
   30929              : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30930              : (TARGET_AVX)) && 
   30931              : #line 14076 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30932              : ( 1)))
   30933              :         return gen_split_1730 (insn, operands);
   30934              :       break;
   30935              : 
   30936              :     case 2:
   30937              :       if ((
   30938              : #line 14072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30939              : ((16 == 64 || TARGET_AVX512VL
   30940              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30941              :    && ix86_pre_reload_split ()) && 
   30942              : #line 14076 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30943              : ( 1)))
   30944              :         return gen_split_1731 (insn, operands);
   30945              :       break;
   30946              : 
   30947              :     case 3:
   30948              :       if (((
   30949              : #line 14072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30950              : ((64 == 64 || TARGET_AVX512VL
   30951              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30952              :    && ix86_pre_reload_split ()) && 
   30953              : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30954              : (TARGET_AVX512F)) && 
   30955              : #line 14076 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30956              : ( 1)))
   30957              :         return gen_split_1732 (insn, operands);
   30958              :       break;
   30959              : 
   30960              :     case 4:
   30961              :       if (((
   30962              : #line 14072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30963              : ((32 == 64 || TARGET_AVX512VL
   30964              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30965              :    && ix86_pre_reload_split ()) && 
   30966              : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30967              : (TARGET_AVX)) && 
   30968              : #line 14076 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30969              : ( 1)))
   30970              :         return gen_split_1733 (insn, operands);
   30971              :       break;
   30972              : 
   30973              :     case 5:
   30974              :       if ((
   30975              : #line 14072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30976              : ((16 == 64 || TARGET_AVX512VL
   30977              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30978              :    && ix86_pre_reload_split ()) && 
   30979              : #line 14076 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30980              : ( 1)))
   30981              :         return gen_split_1734 (insn, operands);
   30982              :       break;
   30983              : 
   30984              :     case 6:
   30985              :       if (((
   30986              : #line 14072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30987              : ((64 == 64 || TARGET_AVX512VL
   30988              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30989              :    && ix86_pre_reload_split ()) && 
   30990              : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30991              : (TARGET_AVX512F)) && 
   30992              : #line 14076 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30993              : ( 1)))
   30994              :         return gen_split_1735 (insn, operands);
   30995              :       break;
   30996              : 
   30997              :     case 7:
   30998              :       if (((
   30999              : #line 14072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31000              : ((32 == 64 || TARGET_AVX512VL
   31001              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   31002              :    && ix86_pre_reload_split ()) && 
   31003              : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31004              : (TARGET_AVX)) && 
   31005              : #line 14076 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31006              : ( 1)))
   31007              :         return gen_split_1736 (insn, operands);
   31008              :       break;
   31009              : 
   31010              :     case 8:
   31011              :       if ((
   31012              : #line 14072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31013              : ((16 == 64 || TARGET_AVX512VL
   31014              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   31015              :    && ix86_pre_reload_split ()) && 
   31016              : #line 14076 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31017              : ( 1)))
   31018              :         return gen_split_1737 (insn, operands);
   31019              :       break;
   31020              : 
   31021              :     case 9:
   31022              :       if (((
   31023              : #line 14072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31024              : ((64 == 64 || TARGET_AVX512VL
   31025              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   31026              :    && ix86_pre_reload_split ()) && 
   31027              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31028              : (TARGET_AVX512F)) && 
   31029              : #line 14076 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31030              : ( 1)))
   31031              :         return gen_split_1738 (insn, operands);
   31032              :       break;
   31033              : 
   31034              :     case 10:
   31035              :       if (((
   31036              : #line 14072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31037              : ((32 == 64 || TARGET_AVX512VL
   31038              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   31039              :    && ix86_pre_reload_split ()) && 
   31040              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31041              : (TARGET_AVX)) && 
   31042              : #line 14076 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31043              : ( 1)))
   31044              :         return gen_split_1739 (insn, operands);
   31045              :       break;
   31046              : 
   31047              :     case 11:
   31048              :       if (((
   31049              : #line 14072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31050              : ((16 == 64 || TARGET_AVX512VL
   31051              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   31052              :    && ix86_pre_reload_split ()) && 
   31053              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31054              : (TARGET_SSE2)) && 
   31055              : #line 14076 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31056              : ( 1)))
   31057              :         return gen_split_1740 (insn, operands);
   31058              :       break;
   31059              : 
   31060              :     default:
   31061              :       break;
   31062              :     }
   31063              :   switch (GET_CODE (x2))
   31064              :     {
   31065              :     case AND:
   31066              :       return split_74 (x1, insn);
   31067              : 
   31068              :     case IOR:
   31069              :       return split_73 (x1, insn);
   31070              : 
   31071              :     case XOR:
   31072              :       return split_72 (x1, insn);
   31073              : 
   31074              :     default:
   31075              :       return NULL;
   31076              :     }
   31077              : }
   31078              : 
   31079              :  rtx_insn *
   31080              : peephole2_31 (rtx x1 ATTRIBUTE_UNUSED,
   31081              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   31082              :         int *pmatch_len_ ATTRIBUTE_UNUSED)
   31083              : {
   31084              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   31085              :   rtx x2, x3, x4, x5;
   31086              :   rtx_insn *res ATTRIBUTE_UNUSED;
   31087              :   if (peep2_current_count >= 2)
   31088              :     {
   31089              :       x2 = PATTERN (peep2_next_insn (1));
   31090              :       if (GET_CODE (x2) == SET)
   31091              :         {
   31092              :           x3 = XEXP (x2, 1);
   31093              :           if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + 0])
   31094              :             {
   31095              :               x4 = XEXP (x2, 0);
   31096              :               operands[2] = x4;
   31097              :               if (memory_operand (operands[2], E_SImode))
   31098              :                 {
   31099              :                   if (peep2_current_count >= 3)
   31100              :                     {
   31101              :                       x5 = PATTERN (peep2_next_insn (2));
   31102              :                       if (pattern1268 (x5, 
   31103              : E_SImode) == 0
   31104              :                           && 
   31105              : #line 27489 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31106              : (optimize_insn_for_size_p () && peep2_regno_dead_p (0, FLAGS_REG)))
   31107              :                         {
   31108              :                           *pmatch_len_ = 3;
   31109              :                           res = gen_peephole2_237 (insn, operands);
   31110              :                           if (res != NULL_RTX)
   31111              :                             return res;
   31112              :                         }
   31113              :                     }
   31114              :                   if (
   31115              : #line 27505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31116              : (optimize_insn_for_size_p () && peep2_regno_dead_p (0, FLAGS_REG)))
   31117              :                     {
   31118              :                       *pmatch_len_ = 1;
   31119              :                       res = gen_peephole2_239 (insn, operands);
   31120              :                       if (res != NULL_RTX)
   31121              :                         return res;
   31122              :                     }
   31123              :                 }
   31124              :             }
   31125              :         }
   31126              :     }
   31127              :   if (!
   31128              : #line 27518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31129              : (optimize_insn_for_size_p () && peep2_regno_dead_p (0, FLAGS_REG)))
   31130              :     return NULL;
   31131              :   *pmatch_len_ = 0;
   31132              :   return gen_peephole2_241 (insn, operands);
   31133              : }
   31134              : 
   31135              :  rtx_insn *
   31136              : peephole2_34 (rtx x1 ATTRIBUTE_UNUSED,
   31137              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   31138              :         int *pmatch_len_ ATTRIBUTE_UNUSED)
   31139              : {
   31140              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   31141              :   rtx x2, x3, x4, x5, x6, x7, x8;
   31142              :   rtx_insn *res ATTRIBUTE_UNUSED;
   31143              :   if (peep2_current_count >= 2)
   31144              :     {
   31145              :       res = peephole2_33 (x1, insn, pmatch_len_);
   31146              :       if (res != NULL_RTX)
   31147              :         return res;
   31148              :     }
   31149              :   x2 = XEXP (x1, 0);
   31150              :   operands[0] = x2;
   31151              :   x3 = XEXP (x1, 1);
   31152              :   operands[1] = x3;
   31153              :   if (const0_operand (operands[1], E_VOIDmode)
   31154              :       && general_reg_operand (operands[0], E_VOIDmode)
   31155              :       && 
   31156              : #line 29180 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31157              : (GET_MODE_SIZE (GET_MODE (operands[0])) <= UNITS_PER_WORD
   31158              :    && (! TARGET_USE_MOV0 || optimize_insn_for_size_p ())
   31159              :    && peep2_regno_dead_p (0, FLAGS_REG)))
   31160              :     {
   31161              :       *pmatch_len_ = 0;
   31162              :       res = gen_peephole2_364 (insn, operands);
   31163              :       if (res != NULL_RTX)
   31164              :         return res;
   31165              :     }
   31166              :   if (peep2_current_count < 2
   31167              :       || !memory_operand (operands[1], E_DFmode)
   31168              :       || !sse_reg_operand (operands[0], E_DFmode))
   31169              :     return NULL;
   31170              :   x4 = PATTERN (peep2_next_insn (1));
   31171              :   if (GET_CODE (x4) != SET)
   31172              :     return NULL;
   31173              :   x5 = XEXP (x4, 1);
   31174              :   if (GET_CODE (x5) != VEC_CONCAT
   31175              :       || GET_MODE (x5) != E_V2DFmode)
   31176              :     return NULL;
   31177              :   x6 = XEXP (x4, 0);
   31178              :   operands[2] = x6;
   31179              :   if (!sse_reg_operand (operands[2], E_V2DFmode))
   31180              :     return NULL;
   31181              :   x7 = XEXP (x5, 0);
   31182              :   operands[4] = x7;
   31183              :   if (!sse_reg_operand (operands[4], E_DFmode))
   31184              :     return NULL;
   31185              :   x8 = XEXP (x5, 1);
   31186              :   operands[3] = x8;
   31187              :   if (!memory_operand (operands[3], E_DFmode)
   31188              :       || !
   31189              : #line 1988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31190              : (TARGET_SSE2 && TARGET_SSE_UNALIGNED_LOAD_OPTIMAL
   31191              :    && REGNO (operands[4]) == REGNO (operands[2])
   31192              :    && ix86_operands_ok_for_move_multiple (operands, true, DFmode)))
   31193              :     return NULL;
   31194              :   *pmatch_len_ = 1;
   31195              :   return gen_peephole2_433 (insn, operands);
   31196              : }
   31197              : 
   31198              :  rtx_insn *
   31199              : peephole2_40 (rtx x1 ATTRIBUTE_UNUSED,
   31200              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   31201              :         int *pmatch_len_ ATTRIBUTE_UNUSED)
   31202              : {
   31203              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   31204              :   rtx x2, x3, x4, x5, x6, x7;
   31205              :   rtx_insn *res ATTRIBUTE_UNUSED;
   31206              :   x2 = XVECEXP (x1, 0, 0);
   31207              :   x3 = XEXP (x2, 0);
   31208              :   switch (GET_CODE (x3))
   31209              :     {
   31210              :     case REG:
   31211              :       if (peep2_current_count < 2)
   31212              :         return NULL;
   31213              :       operands[0] = x3;
   31214              :       switch (GET_MODE (operands[0]))
   31215              :         {
   31216              :         case E_SImode:
   31217              :           x4 = PATTERN (peep2_next_insn (1));
   31218              :           switch (pattern1363 (x4, 
   31219              : E_SImode))
   31220              :             {
   31221              :             case 0:
   31222              :               if (!
   31223              : #line 3656 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31224              : (REGNO (operands[0]) == REGNO (operands[1])))
   31225              :                 return NULL;
   31226              :               *pmatch_len_ = 1;
   31227              :               return gen_peephole2_29 (insn, operands);
   31228              : 
   31229              :             case 1:
   31230              :               if (!
   31231              : #line 3656 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31232              : (REGNO (operands[0]) == REGNO (operands[1])))
   31233              :                 return NULL;
   31234              :               *pmatch_len_ = 1;
   31235              :               return gen_peephole2_31 (insn, operands);
   31236              : 
   31237              :             case 2:
   31238              :               if (!(
   31239              : #line 3656 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31240              : (REGNO (operands[0]) == REGNO (operands[1])) && 
   31241              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31242              : (TARGET_64BIT)))
   31243              :                 return NULL;
   31244              :               *pmatch_len_ = 1;
   31245              :               return gen_peephole2_33 (insn, operands);
   31246              : 
   31247              :             case 3:
   31248              :               if (!
   31249              : #line 4948 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31250              : (REGNO (operands[0]) == REGNO (operands[1])
   31251              :    && (SImode != SImode
   31252              :        || !TARGET_ZERO_EXTEND_WITH_AND
   31253              :        || !optimize_function_for_speed_p (cfun))))
   31254              :                 return NULL;
   31255              :               *pmatch_len_ = 1;
   31256              :               return gen_peephole2_41 (insn, operands);
   31257              : 
   31258              :             case 4:
   31259              :               if (!
   31260              : #line 4948 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31261              : (REGNO (operands[0]) == REGNO (operands[1])
   31262              :    && (SImode != SImode
   31263              :        || !TARGET_ZERO_EXTEND_WITH_AND
   31264              :        || !optimize_function_for_speed_p (cfun))))
   31265              :                 return NULL;
   31266              :               *pmatch_len_ = 1;
   31267              :               return gen_peephole2_43 (insn, operands);
   31268              : 
   31269              :             case 5:
   31270              :               x5 = XVECEXP (x4, 0, 0);
   31271              :               x6 = XEXP (x5, 1);
   31272              :               x7 = XEXP (x6, 1);
   31273              :               operands[1] = x7;
   31274              :               if (x86_64_general_operand (operands[1], E_SImode)
   31275              :                   && 
   31276              : #line 14373 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31277              : (!reg_mentioned_p (operands[0], operands[1])))
   31278              :                 {
   31279              :                   *pmatch_len_ = 1;
   31280              :                   res = gen_peephole2_149 (insn, operands);
   31281              :                   if (res != NULL_RTX)
   31282              :                     return res;
   31283              :                 }
   31284              :               if (!rtx_equal_p (x7, operands[0]))
   31285              :                 return NULL;
   31286              :               *pmatch_len_ = 1;
   31287              :               return gen_peephole2_161 (insn, operands);
   31288              : 
   31289              :             case 6:
   31290              :               x5 = XVECEXP (x4, 0, 0);
   31291              :               x6 = XEXP (x5, 1);
   31292              :               x7 = XEXP (x6, 1);
   31293              :               operands[1] = x7;
   31294              :               if (x86_64_general_operand (operands[1], E_SImode)
   31295              :                   && 
   31296              : #line 14373 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31297              : (!reg_mentioned_p (operands[0], operands[1])))
   31298              :                 {
   31299              :                   *pmatch_len_ = 1;
   31300              :                   res = gen_peephole2_150 (insn, operands);
   31301              :                   if (res != NULL_RTX)
   31302              :                     return res;
   31303              :                 }
   31304              :               if (!rtx_equal_p (x7, operands[0]))
   31305              :                 return NULL;
   31306              :               *pmatch_len_ = 1;
   31307              :               return gen_peephole2_162 (insn, operands);
   31308              : 
   31309              :             case 7:
   31310              :               x5 = XVECEXP (x4, 0, 0);
   31311              :               x6 = XEXP (x5, 1);
   31312              :               x7 = XEXP (x6, 1);
   31313              :               operands[1] = x7;
   31314              :               if (x86_64_general_operand (operands[1], E_SImode)
   31315              :                   && 
   31316              : #line 14373 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31317              : (!reg_mentioned_p (operands[0], operands[1])))
   31318              :                 {
   31319              :                   *pmatch_len_ = 1;
   31320              :                   res = gen_peephole2_151 (insn, operands);
   31321              :                   if (res != NULL_RTX)
   31322              :                     return res;
   31323              :                 }
   31324              :               if (!rtx_equal_p (x7, operands[0]))
   31325              :                 return NULL;
   31326              :               *pmatch_len_ = 1;
   31327              :               return gen_peephole2_163 (insn, operands);
   31328              : 
   31329              :             case 8:
   31330              :               if (!
   31331              : #line 14667 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31332              : (REGNO (operands[0]) != REGNO (operands[1])))
   31333              :                 return NULL;
   31334              :               *pmatch_len_ = 3;
   31335              :               return gen_peephole2_169 (insn, operands);
   31336              : 
   31337              :             default:
   31338              :               return NULL;
   31339              :             }
   31340              : 
   31341              :         case E_DImode:
   31342              :           x4 = PATTERN (peep2_next_insn (1));
   31343              :           switch (pattern1363 (x4, 
   31344              : E_DImode))
   31345              :             {
   31346              :             case 0:
   31347              :               if (!(
   31348              : #line 3656 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31349              : (REGNO (operands[0]) == REGNO (operands[1])) && 
   31350              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31351              : (TARGET_64BIT)))
   31352              :                 return NULL;
   31353              :               *pmatch_len_ = 1;
   31354              :               return gen_peephole2_30 (insn, operands);
   31355              : 
   31356              :             case 1:
   31357              :               if (!(
   31358              : #line 3656 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31359              : (REGNO (operands[0]) == REGNO (operands[1])) && 
   31360              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31361              : (TARGET_64BIT)))
   31362              :                 return NULL;
   31363              :               *pmatch_len_ = 1;
   31364              :               return gen_peephole2_32 (insn, operands);
   31365              : 
   31366              :             case 2:
   31367              :               if (!(
   31368              : #line 3656 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31369              : (REGNO (operands[0]) == REGNO (operands[1])) && 
   31370              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31371              : (TARGET_64BIT)))
   31372              :                 return NULL;
   31373              :               *pmatch_len_ = 1;
   31374              :               return gen_peephole2_34 (insn, operands);
   31375              : 
   31376              :             case 3:
   31377              :               if (!(
   31378              : #line 4948 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31379              : (REGNO (operands[0]) == REGNO (operands[1])
   31380              :    && (DImode != SImode
   31381              :        || !TARGET_ZERO_EXTEND_WITH_AND
   31382              :        || !optimize_function_for_speed_p (cfun))) && 
   31383              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31384              : (TARGET_64BIT)))
   31385              :                 return NULL;
   31386              :               *pmatch_len_ = 1;
   31387              :               return gen_peephole2_42 (insn, operands);
   31388              : 
   31389              :             case 4:
   31390              :               if (!(
   31391              : #line 4948 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31392              : (REGNO (operands[0]) == REGNO (operands[1])
   31393              :    && (DImode != SImode
   31394              :        || !TARGET_ZERO_EXTEND_WITH_AND
   31395              :        || !optimize_function_for_speed_p (cfun))) && 
   31396              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31397              : (TARGET_64BIT)))
   31398              :                 return NULL;
   31399              :               *pmatch_len_ = 1;
   31400              :               return gen_peephole2_44 (insn, operands);
   31401              : 
   31402              :             case 5:
   31403              :               x5 = XVECEXP (x4, 0, 0);
   31404              :               x6 = XEXP (x5, 1);
   31405              :               x7 = XEXP (x6, 1);
   31406              :               operands[1] = x7;
   31407              :               if (x86_64_general_operand (operands[1], E_DImode)
   31408              :                   && (
   31409              : #line 14373 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31410              : (!reg_mentioned_p (operands[0], operands[1])) && 
   31411              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31412              : (TARGET_64BIT)))
   31413              :                 {
   31414              :                   *pmatch_len_ = 1;
   31415              :                   res = gen_peephole2_152 (insn, operands);
   31416              :                   if (res != NULL_RTX)
   31417              :                     return res;
   31418              :                 }
   31419              :               if (!rtx_equal_p (x7, operands[0])
   31420              :                   || !
   31421              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31422              : (TARGET_64BIT))
   31423              :                 return NULL;
   31424              :               *pmatch_len_ = 1;
   31425              :               return gen_peephole2_164 (insn, operands);
   31426              : 
   31427              :             case 6:
   31428              :               x5 = XVECEXP (x4, 0, 0);
   31429              :               x6 = XEXP (x5, 1);
   31430              :               x7 = XEXP (x6, 1);
   31431              :               operands[1] = x7;
   31432              :               if (x86_64_general_operand (operands[1], E_DImode)
   31433              :                   && (
   31434              : #line 14373 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31435              : (!reg_mentioned_p (operands[0], operands[1])) && 
   31436              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31437              : (TARGET_64BIT)))
   31438              :                 {
   31439              :                   *pmatch_len_ = 1;
   31440              :                   res = gen_peephole2_153 (insn, operands);
   31441              :                   if (res != NULL_RTX)
   31442              :                     return res;
   31443              :                 }
   31444              :               if (!rtx_equal_p (x7, operands[0])
   31445              :                   || !
   31446              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31447              : (TARGET_64BIT))
   31448              :                 return NULL;
   31449              :               *pmatch_len_ = 1;
   31450              :               return gen_peephole2_165 (insn, operands);
   31451              : 
   31452              :             case 7:
   31453              :               x5 = XVECEXP (x4, 0, 0);
   31454              :               x6 = XEXP (x5, 1);
   31455              :               x7 = XEXP (x6, 1);
   31456              :               operands[1] = x7;
   31457              :               if (x86_64_general_operand (operands[1], E_DImode)
   31458              :                   && (
   31459              : #line 14373 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31460              : (!reg_mentioned_p (operands[0], operands[1])) && 
   31461              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31462              : (TARGET_64BIT)))
   31463              :                 {
   31464              :                   *pmatch_len_ = 1;
   31465              :                   res = gen_peephole2_154 (insn, operands);
   31466              :                   if (res != NULL_RTX)
   31467              :                     return res;
   31468              :                 }
   31469              :               if (!rtx_equal_p (x7, operands[0])
   31470              :                   || !
   31471              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31472              : (TARGET_64BIT))
   31473              :                 return NULL;
   31474              :               *pmatch_len_ = 1;
   31475              :               return gen_peephole2_166 (insn, operands);
   31476              : 
   31477              :             case 8:
   31478              :               if (!(
   31479              : #line 14667 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31480              : (REGNO (operands[0]) != REGNO (operands[1])) && 
   31481              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31482              : (TARGET_64BIT)))
   31483              :                 return NULL;
   31484              :               *pmatch_len_ = 3;
   31485              :               return gen_peephole2_170 (insn, operands);
   31486              : 
   31487              :             default:
   31488              :               return NULL;
   31489              :             }
   31490              : 
   31491              :         case E_QImode:
   31492              :           x4 = PATTERN (peep2_next_insn (1));
   31493              :           switch (pattern1364 (x4, 
   31494              : E_QImode))
   31495              :             {
   31496              :             case 0:
   31497              :               x5 = XVECEXP (x4, 0, 0);
   31498              :               x6 = XEXP (x5, 1);
   31499              :               x7 = XEXP (x6, 1);
   31500              :               operands[1] = x7;
   31501              :               if (general_operand (operands[1], E_QImode)
   31502              :                   && 
   31503              : #line 14373 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31504              : (!reg_mentioned_p (operands[0], operands[1])))
   31505              :                 {
   31506              :                   *pmatch_len_ = 1;
   31507              :                   res = gen_peephole2_143 (insn, operands);
   31508              :                   if (res != NULL_RTX)
   31509              :                     return res;
   31510              :                 }
   31511              :               if (!rtx_equal_p (x7, operands[0]))
   31512              :                 return NULL;
   31513              :               *pmatch_len_ = 1;
   31514              :               return gen_peephole2_155 (insn, operands);
   31515              : 
   31516              :             case 1:
   31517              :               x5 = XVECEXP (x4, 0, 0);
   31518              :               x6 = XEXP (x5, 1);
   31519              :               x7 = XEXP (x6, 1);
   31520              :               operands[1] = x7;
   31521              :               if (general_operand (operands[1], E_QImode)
   31522              :                   && 
   31523              : #line 14373 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31524              : (!reg_mentioned_p (operands[0], operands[1])))
   31525              :                 {
   31526              :                   *pmatch_len_ = 1;
   31527              :                   res = gen_peephole2_144 (insn, operands);
   31528              :                   if (res != NULL_RTX)
   31529              :                     return res;
   31530              :                 }
   31531              :               if (!rtx_equal_p (x7, operands[0]))
   31532              :                 return NULL;
   31533              :               *pmatch_len_ = 1;
   31534              :               return gen_peephole2_156 (insn, operands);
   31535              : 
   31536              :             case 2:
   31537              :               x5 = XVECEXP (x4, 0, 0);
   31538              :               x6 = XEXP (x5, 1);
   31539              :               x7 = XEXP (x6, 1);
   31540              :               operands[1] = x7;
   31541              :               if (general_operand (operands[1], E_QImode)
   31542              :                   && 
   31543              : #line 14373 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31544              : (!reg_mentioned_p (operands[0], operands[1])))
   31545              :                 {
   31546              :                   *pmatch_len_ = 1;
   31547              :                   res = gen_peephole2_145 (insn, operands);
   31548              :                   if (res != NULL_RTX)
   31549              :                     return res;
   31550              :                 }
   31551              :               if (!rtx_equal_p (x7, operands[0]))
   31552              :                 return NULL;
   31553              :               *pmatch_len_ = 1;
   31554              :               return gen_peephole2_157 (insn, operands);
   31555              : 
   31556              :             default:
   31557              :               return NULL;
   31558              :             }
   31559              : 
   31560              :         case E_HImode:
   31561              :           x4 = PATTERN (peep2_next_insn (1));
   31562              :           switch (pattern1364 (x4, 
   31563              : E_HImode))
   31564              :             {
   31565              :             case 0:
   31566              :               x5 = XVECEXP (x4, 0, 0);
   31567              :               x6 = XEXP (x5, 1);
   31568              :               x7 = XEXP (x6, 1);
   31569              :               operands[1] = x7;
   31570              :               if (general_operand (operands[1], E_HImode)
   31571              :                   && 
   31572              : #line 14373 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31573              : (!reg_mentioned_p (operands[0], operands[1])))
   31574              :                 {
   31575              :                   *pmatch_len_ = 1;
   31576              :                   res = gen_peephole2_146 (insn, operands);
   31577              :                   if (res != NULL_RTX)
   31578              :                     return res;
   31579              :                 }
   31580              :               if (!rtx_equal_p (x7, operands[0]))
   31581              :                 return NULL;
   31582              :               *pmatch_len_ = 1;
   31583              :               return gen_peephole2_158 (insn, operands);
   31584              : 
   31585              :             case 1:
   31586              :               x5 = XVECEXP (x4, 0, 0);
   31587              :               x6 = XEXP (x5, 1);
   31588              :               x7 = XEXP (x6, 1);
   31589              :               operands[1] = x7;
   31590              :               if (general_operand (operands[1], E_HImode)
   31591              :                   && 
   31592              : #line 14373 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31593              : (!reg_mentioned_p (operands[0], operands[1])))
   31594              :                 {
   31595              :                   *pmatch_len_ = 1;
   31596              :                   res = gen_peephole2_147 (insn, operands);
   31597              :                   if (res != NULL_RTX)
   31598              :                     return res;
   31599              :                 }
   31600              :               if (!rtx_equal_p (x7, operands[0]))
   31601              :                 return NULL;
   31602              :               *pmatch_len_ = 1;
   31603              :               return gen_peephole2_159 (insn, operands);
   31604              : 
   31605              :             case 2:
   31606              :               x5 = XVECEXP (x4, 0, 0);
   31607              :               x6 = XEXP (x5, 1);
   31608              :               x7 = XEXP (x6, 1);
   31609              :               operands[1] = x7;
   31610              :               if (general_operand (operands[1], E_HImode)
   31611              :                   && 
   31612              : #line 14373 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31613              : (!reg_mentioned_p (operands[0], operands[1])))
   31614              :                 {
   31615              :                   *pmatch_len_ = 1;
   31616              :                   res = gen_peephole2_148 (insn, operands);
   31617              :                   if (res != NULL_RTX)
   31618              :                     return res;
   31619              :                 }
   31620              :               if (!rtx_equal_p (x7, operands[0]))
   31621              :                 return NULL;
   31622              :               *pmatch_len_ = 1;
   31623              :               return gen_peephole2_160 (insn, operands);
   31624              : 
   31625              :             default:
   31626              :               return NULL;
   31627              :             }
   31628              : 
   31629              :         default:
   31630              :           return NULL;
   31631              :         }
   31632              : 
   31633              :     case ZERO_EXTRACT:
   31634              :       if (pattern1076 (x3) != 0
   31635              :           || !
   31636              : #line 19441 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31637              : (TARGET_64BIT && !TARGET_USE_BT))
   31638              :         return NULL;
   31639              :       *pmatch_len_ = 0;
   31640              :       return gen_peephole2_186 (insn, operands);
   31641              : 
   31642              :     default:
   31643              :       return NULL;
   31644              :     }
   31645              : }
        

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.